15 janvier 2013

Les systèmes de fichiers Linux : ext3, ReiserFS, XFS, NFS …

Un système de fichiers est une structure de données permettant de stocker les informations et de les organiser dans des fichiers sur
des supports tels que les disques dur, les clé USB, les DVD … (mémoires secondaires). Le système de fichiers offre une vue des données utilisables par l’utilisateur et les applications sous la forme d’une arborescence. En comparaison, un autre système d’organisation des données sont les bases de données …

ext2 et ext3

Avant d’entrer dans le vif du sujet, il est important de différencier les systèmes de fichiers journalisés des autres systèmes de fichiers. Un bon exemple est le FS ext2. Ext2 est le format historique de GNU/Linux, il permet une fragmentation moindre en comparaison d’autre systèmes de fichiers de l’époque comme FAT. Le principal inconvénient d’ext2 est qu’il est assez intolérent aux pannes contrairement au format ext3. En effet, en cas de panne brutale, il est possible que le FS ext2 soit bloqué dans un état d’incohérence. Ext3, digne successeur du format ext2 écrit dans un fichiers les modifications programmées avant de les executer. Ainsi en cas de panne, il suffit d’executer les commandes contenu dans le journal pour ramener le FS dans un état cohérent. Ext2 et ext3 utilisent les même commandes et un FS ext3 peut être utilisé depuis un FS ext2.

Les commandes de gestion des systèmes de fichiers ext2 et ext3

commandes description
mke2fs Crée un système de fichiers ext2 ou ext3.
e2fsck Vérifie ou répare un système de fichiers ext2 ou ext3.
dumpe2fs Affiche des informatins sur un système de fichiers ext2 ou ext3.
ext2online Agrandit à chaud un système de fichiers (FS) ext2 ou ext3.
resize2fs Redimmensionne un FS ext2 ou ext3 à froid (non monté)
e2label Affiche ou modifie le label d’un FS ext2 ou ext3.
dump Sauvegarde un système de fichiers ext2 ou ext3.
restore Restaure un système de fichiers ext2 ouext3.
tune2fs Modifie les paramètres d’un FS ext2 ou ext3.
debugfs Dépanne un FS ext2 ou ext3.

options de création d’un système de fichiers ext2 ou ext3

option description
-b taille spécifie la taille du bloc (1024, 2048 ou 4096 octets).
-j crée un FS journalisé : ext3.
-F force la création du FS.
-q (quiet) travaille en silence.
-m pourcent réserve % de place pour root (5% par défaut).
-n mode simulation.
-O journal_externe /dev crée un journal externe sur /dev


options de montage ext2 et ext3 avec la commande mke2fs

option description
acl le support des ACL (Access Control List) est activé.
errors=la_strategie défini la stratègie en cas d’erreur du FS : continue, remount-ro, panic; respectivement continue, remonte le FS en lecture seule ou arrête le système.
noload on ne charge pas le journal (uniquement pour ext3).
data=la_strategie la startègie de gestion de journal : ordered (par défaut), writeback, journal.

Quelques explications sur la stratègie de journal

  • ordered : les donnée sont écrites sur disque avant que les données structurelles soient écrites dans le journal.
  • writeback : Les données structurelles sont écrites dans le journal dont certaines peuvent être écrites après.
  • journal : Les données structurelles et les données sont écrites dans le journal.

Vérification et réparation des systèmes de fichiers ext2 et ext3 avec e2fsck

option description
-y mode réparation automatique.
-n mode vérification automatique.
-f mode de vérification approfondie (pas seulement le journal).
-j le_journal indique le chemin d’un journal externe.
-D numero Optimise les répertoires.

Paramétrage du système de fichiers avec tune2fs

option description
-c nombre indique le nombre montage avant un fsck
-C nombre change le nombre de montage comptabilisé.

ReiserFS

