Chapitre 3.8 - Types de Systèmes de Fichiers
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Comprendre les différents types de systèmes de fichiers
- Identifier les systèmes de fichiers courants
- Choisir le bon système de fichiers selon le cas
- Comprendre les systèmes de fichiers spéciaux
Qu'est-ce qu'un Système de Fichiers?
Un système de fichiers (File System) définit comment les données sont organisées et stockées sur un disque. Linux supporte de nombreux types de systèmes de fichiers.
Systèmes de Fichiers Locaux
ext4 (Fourth Extended)
Le plus courant sur Linux:
Caractéristiques:
- Journalisé: Résistant aux pannes
- Taille max: 1EB (exabyte)
- Fichier max: 16TB
- Stable et mature
Usage:
- Système de fichiers par défaut
- Disques locaux
- Serveurs généralistes
Commandes:
# Créer
mkfs.ext4 /dev/sda1
# Vérifier
fsck.ext4 /dev/sda1
# Voir les infos
tune2fs -l /dev/sda1
xfs
Performant pour gros fichiers:
Caractéristiques:
- Très performant pour gros fichiers
- Taille max: 8EB
- Fichier max: 8EB
- Allocation dynamique
Usage:
- Bases de données
- Fichiers volumineux
- Serveurs haute performance
Commandes:
# Créer
mkfs.xfs /dev/sda1
# Vérifier
xfs_repair /dev/sda1
# Voir les infos
xfs_info /dev/sda1
btrfs (B-Tree File System)
Fonctionnalités avancées:
Caractéristiques:
- Snapshots: Instantanés
- Compression: Transparente
- Copy-on-Write: Efficace
- RAID intégré
Usage:
- Systèmes nécessitant snapshots
- Sauvegardes
- Environnements de développement
Commandes:
# Créer
mkfs.btrfs /dev/sda1
# Créer un snapshot
btrfs subvolume snapshot /mnt/data /mnt/data/snapshot1
# Compression
mount -o compress=zlib /dev/sda1 /mnt
Comparaison
| FS | Taille Max | Fichier Max | Journal | Usage |
|---|---|---|---|---|
| ext4 | 1EB | 16TB | Oui | Général |
| xfs | 8EB | 8EB | Oui | Gros fichiers |
| btrfs | 16EB | 16EB | Oui | Avancé |
Systèmes de Fichiers Réseau
NFS (Network File System)
Partage de fichiers sur réseau:
# Serveur: Exporter
# /etc/exports
/home/user1 192.168.1.0/24(rw,sync)
# Client: Monter
mount -t nfs server:/home/user1 /mnt/nfs
Usage:
- Partage de fichiers entre systèmes Unix/Linux
- Serveurs de fichiers centralisés
CIFS/SMB
Compatible Windows:
# Monter un partage Windows
mount -t cifs //server/share /mnt/smb -o username=user
Usage:
- Partage inter-plateformes
- Compatibilité Windows
Systèmes de Fichiers Spéciaux
tmpfs
En mémoire (RAM):
# Monter tmpfs
mount -t tmpfs -o size=1G tmpfs /mnt/tmpfs
# Utilisé pour:
# - /tmp (souvent)
# - /dev/shm (mémoire partagée)
Caractéristiques:
- Très rapide (RAM)
- Temporaire (perdu au redémarrage)
- Taille limitée par RAM
procfs
Interface vers le kernel:
# Monté automatiquement sur /proc
# Contient:
# - /proc/cpuinfo: Info CPU
# - /proc/meminfo: Info mémoire
# - /proc/pid/: Détails processus
Caractéristiques:
- Système de fichiers virtuel
- Données en temps réel
- Lecture seule (généralement)
sysfs
Informations système:
# Monté automatiquement sur /sys
# Contient:
# - /sys/class/: Classes de périphériques
# - /sys/devices/: Périphériques
Caractéristiques:
- Interface matériel
- Configuration matériel
- Virtuel
Commandes de Gestion
Voir les Systèmes de Fichiers Montés
# Liste simple
mount
# Format lisible
df -h
# Types de systèmes de fichiers
mount | grep -E '^/dev' | awk '{print $5}' | sort -u
Monter/Démonter
# Monter
mount /dev/sda1 /mnt
mount -t ext4 /dev/sda1 /mnt
# Monter avec options
mount -o rw,noexec /dev/sda1 /mnt
# Démonter
umount /mnt
umount /dev/sda1
# Forcer le démontage (si occupé)
umount -f /mnt
umount -l /mnt # Lazy unmount
Configuration Permanente (/etc/fstab)
# Format: device mountpoint fstype options dump pass
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 /home ext4 defaults 0 2
/dev/sda3 /var xfs defaults 0 2
server:/export /mnt/nfs nfs defaults 0 0
Options courantes:
defaults: rw, suid, dev, exec, auto, nouser, asyncnoexec: Pas d'exécutionnosuid: Ignore SUIDro: Lecture seulenoatime: Pas de mise à jour atime
Vérification et Réparation
fsck
Vérifier et réparer:
# Vérifier (sans réparation)
fsck /dev/sda1
# Réparer automatiquement
fsck -a /dev/sda1
# Forcer la vérification
fsck -f /dev/sda1
# Spécifique à ext4
fsck.ext4 /dev/sda1
Important:
- Démonter avant fsck (si possible)
- Mode single-user pour système racine
Résumé
Dans ce chapitre, vous avez appris:
Types locaux: ext4 (standard), xfs (gros fichiers), btrfs (avancé)
Types réseau: NFS (Unix), CIFS/SMB (Windows)
Types spéciaux: tmpfs (RAM), procfs (kernel), sysfs (système)
Gestion: mount, umount, /etc/fstab pour montage permanent
Vérification: fsck pour réparer les systèmes de fichiers
Prochaines Étapes
Lab 3.4: Pratique Complète
Module 4: Gestion des Processus
Chapitre créé le: Décembre 2024