Dernière mise-à-jour : 2020/01/30 03:27

Gestion des Disques, des Systèmes de Fichiers et du Swap

Périphériques de stockage

Les unités de stockage sous Linux sont référencées par un des fichiers se trouvant dans le répertoire /dev :

  • hd[a-d]
    • Les disques IDE et les lecteurs ATAPI
  • sd[a-z]
    • Les disques SCSI et SATA
  • mmcblk[0-7]
    • Les cartes SD/MMC
  • scd[0-7]
    • Les CDRoms SCSI
  • xd[a-d]
    • Les premiers disques sur IBM XT
  • fd[0-7]
    • Les lecteurs de disquettes
  • st[0-7]
    • Les lecteurs de bandes SCSI/SATA qui supportent le rembobinage
  • nst[0-7]
    • Les lecteurs de bandes SCSI/SATA qui ne supportent pas le rembobinage
  • ht[0-7]
    • Les lecteurs de bandes PATA qui supportent le rembobinage
  • nht[0-7]
    • Les lecteurs de bandes PATA qui ne supportent pas le rembobinage
  • rmt8, rmt16, tape-d, tape-reset
    • Les lecteurs QIC-80
  • ram[0-15]
    • Les disques virtuels. Ils sont supprimés à l'extinction de la machine. Un de ces disques est utilisé par le système pour monter l'image d'un disque racine défini par le fichier initrd au démarrage de la machine
  • Périphériques loop
    • Il existe 16 unités loop qui sont utilisés pour accèder en mode bloc à un système de fichiers contenu dans un fichier, par exemple, une image iso
  • md[x]
    • Un volume RAID logiciel
  • vg[x]
    • Un groupe de volumes
  • lv[x]
    • Un volume logique

Partitions

Un PC comportent en règle générale 2 contrôleurs de disque, chacun capable de gérer 2 disques, un maître et un esclave. Les disques attachés à ces contrôleurs comportent des noms différents pour pouvoir les distinguer :

  • Contrôleur 0
    • Maître
      • hda - disque IDE
      • sda - disque SATA ou SCSI
    • Esclave
      • hdb - disque IDE
      • sdb - disque SATA ou SCSI
  • Contrôleur 1
    • Maître
      • hdc - disque IDE
      • sdc - disque SATA ou SCSI
    • Esclave
      • hdd - disque IDE
      • sdd - disque SATA ou SCSI

Un disque peut comporter trois types de partitions :

  • Partitions primaires,
    • Maximum de 4. En effet, la Table des Partitions est grande de 64 octets. Il faut 16 octets pour codés une partition.
  • Partitions Etendues,
    • Généralement une seule partition étendue par disque. Elle contient des Lecteurs Logiques aussi appelés des partitions,
  • Lecteurs Logiqiques.

Les 4 partitions primaires sont numérotées de 1 à 4. Par exemple :

  • hda1, hda2, hda3 et hda4 pour le premier disque IDE sur le premier contrôleur de disque,
  • sda1, sda2, sda3 et sda4 pour le premier disque SCSI ou SATA sur le premier contrôleur de disque.

;#;;#;

Une partition étendue prend la place d'une partition primaire et les lecteurs logiques qui s'y trouvent commencent à partir de hda5 ou de sda5.

Pour clarifier ceci, considérons un disque SATA contenant deux partitions primaires, une seule partition étendue et 3 lecteurs logiques. Dans ce cas, les deux premières partitions sont sda1 et sda2, la partition étendue prend la place de la troisième partition primaire, la sda3 et s'appelle ainsi tandis que la quatrième partition primaire est inexistante.

Les lecteurs logiques commençant à sda5, nous obtenons la liste de partitions suivante : sda1, sda2, sda5, sda6, sda7. Notez que la sda3 ne peut pas être utilisée en tant que partition car elle est cachée par les lecteurs sda5, sda6 et sda7.

;#;;#;

Le nombre de partitions sur un disque est limité :

  • IDE,
    • Jusqu'à 63,
  • SCSI,
    • Jusqu'à 15,
  • Disques utilisant l'API libata,
    • Jusqu'à 15.

Ces limites peuvent être dépassées en utilisant la gestion LVM ( Logical Volume Management ). Ce sujet est abordé dans la leçon Gestion des Disques - RAID et LVM.

Partitionnement

Pour procéder au partitionnement de votre disque ou de vos disques, Linux possède un outil dénommé fdisk.

Lancez fdisk en fournissant en argument le fichier de référence de votre premier disque dur, par exemple :

root@ubuntu:~# fdisk /dev/sda