Bien qu’ayant des avantages par rapport à Ext3, en particulier pour le traitement de répertoires contenant des milliers de fichiers de petite taille, il est, pour l’instant, moins utilisé que ce dernier. Cela vient en partie du fait qu’il est impossible de convertir une partition Ext2 en ReiserFS sans la formater, ainsi que l’impossibilité d’utiliser le logiciel de sauvegarde dump qui est massivement utilisé en entreprise.
ReiserFS est beaucoup plus efficace qu’Ext2/Ext3 pour ce qui concerne le stockage des petits fichiers (moins de quelques ko). Il est en revanche un tout petit peu plus lent dans les autres cas. ReiserFS permet l’agrandissement à chaud et la diminution à froid de la taille des partitions (avec LVM).
commandes description
mkreiserfs crée un système de fichiers (FS) ReiserFS.
reiserfstune visualise ou change les caractèristiques d’un FS ReiserFS.
debugreiserfs Répare certains bug, sinon, affiche le Superbloc.
resize_reiserfs Redimensionne un FS ReiserFS à chaud ou à froid (monté ou non).
reiserfsck Vérifie ou répare un FS ReiserFS.

XFS

XFS est un système de fichiers 64-bit journalisé de haute performance créé par SGI pour son système d’exploitation IRIX. SGI (Silicon Graphics, Inc.) est une société américaine qui construit des stations de travail dédiées aux domaines de l’infographie, de la 3D du traitement vidéo et du calcul Haute performance HPC. Le système de fichiers XFS est le premier a avoir supporté les ACL (Access Control List), c’est une des raisons pour lesquelle il est souvent associé à des serveurs Samba. Les FS XFS peuvent être agrandit à chaud.
commandes description
mkfs.xfs crée un système de fichiers XFS.
xfs_check Vérifie un système de fichiers XFS.
xfs_growfs Agrandit un système de fichiers XFS monté.
xfs_info Affiche les informations d’un système de fichiers XFS.
xfs_repair Répare un système de fichiers XFS.
xfs_dump Sauvegarde un système de fichiers XFS.
xfs_restore Restaure un système de fichiers XFS.

NFS

Historique de NFS

NFS est un service de mise à disposition de système de fichiers. C’est un protocole de partage de fichiers entre ordinateurs distants.
Les version 1 et 2 sont non sécurisée et fonctionnait avec UPD. La version 3 de NFS utilise TCP, le fonctionnement du protocole est ainsi plus sûr (car les transactions sont synchrone contrairement à UDP). Cependant, NFS v3 reste un protocole sans états et ne permet pas la reprise des activités en cas d’incident. NFS a été complétement repensé dans sa version 4. Parmis les améliorations de NFS v4, on compte
  • le chiffrement des données avec notemment le support de kerberos 5 et des certificats LPKM et LIBKEY.
  • la reprise d’activité en cas de panne
  • la migration simplifiée
  • la réplication simplifiée
  • une meilleure gestion de la montée en charge avec une réduction du trafic par groupement de requêtes et la gestion locale des fichiers clients

Fonctionnement

L’accès aux données du serveur passe par un montage de FS côté client. Un serveur NFS supporte obligatoirement le service NFS et MOUNTD, basés sur le protocole RPC. Ce protocole utilise le service RPC-TCP/IP PORTMAT pour faire corerspondre un numéro de programme RPC à un numéro de port TCP ou UDP. L’authentification des clients est basée sur les UID et GID. Les clients et les serveurs doivent partager les même comptes. A cet effet on pourra utiliser les service NIS ou LDAP.

Quelques commandes

commandes description
rpcinfo Affiche les services RPC offerts par un serveur.
showmount Affiche les clients NFS d’un serveur ou ses ressources partagées.
exportfs exporte une arborescence de fichiers. L’option -a lit le fichier exports.
portmap Démon qui traduit un programme RPC en n° de port TCP ou UDP.
mountd Démon qui donne au client une référence sur la ressource montée.
nfsd démon qui transfère les données.
nfs Le RC qui gère le service NFS (active portmap, mount, nfsd et exportfs).

les fichiers

  • /etc/rpc : le fichier des services RPC.
  • /etc/exports : les ressources exportées.
exemple de fichier d’exports
1
2
/export/photos      nfsserver(rw)
/usr/share/documents      *(ro)
Ici, chaque ligne correspond repectivement : une arborescence de FS exportée par le serveur, le(s) client(s) authorisé(s), le mode d’accès (ro : read only, rw : read/write).
Ci dessous, on associe le répertoire /export/photos du serveur NFS nfsserver au répertoire local /mnt.

Aucun commentaire :

Enregistrer un commentaire