Aller au contenu principal

Systèmes de fichiers et stockage

Google IT SupportSystèmes d'exploitation

Systèmes de fichiers et stockage

Définition

Un système de fichiers organise le stockage persistant : nommage, structure arborescente, métadonnées (permissions, dates, propriétaires), allocation d'espace, intégrité. Le choix impacte performance, fiabilité, compatibilité et fonctionnalités.

Linux : systèmes de fichiers natifs

ext4 (standard actuel)

  • Journalisé (métadonnées, optionnel données)
  • Étendus (extents) : blocs contigus → moins fragmentation, gros fichiers
  • Taille max : 1 EiB (fs), 16 TiB (fichier) — selon taille bloc
  • mkfs.ext4 /dev/sdX, tune2fs -l /dev/sdX (infos), e2fsck (réparation)
  • Défaut la plupart distributions

XFS (haute performance, gros volumes)

  • Journalisé, allocation différée, B+ trees
  • Parallélisme E/S excellent, agrandissement à chaud (xfs_growfs)
  • Pas de réduction (shrink) possible
  • Taille max : 8 EiB
  • Défaut RHEL/CentOS 7+, adapté bases de données, médias

Btrfs (fonctionnalités avancées)

  • Copy-on-Write (CoW), snapshots, compression (zstd/lzo), déduplication
  • RAID natif (0,1,10,5,6), sous-volumes, quotas, auto-guérison (checksums)
  • btrfs subvolume create, btrfs snapshot, btrfs balance
  • Attention : RAID 5/6 encore expérimental, fragmentation CoW

ZFS (enterprise, intégrité maximale)

  • Pools (zpool) : disques, miroirs, RAID-Z (1/2/3 = 1/2/3 parités)
  • CoW, checksums bout-en-bout, snapshots instantanés, clones, compression, déduplication
  • ARC (cache RAM adaptatif), L2ARC (SSD), SLOG (ZIL sur SSD)
  • zfs create, zfs snapshot, zfs send/receive (réplication)
  • Licence CDDL → pas dans noyau Linux (module DKMS / ZFS on Linux)

Autres

  • FAT32/exFAT : compatibilité universelle (clés USB, cartes SD), pas permissions, limite fichier 4 Go (FAT32)
  • NTFS : Windows natif, Linux via ntfs-3g (FUSE) ou ntfs3 (noyau 5.15+)
  • Swap : partition/fichier dédié, mkswap, swapon, priorité multiple

Windows : NTFS, ReFS, FAT/exFAT

NTFS (New Technology File System)

  • Journalisé (MFT $LogFile), ACL fines, compression, chiffrement EFS, quotas, liens durs/réparse points
  • Taille max : 256 To (Windows 10/11, Server 2016+), 16 To (anciens)
  • chkdsk /f /r, fsutil fsinfo ntfsinfo C:
  • Attributs : lecture seule, caché, système, archive, compressé, chiffré, non indexé, sparse, réparse

ReFS (Resilient File System)

  • Intégrité checksums, auto-réparation (si miroir Stockage Spaces), pas de chkdsk nécessaire
  • Block cloning (copie instantanée VHDX), Tiering (SSD+HDD), accélération VDI
  • Pas : compression, chiffrement EFS, quotas, liens durs, noms courts 8.3
  • Windows Server, Workstation Pro/Enterprise (formater via PowerShell Format-Volume -FileSystem ReFS)

FAT32 / exFAT

  • FAT32 : 4 Go max fichier, 2 To max volume, universel (caméras, consoles, BIOS)
  • exFAT : pas limite 4 Go, >2 To, licences Microsoft, support macOS/Windows/Linux (noyau 5.4+)

Stockage bloc vs fichier vs objet

Type Accès Cas d'usage Exemples
Bloc Bas niveau (blocs 512o/4Ko) Disques VM, bases de données, boot iSCSI, Fibre Channel, NVMe-oF, disque local
Fichier Chemin hiérarchique (NFS, SMB) Partages utilisateurs, home dirs, médias NFSv4, SMB3, Azure Files, AWS EFS
Objet API REST (PUT/GET), métadonnées riches Sauvegarde, archive, distribution contenu, cloud natif S3, Swift, Azure Blob, GCS, MinIO

RAID (Redundant Array of Independent Disks)

Niveau Description Redondance Capacité utile Performance Cas d'usage
RAID 0 Striping Aucune N × disque +++ Lecture/Écriture Temporaire, cache, non critique
RAID 1 Miroir 1 disque 1 disque + Lecture, = Écriture OS, critique, 2 disques
RAID 5 Parité distribuée 1 disque (N-1) × disque ++ Lecture, + Écriture Généraliste, 3+ disques
RAID 6 Double parité 2 disques (N-2) × disque ++ Lecture, + Écriture Archive, gros volumes, 4+ disques
RAID 10 Miroirs stripés 1 par miroir N/2 × disque +++ Lecture/Écriture Bases de données, haute dispo
RAID-Z1/2/3 ZFS équivalent RAID 5/6 1/2/3 Variable Optimisé ZFS ZFS pools
  • Matériel : carte RAID (BBU/FBWC), transparent OS
  • Logiciel : mdadm (Linux), Stockage Spaces (Windows), ZFS/Btrfs natifs
  • Faux RAID (BIOS/UEFI) : évité en production

LVM (Logical Volume Manager) — Linux

  • Couche abstraction : PV (Physical Volume) → VG (Volume Group) → LV (Logical Volume)
  • Redimensionnement à chaud (extend), snapshots, migration (pvmove), stripes, mirrors
  • pvcreate, vgcreate, lvcreate -L 20G -n data vg0, lvextend -L +10G /dev/vg0/data, resize2fs
  • Thin provisioning : lvcreate -V 100G -T vg0/pool -n thinvol

Stockage Spaces (Windows) / Storage Spaces Direct (S2D)

  • Pool de disques physiques → Espaces de stockage (Simple, Miroir, Parité, Double parité)
  • Thin provisioning, tiers (SSD+HDD), résilience, régénération auto
  • S2D : cluster hyper-convergé, CSV (Cluster Shared Volumes), RDMA, NVMe
  • New-StoragePool, New-VirtualDisk, Get-StorageJob

Surveillance et maintenance

  • SMART : smartctl -a /dev/sdX (Linux), CrystalDiskInfo (Windows) — santé disque
  • Espace disque : df -h, du -sh *, ncdu (Linux) ; Get-Volume, Get-PSDrive (PowerShell)
  • I/O : iostat -xz 1, iotop (Linux) ; Resource Monitor, Get-Counter "\LogicalDisk(*)\% Disk Time" (Windows)
  • Intégrité FS : fsck / e2fsck / xfs_repair / btrfs check / zfs scrub (Linux) ; chkdsk, ReFS auto-réparation (Windows)