Commande (m pour l'aide) :

Tapez ensuite la lettre m puis ↵ Entrée pour obtenir le menu :

Commande (m pour l'aide) : m
Commande d'action
   a   bascule le drapeau d'amorce
   b   éditer l'étiquette BSD du disque
   c   basculer le drapeau de compatibilité DOS
   d   supprimer la partition
   l   lister les types de partitions connues
   m   afficher ce menu
   n   ajouter une nouvelle partition
   o   créer une nouvelle table vide de partitions DOS
   p   afficher la table de partitions
   q   quitter sans enregistrer les changements
   s   créer une nouvelle étiquette vide pour disque de type Sun
   t   modifier l'identifiant de système de fichiers d'une partition
   u   modifier les unités d'affichage/saisie
   v   vérifier la table de partitions
   w   écrire la table sur le disque et quitter
   x   fonctions avancées (pour experts seulement)

Commande (m pour l'aide) : 

Pour créer une nouvelle partition, vous devez utiliser la commande n.

Créez donc les partitions suivantes sur votre disque :

Partition Type Taille de la Partition
/dev/sda6 Logique 500 Mo
/dev/sda7 Logique 200 Mo
/dev/sda8 Logique 300 Mo
/dev/sda9 Logique 500 Mo
/dev/sda10 Logique 400 Mo
/dev/sda11 Logique 500 Mo
/dev/sda12 Logique 500 Mo
/dev/sda13 Logique 200 Mo

Créez les partitions l'une après l'autre :

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 6
Premier secteur (13961216-41943039, 13961216 par défaut) : 
Utilisation de la valeur 13961216 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (13961216-41943039, 41943039 par défaut) : +500M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 7
Premier secteur (14987264-41943039, 14987264 par défaut) : 
Utilisation de la valeur 14987264 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (14987264-41943039, 41943039 par défaut) : +200M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 8
Premier secteur (15398912-41943039, 15398912 par défaut) : 
Utilisation de la valeur 15398912 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (15398912-41943039, 41943039 par défaut) : +300M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 9
Premier secteur (16015360-41943039, 16015360 par défaut) : 
Utilisation de la valeur 16015360 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (16015360-41943039, 41943039 par défaut) : +500M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 10
Premier secteur (17041408-41943039, 17041408 par défaut) : 
Utilisation de la valeur 17041408 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (17041408-41943039, 41943039 par défaut) : +400M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 11
Premier secteur (17862656-41943039, 17862656 par défaut) : 
Utilisation de la valeur 17862656 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (17862656-41943039, 41943039 par défaut) : +500M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 12
Premier secteur (18888704-41943039, 18888704 par défaut) : 
Utilisation de la valeur 18888704 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (18888704-41943039, 41943039 par défaut) : +500M

Commande (m pour l'aide) : n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 13
Premier secteur (19914752-41943039, 19914752 par défaut) : 
Utilisation de la valeur 19914752 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (19914752-41943039, 41943039 par défaut) : +200M

Commande (m pour l'aide) : 

Tapez ensuite la lettre p puis ↵ Entrée pour visualiser la nouvelle table des partitions. Vous obtiendrez un résultat similaire à celui-ci :

Commande (m pour l'aide) : p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  partition d'échange Linux / Solaris
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux
/dev/sda13       19914752    20324351      204800   83  Linux 

Chaque bloc fait 1 024 octets. Chaque secteur fait 512 octets. Quand la partition contient un nombre impair de secteurs, celle-ci est marquée avec un +. Ceci implique que le dernier secteur de 512 octets est effectivement perdu.

Ecrivez la table des partitions sur disque et redémarrez :

Command (m for help): w
...
root@ubuntu:~# reboot

Reconnectez-vous et lancez la commande suivante en tant que root pour visualiser la table des partitions actuelle :

root@ubuntu:~# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  partition d'échange Linux / Solaris
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux
/dev/sda13       19914752    20324351      204800   83  Linux

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 têtes, 63 secteurs/piste, 1305 cylindres, total 20971520 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Le disque /dev/sdb ne contient pas une table de partitions valable

Lancez fdisk de nouveau et appuyez sur la commande p :

root@ubuntu:~# fdisk /dev/sda

Commande (m pour l'aide) : p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  Linux
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux
/dev/sda13       19914752    20324351      204800   83  Linux

Commande (m pour l'aide) : 

Pour supprimer une partition, utilisez la commande d puis ↵ Entrée. fdisk vous demandera le numéro de la partition à supprimer, par exemple :

Commande (m pour l'aide) : d
Numéro de partition (1-13): 13

Commande (m pour l'aide) : p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  Linux
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux

Commande (m pour l'aide) : 

A ce stade, la partition n'a pas été réellement supprimée. En effet, vous avez la possibilité de sortir de fdisk en utilisant la commande q.

Tapez donc q pour sortir de fdisk puis relancez fdisk. Vous obtiendrez un résultat similaire à celui-ci :

Commande (m pour l'aide) : q

root@ubuntu:~# fdisk /dev/sda

Commande (m pour l'aide) : p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  Linux
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux
/dev/sda13       19914752    20324351      204800   83  Linux

Commande (m pour l'aide) : 

Sortez de fdisk en utilisant la commande q.

Options de la Commande fdisk

Les options de cette comande sont :

root@ubuntu:~# fdisk --help
fdisk : option invalide -- '-'
Usage:
 fdisk [options] <disk>    change partition table
 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks

Options:
 -b <size>             sector size (512, 1024, 2048 or 4096)
 -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)
 -h                    print this help text
 -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)
 -v                    print program version
 -C <number>           specify the number of cylinders
 -H <number>           specify the number of heads
 -S <number>           specify the number of sectors per track

Systèmes de Fichiers Journalisés

Présentation

Un journal est la partie d'un système de fichiers journalisé qui trace les opérations d'écriture tant qu'elles ne sont pas terminées et cela en vue de garantir l'intégrité des données en cas d'arrêt brutal.

L'intérêt est de pouvoir plus facilement et plus rapidement récupérer les données en cas d'arrêt brutal du système d'exploitation (coupure d'alimentation, plantage du système, etc.), alors que les partitions n'ont pas été correctement synchronisées et démontées.

Sans un tel fichier journal, un outil de récupération de données après un arrêt brutal doit parcourir l'intégralité du système de fichier pour vérifier sa cohérence. Lorsque la taille du système de fichiers est importante, cela peut durer très longtemps pour un résultat moins efficace car entraînant des pertes de données.

Linux peut utiliser un des systèmes de fichiers journalisés suivants :

Système de fichier Taille maximum - fichier Taille maximum - système de fichier
Ext3 2 To 32 To
Ext4 16 To 1 EiB
XFS 8 EiB 16 EiB
ReiserFS v3 8 To 16 To
JFS 4 Po 32 Po

Pour comparer ces cinq systèmes de fichier, veuillez consulter cette page

Ext3

Ext3 est une évolution de Ext2 et a pour principale différence d'utiliser un fichier journal. Il peut :

  • être utilisé à partir d'une partition Ext2, sans avoir à sauvegarder et à restaurer des données,
  • utiliser tous les utilitaires de maintenance pour les systèmes de fichiers ext2, comme fsck,
  • utiliser le logiciel dump, ce qui n'est pas le cas avec ReiserFS.

Pour plus d'information concernant Ext3, consultez cette page

Gestion d'Ext3

Notez maintenant le numéro de la dernière partition que vous avez précédemment créée :

root@ubuntu:~# fdisk -l /dev/sda

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 têtes, 63 secteurs/piste, 2610 cylindres, total 41943040 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000ae89d

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048     9764863     4881408   83  Linux
/dev/sda2         9764864    41943039    16089088    5  Étendue
/dev/sda5         9766912    13959167     2096128   82  Linux
/dev/sda6        13961216    14985215      512000   83  Linux
/dev/sda7        14987264    15396863      204800   83  Linux
/dev/sda8        15398912    16013311      307200   83  Linux
/dev/sda9        16015360    17039359      512000   83  Linux
/dev/sda10       17041408    17860607      409600   83  Linux
/dev/sda11       17862656    18886655      512000   83  Linux
/dev/sda12       18888704    19912703      512000   83  Linux
/dev/sda13       19914752    20324351      204800   83  Linux

Dans le cas de cette exemple, s'agit de /dev/sda13.

La Commande mke2fs

Créez maintenant un filesystem Ext3 sur /dev/sda1 en utilisant la commande mke2fs -j :

root@ubuntu:~# mke2fs -j /dev/sda13
mke2fs 1.42.9 (4-Feb-2014)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
51200 i-noeuds, 204800 blocs
10240 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=67371008
25 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2048 i-noeuds par groupe
Superblocs de secours stockés sur les blocs : 
	8193, 24577, 40961, 57345, 73729

Allocation des tables de groupe : complété                        
Écriture des tables d'i-noeuds : complété                        
Création du journal (4096 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Les options de la commande mke2fs sont :

root@ubuntu:~# mke2fs --help
mke2fs : option invalide -- '-'
Utilisation : mke2fs [-c|-l nom-de-fichier] [-b taille-de-bloc] [-C taille-de-cluster]
	[-i octets-par-i-noeud] [-I taille-des-i-noeuds]
	[-J options-de-journal] [-G taille-groupe-flex] [-N nombre-d-i-noeuds]
	[-m pourcentage-de-blocs-réservés]
	[-o système-d-exploitation-de-création] [-g blocs-par-groupe]
	[-L étiquette-du-volume] [-M dernier-répertoire-monté]
	[-O fonctionnalité[,...]] [-r révision-du-système-de-fichiers]
	[-E option-étendue[,...]] [-t type-système-de-fichiers] [-T type-d'utilisation]
	[-U UUID] [-jnqvFKSV] périphérique [nombre-de-blocs]
La Commande tune2fs

Lors de la mise en place d'un filesystem ext2/ext3/ext4, le système réserve 5% de l'espace disque pour root. Sur des disques de grande taille il est parfois préférable de récupérer une partie de cet espace en utilisant la commande suivante :

root@ubuntu:~# tune2fs -m 1 /dev/sda13
tune2fs 1.42.9 (4-Feb-2014)
Définition du pourcentage de blocs réservés à 1% (2048 blocs)
La Commande dumpe2fs

Pour vérifier si un système de fichiers Ext2 est journalisé, utilisez la commande dumpe2fs :

root@ubuntu:~# dumpe2fs -h /dev/sda13
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          3b173d14-c32a-4069-a829-64b11c37c46a
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              51200
Block count:              204800
Reserved block count:     2048
Free blocks:              192674
Free inodes:              51189
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Tue Oct  7 16:11:27 2014
Last mount time:          n/a
Last write time:          Tue Oct  7 16:13:12 2014
Mount count:              0
Maximum mount count:      -1
Last checked:             Tue Oct  7 16:11:27 2014
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      6c2a675c-4377-4ebe-b17c-5b562567a74a
Journal backup:           inode blocks
Fonctionalités du journal :  (none)
Taille du journal :         4113k
Longueur du journal :      4096
Séquence du journal :      0x00000001
Début du journal :         0

Le drapeau Filesystem features: has_journal … démontre que Ext3 est utilisé sur cette partition.

Les options de la commande dumpe2fs sont :

root@ubuntu:~# dumpe2fs --help
dumpe2fs 1.42.9 (4-Feb-2014)
dumpe2fs : option invalide -- '-'
Utilisation : dumpe2fs [-bfhixV] [-o superblock=<nombre>] [-o blocksize=<nombre>] périphérique

Pour supprimer Ext3 sur cette partition, il convient d'utiliser la commande tune2fs

root@ubuntu:~# tune2fs -O ^has_journal /dev/sda13
tune2fs 1.42.9 (4-Feb-2014)

Les options de cette commande sont :

root@ubuntu:~# tune2fs --help
tune2fs 1.42.9 (4-Feb-2014)
tune2fs : option invalide -- '-'
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
	[-i interval[d|m|w]] [-j] [-J journal_options] [-l]
	[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]
	[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
	[-M last_mounted_dir] [-O [^]feature[,...]]
	[-Q quota_options]
	[-E extended-option[,...]] [-T last_check_time] [-U UUID]
	[ -I new_inode_size ] device

Constatez le résultat de cette commande :

root@ubuntu:~# dumpe2fs -h /dev/sda13
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          3b173d14-c32a-4069-a829-64b11c37c46a
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              51200
Block count:              204800
Reserved block count:     2048
Free blocks:              196787
Free inodes:              51189
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Tue Oct  7 16:11:27 2014
Last mount time:          n/a
Last write time:          Tue Oct  7 16:53:26 2014
Mount count:              0
Maximum mount count:      -1
Last checked:             Tue Oct  7 16:11:27 2014
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Default directory hash:   half_md4
Directory Hash Seed:      6c2a675c-4377-4ebe-b17c-5b562567a74a
Journal backup:           inode blocks

Notez que le drapeau Filesystem features: has_journal … a été supprimé.

Supprimez maintenant l'inode du journal :

root@ubuntu:~# fsck /dev/sda13
fsck de util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
/dev/sda13 : propre, 11/51200 fichiers, 8013/204800 blocs

Créez maintenant un point de montage pour /dev/sda13 :

root@ubuntu:~# mkdir /mnt/sda13

Essayez de monter /dev/sda13 en tant que système de fichiers Ext3. Vous obtiendrez un résultat similaire à celui-ci :

root@ubuntu:~# mount -t ext3 /dev/sda13 /mnt/sda13
mount : mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/sda13, page de code ou programme auxiliaire manquant, ou autre erreur
       Dans quelques cas certaines informations sont utiles dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre

Notez l'erreur due au mauvais système de fichiers qui suit l'option -t.

Montez maintenant le système de fichiers en tant que Ext2 :

root@ubuntu:~# mount -t ext2 /dev/sda13 /mnt/sda13
root@ubuntu:~# 

Pour replacer le journal sur /dev/sda13, il convient d'utiliser la commande tune2fs :

root@ubuntu:~# umount /mnt/sda13
root@ubuntu:~# tune2fs -j /dev/sda13
tune2fs 1.42.9 (4-Feb-2014)
Création de l'i-noeud du journal : complété

Notez que vous avez du démonter la partition avant d'exécuter la commande tune2fs.

Le journal d'un système de fichiers peut être placé sur un autre périphérique bloc.

Créez d'abord un système de fichiers ext2 sur /dev/sda12 :

root@ubuntu:~# mke2fs -O journal_dev /dev/sda12
mke2fs 1.42.9 (4-Feb-2014)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
0 i-noeuds, 512000 blocs
0 blocs (0.00%) réservés pour le super utilisateur
Premier bloc de données=1
0 groupe de bloc
8192 blocs par groupe, 8192 fragments par groupe
0 i-noeuds par groupe
Superblocs de secours stockés sur les blocs : 

Mise à zéro du périphérique de journal :  

Notez l'utilisation de l'option -O.

Créez maintenant un système de fichiers Ext3 sur /dev/sda13 en plaçant le journal sur /dev/sda12 :

                     
root@ubuntu:~# mke2fs -j -J device=/dev/sda12 /dev/sda13
mke2fs 1.42.9 (4-Feb-2014)
Utilisation de la taille de bloc du périphérique de journal : 1024
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
51200 i-noeuds, 204800 blocs
10240 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=67371008
25 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2048 i-noeuds par groupe
Superblocs de secours stockés sur les blocs : 
	8193, 24577, 40961, 57345, 73729

Allocation des tables de groupe : complété                        
Écriture des tables d'i-noeuds : complété                        
Ajout du journal au périphérique /dev/sda12 : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Notez que le journal a été placé sur /dev/sda12 graĉe à l'utilisation de l'option -J.

Les options de la commznde mke2fs sont :

root@ubuntu:~# mke2fs --help
mke2fs : option invalide -- '-'
Utilisation : mke2fs [-c|-l nom-de-fichier] [-b taille-de-bloc] [-C taille-de-cluster]
	[-i octets-par-i-noeud] [-I taille-des-i-noeuds]
	[-J options-de-journal] [-G taille-groupe-flex] [-N nombre-d-i-noeuds]
	[-m pourcentage-de-blocs-réservés]
	[-o système-d-exploitation-de-création] [-g blocs-par-groupe]
	[-L étiquette-du-volume] [-M dernier-répertoire-monté]
	[-O fonctionnalité[,...]] [-r révision-du-système-de-fichiers]
	[-E option-étendue[,...]] [-t type-système-de-fichiers] [-T type-d'utilisation]
	[-U UUID] [-jnqvFKSV] périphérique [nombre-de-blocs]

Pour modifiez la fréquence de vérification du système de fichiers sur /dev/sda12, il convient d'utiliser soit l'option -c, soit l'option -i :

root@ubuntu:~# tune2fs -i 100d /dev/sda13
tune2fs 1.42.9 (4-Feb-2014)
Définition de l'intervalle de vérification à 8640000 secondes

Dernièrement, pour obtenir seul l'UUID du système de fichiers, utilisez les commandes dumpe2fs et grep :

root@ubuntu:~# dumpe2fs /dev/sda13 | grep UUID
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem UUID:          6aad5f92-4f1a-4643-b1fb-886d3fd90832
Journal UUID:             403b9ee4-5186-4c49-a331-1ffcf395c473

Ext4

Le système de fichiers Ext4 fut introduit dans le noyau 2.6.19 en mode expérimental et est devenu stable dans le noyau 2.6.28.

Ext4 n'est pas une évolution de Ext3. Cependant il a une compatibilité ascendante avec Ext3.

Les fonctionnalités majeures d'Ext4 sont :

  • la gestion des volumes d'une taille allant jusqu'à 1 024 pébioctets,
  • l'allocation par extents qui permettent la pré-allocation d'une zone contiguë pour un fichier afin de minimiser la fragmentation.

L'option extents est activée par défaut depuis le noyau 2.6.23.

La compatibilité ascendante avec ext3 comprend :

  • la possibilité de monter une partition Ext3 en tant que partition Ext4,
  • la possibilité de monter une partition Ext4 en tant que partition Ext3 mais uniquement dans le cas où la partition Ext4 n'ait jamais utilisé l'allocation par extents pour enregistrer des fichiers, mais l'allocation binaire comprise par ext3.

Pour plus d'informations concernant Ext4, consultez cette page.

Gestion d'Ext4

Créez un système de fichiers Ext4 sur /dev/sda11 :

root@ubuntu:~# mkfs.ext4 /dev/sda11
mke2fs 1.42.9 (4-Feb-2014)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
128016 i-noeuds, 512000 blocs
25600 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=67633152
63 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2032 i-noeuds par groupe
Superblocs de secours stockés sur les blocs : 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocation des tables de groupe : complété                        
Écriture des tables d'i-noeuds : complété                        
Création du journal (8192 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Les options de cette commande sont :

root@ubuntu:~# mkfs.ext4 --help
mkfs.ext4 : option invalide -- '-'
Utilisation : mkfs.ext4 [-c|-l nom-de-fichier] [-b taille-de-bloc] [-C taille-de-cluster]
	[-i octets-par-i-noeud] [-I taille-des-i-noeuds]
	[-J options-de-journal] [-G taille-groupe-flex] [-N nombre-d-i-noeuds]
	[-m pourcentage-de-blocs-réservés]
	[-o système-d-exploitation-de-création] [-g blocs-par-groupe]
	[-L étiquette-du-volume] [-M dernier-répertoire-monté]
	[-O fonctionnalité[,...]] [-r révision-du-système-de-fichiers]
	[-E option-étendue[,...]] [-t type-système-de-fichiers] [-T type-d'utilisation]
	[-U UUID] [-jnqvFKSV] périphérique [nombre-de-blocs]

Consultez maintenant les caractéristiques du système de fichier :

root@ubuntu:~# dumpe2fs /dev/sda11
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          c5b7c13b-8dc0-4015-9395-a0185428a2e6
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              128016
Block count:              512000
Reserved block count:     25600
Free blocks:              485334
Free inodes:              128005
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2032
Inode blocks per group:   254
Flex block group size:    16
Filesystem created:       Tue Oct 14 15:29:29 2014
Last mount time:          n/a
Last write time:          Tue Oct 14 15:29:29 2014
Mount count:              0
Maximum mount count:      -1
Last checked:             Tue Oct 14 15:29:29 2014
Check interval:           0 (<none>)
Lifetime writes:          8 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      39628b27-35b4-4f65-b0f1-0ec7a3b13a07
Journal backup:           inode blocks
Fonctionalités du journal :  (none)
Taille du journal :         8M
Longueur du journal :      8192
Séquence du journal :      0x00000001
Début du journal :         0
...

Utilisez la commande e2label pour associer une étiquette au système de fichiers :

root@ubuntu:~# e2label /dev/sda11 my_ext4
root@ubuntu:~# dumpe2fs /dev/sda11
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:   my_ext4
Last mounted on:          <not available>
Filesystem UUID:          c5b7c13b-8dc0-4015-9395-a0185428a2e6
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              128016
Block count:              512000
Reserved block count:     25600
Free blocks:              485334
Free inodes:              128005
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2032
Inode blocks per group:   254
Flex block group size:    16
Filesystem created:       Tue Oct 14 15:29:29 2014
Last mount time:          n/a
Last write time:          Tue Oct 14 15:39:54 2014
Mount count:              0
Maximum mount count:      -1
Last checked:             Tue Oct 14 15:29:29 2014
Check interval:           0 (<none>)
Lifetime writes:          8 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      39628b27-35b4-4f65-b0f1-0ec7a3b13a07
Journal backup:           inode blocks
Fonctionalités du journal :  (none)
Taille du journal :         8M
Longueur du journal :      8192
Séquence du journal :      0x00000001
Début du journal :         0
...

Notez que l'étiquette doit être de 16 caractères maximum.

Créez maintenant un point de montage dans /mnt et essayez de monter /dev/sda11 en tant qu'Ext3 :

root@ubuntu:~# mkdir /mnt/sda11
root@ubuntu:~# mount -t ext3 /dev/sda11 /mnt/sda11
mount : mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/sda11, page de code ou programme auxiliaire manquant, ou autre erreur
       Dans quelques cas certaines informations sont utiles dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre

Notez l'erreur qui est signalée.

Montez de nouveau /dev/sda11 sans stipuler le type de système de fichiers :

root@ubuntu:~# mount /dev/sda11 /mnt/sda11
root@ubuntu:~# mount | grep sda11
/dev/sda11 on /mnt/sda11 type ext4 (rw)

Constatez que /dev/sda11 a été monté en tant que Ext4.

Montez maintenant /dev/sda13 sur /mnt/sda13 :

root@ubuntu:~# mount /dev/sda13 /mnt/sda13
root@ubuntu:~# ls -l /mnt/sda13
total 12
drwx------ 2 root root 12288 oct.   7 16:58 lost+found

Créez le fichier /mnt/sda13/check_file :

root@ubuntu:~# touch /mnt/sda13/check_file

Injectez la chaine check file dans le fichier /mnt/sda13/check_file puis démontez /dev/sda13 :

root@ubuntu:~# echo "check file" > /mnt/sda13/check_file 
root@ubuntu:~# umount /dev/sda13

Convertissez /dev/sda13 en Ext4 :

root@ubuntu:~# tune2fs -O extents,uninit_bg,dir_index /dev/sda13
tune2fs 1.42.9 (4-Feb-2014)

Optimisez le système de fichiers :

root@ubuntu:~# e2fsck -fDC0 /dev/sda13
e2fsck 1.42.9 (4-Feb-2014)
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires                         
Passe 3 : vérification de la connectivité des répertoires
Passe 3A : optimisation des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
                                                                                
/dev/sda13: ***** LE SYSTÈME DE FICHIERS A ÉTÉ MODIFIÉ *****
/dev/sda13 : 12/51200 fichiers (0.0% non contigüs), 8014/204800 blocs

Essayez de monter /dev/sda13 en tant qu'Ext3 :

root@ubuntu:~# mount -t ext3 /dev/sda13 /mnt/sda13
mount : mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/sda13, page de code ou programme auxiliaire manquant, ou autre erreur
       Dans quelques cas certaines informations sont utiles dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre

Montez /dev/sda13 sans spécifier le type de fichiers Ext3 et vérifiez le contenu du fichier check_file :

root@ubuntu:~# mount /dev/sda13 /mnt/sda13
root@ubuntu:~# ls -l /mnt/sda13
total 13
-rw-r--r-- 1 root root    11 oct.  14 15:49 check_file
drwx------ 2 root root 12288 oct.   7 16:58 lost+found
root@ubuntu:~# cat /mnt/sda13/check_file 
check file

Dernièrement, pour obtenir seul l'UUID du système de fichiers, utilisez les commandes dumpe2fs et grep :

root@ubuntu:~# dumpe2fs /dev/sda11 | grep UUID
dumpe2fs 1.42.9 (4-Feb-2014)
Filesystem UUID:          c5b7c13b-8dc0-4015-9395-a0185428a2e6

XFS

XFS est un système de fichiers 64-bit journalisé de haute performance crée par SGI pour son système d'exploitation IRIX. XFS est inclus par défaut avec les versions du noyau Linux 2.5.xx et 2.6.xx.

Pour plus d'informations concernant XFS, consultez cette page.

Gestion de XFS

Installez le paquet xfsprogs :

root@ubuntu:~# apt-get install xfsprogs
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Paquets suggérés :
  xfsdump attr quota
Les NOUVEAUX paquets suivants seront installés :
  xfsprogs
0 mis à jour, 1 nouvellement installés, 0 à enlever et 171 non mis à jour.
Il est nécessaire de prendre 523 ko dans les archives.
Après cette opération, 2 957 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu/ trusty/main xfsprogs i386 3.1.9ubuntu2 [523 kB]
523 ko réceptionnés en 0s (1 173 ko/s)
Sélection du paquet xfsprogs précédemment désélectionné.
(Lecture de la base de données... 168196 fichiers et répertoires déjà installés.)
Préparation du décompactage de .../xfsprogs_3.1.9ubuntu2_i386.deb ...
Décompactage de xfsprogs (3.1.9ubuntu2) ...
Traitement déclenché pour  man-db (2.6.7.1-1) ...
Paramétrage de xfsprogs (3.1.9ubuntu2) ...
Traitement déclenché pour  libc-bin (2.19-0ubuntu6) ...
La Commande mkfs.xfs

Créez un système de fichiers XFS sur la partition /dev/sda10 :

root@ubuntu:~# mkfs.xfs /dev/sda10
meta-data=/dev/sda10             isize=256    agcount=4, agsize=25600 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=102400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =aucun                  extsz=4096   blocks=0, rtextents=0

Les options de cette commande sont :

root@ubuntu:~# mkfs.xfs --help
mkfs.xfs : option invalide -- '-'
option --  inconnue
Usage: mkfs.xfs
/* blocksize */		[-b log=n|size=num]
/* data subvol */	[-d agcount=n,agsize=n,file,name=xxx,size=num,
			    (sunit=value,swidth=value|su=num,sw=num),
			    sectlog=n|sectsize=num
/* inode size */	[-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,
			    projid32bit=0|1]
/* log subvol */	[-l agnum=n,internal,size=num,logdev=xxx,version=n
			    sunit=value|su=num,sectlog=n|sectsize=num,
			    lazy-count=0|1]
/* label */		[-L label (maximum 12 characters)]
/* naming */		[-n log=n|size=num,version=2|ci]
/* prototype file */	[-p fname]
/* quiet */		[-q]
/* realtime subvol */	[-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */	[-s log=n|size=num]
/* version */		[-V]
			devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
La Commande xfs_info

Consultez maintenant les caractéristiques du système de fichier :

root@ubuntu:~# xfs_info /dev/sda10
xfs_info : /dev/sda10 n'est pas un système de fichiers XFS monté
root@ubuntu:~# mkdir /mnt/sda10
root@ubuntu:~# mount -t xfs /dev/sda10 /mnt/sda10
root@ubuntu:~# xfs_info /dev/sda10
meta-data=/dev/sda10             isize=256    agcount=4, agsize=25600 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=102400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =interne                bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =aucun                  extsz=4096   blocks=0, rtextents=0

Notez que la partition XFS doit être monté pour pouvoir utiliser la commande xfs_info.

Les options de cette commande sont :

root@ubuntu:~# xfs_info --help
Illegal option --
Usage: xfs_info [-V] [-t mtab] mountpoint
La Commande xfs_admin

Utilisez la commande xfs_admin pour associer une étiquette au système de fichiers :

root@ubuntu:~# xfs_admin -L my_xfs /dev/sda10
writing all SBs
new label = "my_xfs"

Pour voir l'étiquette, utilisez la commande suivante :

root@ubuntu:~# xfs_admin -l /dev/sda10
label = "my_xfs"

Notez que l'étiquette doit être de 12 caractères maximum.

Les options de cette commande sont :

root@ubuntu:~# xfs_admin --help
Illegal option --
Usage: xfs_admin [-efjlpuV] [-c 0|1] [-L label] [-U uuid] device

Dernièrement, pour obtenir seul l'UUID du système de fichiers, utilisez la commande xfs-admin et l'option -u :

root@ubuntu:~# xfs_admin -u /dev/sda10
UUID = 0e85f026-cd01-4a55-b4a5-4ecffec34012

La commande xfs_metadump est utilisée pour sauvegarder les méta-données du système de fichiers, tandis que la commande xfs_mdrestore est utilisée pour restaurer les les méta-données du système de fichiers.

ReiserFS

ReiserFS permet :

  • de meilleurs temps d'accès à des sous-répertoires que Ext3, même ceux contenant des dizaines de milliers de fichiers,
  • une plus grande efficacité pour ce qui concerne le stockage des fichiers moins de quelques ko. Le gain d'espace peut aller jusqu'à 10% par rapport à Ext2/Ext3.

Pour plus d'informations concernant ReiserFS, consultez cette page.

Gestion de ReiserFS

Commencez par installer le paquet reiserfsprogs :

root@ubuntu:~# apt-get install reiserfsprogs
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
  reiserfsprogs
0 mis à jour, 1 nouvellement installés, 0 à enlever et 171 non mis à jour.
Il est nécessaire de prendre 218 ko dans les archives.
Après cette opération, 1 143 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu/ trusty/main reiserfsprogs i386 1:3.6.24-1 [218 kB]
218 ko réceptionnés en 0s (979 ko/s)
Sélection du paquet reiserfsprogs précédemment désélectionné.
(Lecture de la base de données... 168169 fichiers et répertoires déjà installés.)
Préparation du décompactage de .../reiserfsprogs_1%3a3.6.24-1_i386.deb ...
Décompactage de reiserfsprogs (1:3.6.24-1) ...
Traitement déclenché pour  man-db (2.6.7.1-1) ...
Paramétrage de reiserfsprogs (1:3.6.24-1) ...
La Commande mkfs.reiserfs

Créez un système de fichiers ReiserFS sur la partition /dev/sda9 :

root@ubuntu:~# mkfs.reiserfs /dev/sda9
mkfs.reiserfs 3.6.24

Guessing about desired format.. Kernel 3.13.0-32-generic is running.
Format 3.6 with standard journal
Count of blocks on the device: 128000
Number of blocks consumed by mkreiserfs formatting process: 8215
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: e7c1b61d-bf96-41e2-8b47-db3b364e3c7b
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
	ALL DATA WILL BE LOST ON '/dev/sda9'!
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
ReiserFS is successfully created on /dev/sda9.

Les options de cette commande sont :

root@ubuntu:~# mkfs.reiserfs --help
mkfs.reiserfs: unrecognized option '--help'
Usage: mkfs.reiserfs [options]  device [block-count]

Options:

  -b | --block-size N              size of file-system block, in bytes
  -j | --journal-device FILE       path to separate device to hold journal
  -s | --journal-size N            size of the journal in blocks
  -o | --journal-offset N          offset of the journal from the start of
                                   the separate device, in blocks
  -t | --transaction-max-size N    maximal size of transaction, in blocks
  -B | --badblocks file            store all bad blocks given in file on the fs
  -h | --hash rupasov|tea|r5       hash function to use by default
  -u | --uuid UUID                 store UUID in the superblock
  -l | --label LABEL               store LABEL in the superblock
  --format 3.5|3.6                 old 3.5 format or newer 3.6
  -f | --force                     specified once, make mkreiserfs the whole
                                   disk, not block device or mounted partition;
                                   specified twice, do not ask for confirmation
  -q | --quiet                     quiet work without messages, progress and
                                   questions. Useful if run in a script. For use
                                   by end users only.
  -d | --debug                     print debugging information during mkreiser
  -V                               print version and exit
La Commande debugreiserfs

Consultez maintenant les caractéristiques du système de fichier :

root@ubuntu:~# debugreiserfs /dev/sda9
debugreiserfs 3.6.24


Filesystem state: consistent

Reiserfs super block in block 16 on 0x809 of format 3.6 with standard journal
Count of blocks on the device: 128000
Number of bitmaps: 4
Blocksize: 4096
Free blocks (count of blocks - used [journal, bitmaps, data, reserved] blocks): 119785
Root block: 8211
Filesystem is clean
Tree height: 2
Hash function used to sort names: "r5"
Objectid map size 2, max 972
Journal parameters:
	Device [0x0]
	Magic [0x1f95e215]
	Size 8193 blocks (including 1 for journal header) (first block 18)
	Max transaction length 1024 blocks
	Max batch size 900 blocks
	Max commit age 30
Blocks reserved by journal: 0
Fs state field: 0x0:
sb_version: 2
inode generation number: 0
UUID: e7c1b61d-bf96-41e2-8b47-db3b364e3c7b
LABEL: 
Set flags in SB:
	ATTRIBUTES CLEAN
Mount count: 1
Maximum mount count: 30
Last fsck run: Wed Oct 15 11:01:32 2014
Check interval in days: 180

Les options de cette commande sont :

root@ubuntu:~# debugreiserfs --help
debugreiserfs: invalid option -- '-'
debugreiserfs: invalid option -- 'h'
debugreiserfs: invalid option -- 'e'
Usage: debugreiserfs [options] device

Options:
  -d		print blocks details of the internal tree
  -D		print blocks details of all used blocks
  -B file	extract list of badblocks
  -m		print bitmap blocks
  -o		print objectid map

  -J		print journal header
  -j filename
		print journal located on the device 'filename'
  		stores the journal in the specified file 'filename.
  -p		send filesystem metadata to stdout
  -u		read stdin and unpack the metadata
  -S		handle all blocks, not only used
  -1 block	block to print
  -q		no speed info
  -V		print version and exit
La Commande reiserfstune

Utilisez la commande reiserfstune pour associer une étiquette au système de fichiers :

root@ubuntu:~# reiserfstune -l my_reiserfs /dev/sda9
reiserfstune: Journal device has not been specified. Assuming journal is on the main device (/dev/sda9).

Current parameters:

Filesystem state: consistent

Reiserfs super block in block 16 on 0x809 of format 3.6 with standard journal
Count of blocks on the device: 128000
Number of bitmaps: 4
Blocksize: 4096
Free blocks (count of blocks - used [journal, bitmaps, data, reserved] blocks): 119785
Root block: 8211
Filesystem is clean
Tree height: 2
Hash function used to sort names: "r5"
Objectid map size 2, max 972
Journal parameters:
	Device [0x0]
	Magic [0x1f95e215]
	Size 8193 blocks (including 1 for journal header) (first block 18)
	Max transaction length 1024 blocks
	Max batch size 900 blocks
	Max commit age 30
Blocks reserved by journal: 0
Fs state field: 0x0:
sb_version: 2
inode generation number: 0
UUID: e7c1b61d-bf96-41e2-8b47-db3b364e3c7b
LABEL: my_reiserfs
Set flags in SB:
	ATTRIBUTES CLEAN
Mount count: 1
Maximum mount count: 30
Last fsck run: Wed Oct 15 11:01:32 2014
Check interval in days: 180

Notez que l'étiquette doit être de 16 caractères maximum.

Les options de cette commande sont :

root@ubuntu:~# reiserfstune --help
reiserfstune: Usage: reiserfstune [options] device [block-count]

Options:

  -j | --journal-device file	current journal device
  --journal-new-device file	new journal device
  -o | --journal-new-offset N	new journal offset in blocks
  -s | --journal-new-size N	new journal size in blocks
  -t | --trans-max-size N	new journal max transaction size in blocks
  --no-journal-available	current journal is not available
  --make-journal-standard	new journal to be standard
  -b | --add-badblocks file	add to bad block list
  -B | --badblocks file		set the bad block list
  -u | --uuid UUID|random	set new UUID
  -l | --label LABEL		set new label
  -f | --force			force tuning, less confirmations
  -c | --check-interval		set interval in days for fsck -a to check,
                       		"disable" to disable check,
                       		or "default" to restore default
  -C | --time-last-checked	set the time the filesystem was last checked
                          	(now or YYYYMMDD[HH[MM[SS]]])
  -m | --max-mnt-count		set maximum number of mounts before fsck -a
                      		checks, "disable" to disable check,
                      		or "default" to restore default
  -M | --mnt-count		set the number of times the filesystem
                  		has been mounted
  -h | --help			print help and exit
  -V				print version and exit

Dernièrement, pour obtenir l'UUID du système de fichiers, utilisez les commandes debugreiserfs et grep :

root@ubuntu:~# debugreiserfs /dev/sda9 | grep UUID
debugreiserfs 3.6.24

UUID: e7c1b61d-bf96-41e2-8b47-db3b364e3c7b

JFS

JFS Journaled File System est un système de fichiers journalisé mis au point par IBM et disponible sous licence GPL.

Pour plus d'informations concernant JFS, consultez cette page.

Gestion de JFS

Commencez par installer le paquet jfsutils :

root@ubuntu:~# apt-get install jfsutils
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
  jfsutils
0 mis à jour, 1 nouvellement installés, 0 à enlever et 171 non mis à jour.
Il est nécessaire de prendre 274 ko dans les archives.
Après cette opération, 1 120 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu/ trusty/main jfsutils i386 1.1.15-2.1 [274 kB]
274 ko réceptionnés en 0s (1 053 ko/s)
Sélection du paquet jfsutils précédemment désélectionné.
(Lecture de la base de données... 168248 fichiers et répertoires déjà installés.)
Préparation du décompactage de .../jfsutils_1.1.15-2.1_i386.deb ...
Décompactage de jfsutils (1.1.15-2.1) ...
Traitement déclenché pour  man-db (2.6.7.1-1) ...
Paramétrage de jfsutils (1.1.15-2.1) ...
La Commande mkfs.jfs

Créez ensuite un système de fichiers JFS sur /dev/sda8 :

root@ubuntu:~# mkfs.jfs /dev/sda8
mkfs.jfs version 1.1.15, 04-Mar-2011
Warning!  All data on device /dev/sda8 will be lost!

Continue? (Y/N) y
   |

Format completed successfully.

307200 kilobytes total disk space.

Les options de cette commande sont :

root@ubuntu:~# mkfs.jfs --help
mkfs.jfs version 1.1.15, 04-Mar-2011
mkfs.jfs: invalid option -- '-'

Usage:  mkfs.jfs [-cOqV] [-j log_device] [-J options] [-L vol_label] [-s log_size] device [ blocks ]

Emergency help:
 -c            Check device for bad blocks before building file system.
 -O            Provide case-insensitive support for OS/2 compatability.
 -q            Quiet execution.
 -V            Print version information only.
 -j log_device Set external journal device.
 -J options    Set external journal options.
 -L vol_label  Set volume label for the file system.
 -s log_size   Set log size (in megabytes).

NOTE: -j and -J cannot be used at the same time.
La Commande jfs_tune

Consultez maintenant les caractéristiques du système de fichier :

root@ubuntu:~# jfs_tune -l /dev/sda8
jfs_tune version 1.1.15, 04-Mar-2011

JFS filesystem superblock:

JFS magic number:	'JFS1'
JFS version:		1
JFS state:		clean
JFS flags:		JFS_LINUX  JFS_COMMIT  JFS_GROUPCOMMIT  JFS_INLINELOG  
Aggregate block size:	4096 bytes
Aggregate size:		609872 blocks
Physical block size:	512 bytes
Allocation group size:	8192 aggregate blocks
Log device number:	0x0
Filesystem creation:	Wed Oct 15 11:16:31 2014
Volume label:		''

Les options de cette commande sont :

root@ubuntu:~# jfs_tune --help
jfs_tune version 1.1.15, 04-Mar-2011
jfs_tune: invalid option -- '-'

Usage:  jfs_tune [-J options] [-l] [-L vol_label] [-U uuid] [-V] device

Emergency help:
 -J options    Set external journal options.
 -l            Display superblock
 -L vol_label  Set volume label.
 -U uuid       Set UUID.
 -V            Print version information only.

Utilisez la commande jfs_tune pour associer une étiquette au système de fichiers :

root@ubuntu:~# jfs_tune -L my_jfs /dev/sda8
jfs_tune version 1.1.15, 04-Mar-2011
Volume label updated successfully.

root@ubuntu:~# jfs_tune -l /dev/sda8
jfs_tune version 1.1.15, 04-Mar-2011

JFS filesystem superblock:

JFS magic number:	'JFS1'
JFS version:		1
JFS state:		clean
JFS flags:		JFS_LINUX  JFS_COMMIT  JFS_GROUPCOMMIT  JFS_INLINELOG  
Aggregate block size:	4096 bytes
Aggregate size:		609872 blocks
Physical block size:	512 bytes
Allocation group size:	8192 aggregate blocks
Log device number:	0x0
Filesystem creation:	Wed Oct 15 11:16:31 2014
Volume label:		'my_jfs'

Notez que l'étiquette doit être de 16 caractères maximum.

Créez maintenant un UUID pour le système de fichiers :

root@ubuntu:~# jfs_tune -U random /dev/sda8
jfs_tune version 1.1.15, 04-Mar-2011
UUID updated successfully.

Dernièrement, pour visualiser l'UUID du système de fichiers, utilisez les commandes jfs_tune et grep :

root@ubuntu:~# jfs_tune -l /dev/sda8 | grep UUID
File system UUID:	e75da2ea-6e7b-4dfc-a41e-b35b77b3d320
External log UUID:	00000000-0000-0000-0000-000000000000

Comparaison des Commandes par Système de Fichiers

Ext3 Ext4 XFS ReiserFS JFS Btrfs
mkfs.ext3 (mke2fs -j) mkfs.ext4 (mke4fs) mkfs.xfs mkfs.reiserfs (mkreiserfs) mkfs.jfs (jfs_mkfs)
e2fsck e2fsck xfs_check / xfs_repair reiserfsck jfs_fsck
tune2fs tune2fs xfs_admin reiserfstune jfs_tune
resize2fs resize2fs xfs_growfs resize_reiserfs S/O
dumpe2fs dumpe2fs xfs_info / xfs_metadump debugreiserfs jfs_tune
debugfs debugfs xfs_db debugreiserfs jfs_debugfs
e2label e2label xfs_admin reiserfstune jfs_tune

Le Swap

Taille du swap

Le tableau suivant résume la taille du swap recommandée en fonction de la mémoire de la machine :

Mémoire Taille du swap
4 Go ou moins 2 Go
4 Go à 16 Go 4 Go
16 Go à 64 Go 8 Go
64 Go à 256 Go 16 Go

Partitions de swap

Une partition de swap peut être créée sur :

  • une partition du disque dur
  • un RAID logiciel
  • un Volume Logique

La Commande swapon

Pour préparer un espace de swap, il convient d'utiliser la commande mkswap. Pour activer une partition de swap, il convient d'utiliser la commande swapon. Pour consulter la liste des partitions swap, il convient d'utiliser la commande swapon avec l'option -s.

root@ubuntu:~# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	1997820	0	-1

Vous noterez que dans l'exemple ci-dessus, le swap n'est pas utilisé. Notez aussi qu'il existe une notion de priorité pour les partions de swap.

Options de la Commande

Les options de la commande swapon sont :

root@ubuntu:~# swapon --help

Usage:
 swapon [options] [<spec>]

Options :
 -a, --all              enable all swaps from /etc/fstab
 -d, --discard          discard freed pages before they are reused
 -e, --ifexists         silently skip devices that do not exis
 -f, --fixpgsz          reinitialize the swap space if necessary
 -h, --help             display help and exit
 -p, --priority <prio>  specify the priority of the swap device.
 -s, --summary          display summary about used swap devices and exit
 -v, --verbose          verbose mode
 -V, --version          display version and exit

The <spec> parameter:
 -L <label>             LABEL of device to be used
 -U <uuid>              UUID of device to be used
 LABEL=<label>          LABEL of device to be used
 UUID=<uuid>            UUID of device to be used
 <device>               name of device to be used
 <file>                 name of file to be used

L'option -p de la commande swapon permet de régler la priorité.

La Commande swapoff

Dans le cas de notre exemple, la partition de swap se trouve sur /dev/sda5. Pour la désactiver, il convient de saisir la commande suivante :

root@ubuntu:~# swapoff /dev/sda5
root@ubuntu:~# swapon -s
Filename				Type		Size	Used	Priority

Options de la Commande

root@ubuntu:~# swapoff --help

Usage:
 swapoff [options] [<spec>]

Options :
 -a, --all              disable all swaps from /proc/swaps
 -h, --help             display help and exit
 -v, --verbose          verbose mode
 -V, --version          display version and exit

The <spec> parameter:
 -L <label>             LABEL of device to be used
 -U <uuid>              UUID of device to be used
 LABEL=<label>          LABEL of device to be used
 UUID=<uuid>            UUID of device to be used
 <device>               name of device to be used
 <file>                 name of file to be used

Le Fichier /etc/fstab

Pour réactiver le swap, il convient de saisir de nouveau la commande swapon :

root@ubuntu:~# swapon /dev/sda5
root@ubuntu:~# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	1997820	0	-1

Pour chaque partition de swap, le fichier /etc/fstab doit contenir un enregistrement. Saisissez la commande suivante :

root@ubuntu:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=70eb8bc5-1759-433d-9797-9342a7b82cb2 /               ext4    errors=remount-ro,acl 0       1
# swap was on /dev/sda5 during installation
UUID=a8b7b615-a3de-410a-8184-2acf798f6144 none            swap    sw              0       0

Chaque ligne dans ce fichier contient 6 champs :

Champ 1 Champ 2 Champ 3 Champ 4 Champ 5 Champ 6
Fichier de bloc spécial ou UUID ou système de fichiers virtuel Point de montage Type de système de fichiers Options séparées par des virgules Utilisé par dump ( 1 = à dumper, 0 ou vide = à ignorer ) L'ordre de vérification par fsck des systèmes de fichiers au moment du démarrage

L'UUID ( Universally Unique Identifier ) est une chaîne d'une longueur de 128 bits. Les UUID sont créés automatiquement et d'une manière aléatoire lors de la création du filesystem sur la partition. Ils peuvent être modifiés par l'administrateur.

Options de Montage

Les options de montage les plus importants sont :

Option Systèmes de Fichier Description Valeur par Défaut
defaults Tous Egal à rw, suid, dev, exec, auto, nouser, async S/O
auto/noauto Tous Montage automatique/pas de montage automatique lors de l'utilisation de la commande mount -a auto
rw/ro Tous Montage en lecture-écriture/lecture seule rw
suid/nosuid Tous Les bits SUID et SGID sont/ne sont pas pris en compte suid
dev/nodev Tous Interprète/n'interprète pas les fichiers spéciaux de périphériques dev
exec/noexec Tous Autorise:n'autorise pas l'exécution des programmes exec
sync/async Tous Montage synchrone/asynchrone async
user/nouser Tous Autorise/n'autorise pas un utilisateur à monter/démonter le système de fichier. Le point de montage est celui spécifié dans le fichier /etc/fstab. Seul l'utilisateur qui a monté le système de fichiers peut le démonter S/O
users Tous Autorise tous les utilisateurs à monter/démonter le système de fichier S/O
owner Tous Autorise le propriétaire du périphérique de le monter S/O
atime/noatime Norme POSIX Inscrit/n'inscrit pas la date d'accès atime
uid=valeur Formats non-Linux Spécifie le n° du propriétaire des fichiers pour les systèmes de fichiers non-Linux root
gid=valeur Formats non-Linux Spécifie le n° du groupe propriétaire S/O
umask=valeur Formats non-Linux Spécifie les permissions (droits d'accès/lecture/écriture) S/O
dmask=valeur Formats non-Linux Spécifie les droits d'usage des dossiers (Obsolète, préférer dir_mode) umask actuel
dir_mode=valeur Formats non-Linux Spécifie les droits d'usage des dossiers umask actuel
fmask=valeur Formats non-Linux Spécifie les droits d'usage des fichiers (Obsolète, préférer file_mode) umask actuel
file_mode=valeur Formats non-Linux Spécifie les droits d'usage des fichiers umask actuel

Fichiers de swap

Sous Ubuntu, vous pouvez aussi bien utiliser un fichier de swap qu'une partition. La mise en place de ce fichier est faite en utilisant la commande dd.

La commande dd copie le fichier passé en entrée dans le fichier de sortie en limitant le nombre d'octets copiés par l'utilisation de deux options :

  • count
    • le nombre
  • bs
    • la taille du bloc à copier

Dans le cas du fichier swap il convient d'utiliser le fichier spécial /dev/zero en tant que fichier d'entrée. Le fichier /dev/zero contient une valeur null.

Pour créer votre fichier de swap de 256Mo, appelé swap, saisissez la commande suivante :

root@ubuntu:~# dd if=/dev/zero of=/swap bs=1024k count=256
256+0 enregistrements lus
256+0 enregistrements écrits
268435456 octets (268 MB) copiés, 4,24126 s, 63,3 MB/s

Pour préparer le fichier en tant qu'espace de swap, saisissez la commande suivante :

root@ubuntu:~# mkswap /swap
Configure l'espace d'échange (swap) en version 1, taille = 262140 Kio
pas d'étiquette, UUID=3442c3ed-8e48-4428-9ab7-ac8642acdd8b

Pour activer le fichier avec une priorité de 3, saisissez la commande suivante :

root@ubuntu:~# swapon -p3 /swap

Pour visualiser les éspaces swap, saisissez la commande suivante :

root@ubuntu:~# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	1997820	0	-1
/swap                                   file		262140	0	3

Le fichier de swap, ayant une priorité de 3, sera utilisé avant la partition de swap ayant une priorité de -1.

Pour activer le fichier swap d'une manière permanente, il convient d'éditer le fichier /etc/fstab ainsi :

/etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=70eb8bc5-1759-433d-9797-9342a7b82cb2 /               ext4    errors=remount-ro,acl 0       1
# swap was on /dev/sda5 during installation
/swap		swap		swap		defaults,pri=3	0	0
UUID=a8b7b615-a3de-410a-8184-2acf798f6144 none            swap    sw              0       0

Ne modifiez pas votre fichier /etc/fstab car vous allez supprimer le fichier de swap.

Désactivez maintenant le fichier swap :

root@ubuntu:~# swapoff /swap
root@ubuntu:~# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	1997820	0	-1

Supprimez maintenant le fichier de swap :

root@ubuntu:~# rm /swap

<html> <center> Copyright © 2004-2016 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>. </center> </html>


Menu