Section courante

A propos

Section administrative du site

Les partitions

La gestion des partitions Linux complexe et variés, ainsi il y a plusieurs façon d'aborder le problème :

Bloc de périphériques

Un périphérique de bloc est une couche d'abstraction pour tout périphérique d'entreposage pouvant être formaté en blocs de taille fixe; Les blocs individuels peuvent être accédés indépendamment de l'accès à d'autres blocs. Un tel accès est souvent appelé accès aléatoire. La couche d'abstraction de blocs de taille fixe accessibles de manière aléatoire permet aux programmes d'utiliser ces périphériques de bloc sans se soucier de savoir si le périphérique sous-jacent est un disque dur, une disquette, un CD, un unité de disque dur SSD, un lecteur réseau ou un type de périphérique virtuel tel qu'un système de fichiers en mémoire.

Les exemples de périphériques blocs incluent le premier disque dur IDE ou SATA de votre système (/dev/sda ou /dev/hda) ou le deuxième unité SCSI, IDE ou USB (/dev/sdb). Utilisez la commande ls -l pour afficher les entrées /dev. Le premier caractère sur chaque ligne de sortie est b pour un périphérique bloc, tel qu'une disquette, un lecteur de CD, un disque dur IDE ou un disque dur SCSI; et c pour un périphérique caractère, tel qu'un terminal ou (tty) ou un périphérique nul. Voir les exemples de «ls -l» sous Fedora 21 :

ls -l /dev/null /dev/sd[ab] /dev/sr0 /dev/tty0

on obtiendra un résultat ressemblant à ceci :

crw-rw-rw-. 1 root root   1,  3 Jul 27 20:38 /dev/null
brw-rw----. 1 root disk   8,  0 Jul 30 07:46 /dev/sda
brw-rw----. 1 root disk   8, 16 Jul 30 07:46 /dev/sdb
brw-rw----+ 1 root cdrom 11,  0 Jul 27 20:38 /dev/sr0
crw--w----. 1 root tty    4,  0 Jul 27 20:38 /dev/tty0

Partitions

Pour certains périphériques bloc, tels que les disquettes et les disques CD ou DVD, il est courant d'utiliser l'ensemble du média comme un système de fichiers unique. Cependant, avec de gros disques durs, et même avec des clefs mémoire USB, il est plus courant de diviser, ou de partitionner, l'espace disponible en plusieurs partitions différentes.

Les partitions peuvent être de tailles différentes et différentes partitions peuvent avoir des systèmes de fichiers différents, de sorte qu'un seul disque peut être utilisé à de nombreuses fins, y compris le partage entre plusieurs systèmes d'exploitation. Par exemple, j'utilise des systèmes de test avec plusieurs distributions Linux différentes et parfois un système Windows, tous partageant un ou deux disques durs.

Même si les disques modernes utilisent l'adressage par blocs logiques (LBA), ce qui rend la géométrie largement hors de propos, l'unité d'allocation fondamentale pour le partitionnement MBR est souvent encore le cylindre.

Affichage des informations de partition

Les informations de partition sont entreposées dans une table de partition sur le disque. Le tableau répertorie les informations sur le début et la fin de chaque partition, des informations sur son type et si elle est marquée comme amorçable ou non. Pour créer et supprimer des partitions, vous modifiez la table de partition à l'aide d'un programme spécialement conçu pour le travail.

Affichage des informations de partition MBR à l'aide de fdisk

La commande fdisk avec l'option -l est utilisée pour lister les partitions. Ajoutez un nom de périphérique, tel que /dev/sda, si vous souhaitez consulter les partitions sur un unité de disuqe particulier. Notez que les outils de partitionnement nécessitent un accès root. L'exemple suivant, sous Ubuntu 14, montre les partitions sur les disques durs principaux de deux systèmes :

sudo fdisk -l /dev/sda

on obtiendra un résultat ressemblant à ceci :

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1  512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xed1f86f7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1             63   185915519    92957728+   7  HPFS/NTFS/exFAT
/dev/sda2       185915520   195365519     4725000   12  Compaq diagnostics
/dev/sda3       195366910   976773119   390703105    5  Extended
/dev/sda5       195366912   293021695    48827392   83  Linux
/dev/sda6       293023744   312553471     9764864   82  Linux swap / Solaris
/dev/sda7       312555520   333035519    10240000   83  Linux

Affichage des informations de partition GPT à l'aide de gdisk

Comme la commande fdisk pour les disques formatés MBR, le gdisk avec l'option -l est utilisé pour lister les partitions pour les disques formatés GPT. Ajoutez un nom de périphérique, tel que /dev/sda, si vous souhaitez consulter les partitions sur un unité de disque particulier. Comme avec fdisk, le gdisk nécessite un accès root. L'exemple suivant montre la commande gdisk affichant la partition d'un disque dur formaté GPT en tonalité avec vos systèmes où la partition occupe près de la moitié du disque disponible sous Fedora 21 :

gdisk -l /dev/sdc

on obtiendra un résultat ressemblant à ceci :

GPT fdisk (gdisk) version 1.0.0

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B5D8C34A-32BF-48EA-8800-BE195E292F1D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 2953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 1004111213 sectors (478.8 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       949415935   452.7 GiB   0700

Notez la présence d'un protective MBR. Cela permet aux programmes n'étant pas conscients du formatage GPT de voir le disque comme si le disque entier était occupé par une seule partition. Les versions actuelles de fdisk sont conscientes du formatage GPT et afficheront également les partitions sur un disque formaté GPT.

Affichage des informations de partition à l'aide de parted

La commande parted est un éditeur de partition fonctionnant avec les disques au format MBR et GPT. L'exemple suivant montre le deuxième disque de la liste du disque avec Fedora 21 :

parted /dev/sda p

on obtiendra un résultat ressemblant à ceci :

Model: ATA WDC WD6401AALS-0 (scsi)
Disk /dev/sda: 640GB
Sector size (logical/physical): 512B/512B
Partition Table   : msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  1045MB  1045MB  primary   ext3
 2      1045MB  11.5GB  10.5GB  primary   linux-swap(v1)
 4      11.5GB  640GB   629GB   extended
 5      11.5GB  85.7GB  74.2GB  logical   ext4
 6      85.7GB  159GB   73.4GB  logical   ext4
 7      159GB   233GB   74.1GB  logical   ext4            boot
 8      233GB   307GB   74.1GB  logical   ext3
 9      307GB   381GB   73.9GB  logical   ext3
10      381GB   470GB   89.1GB  logical   ext4
11      470GB   552GB   82.2GB  logical   ext3
12      552GB   640GB   87.7GB  logical   ext4

ensuite tapez :

parted /dev/sdc p

on obtiendra un résultat ressemblant à ceci :

Model: ATA WDC WD1007FZEX-0 (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table   : gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  486GB  486GB  ext4               msftdata

Partitionner un disque

Vous venez de voir comment afficher les informations de partition à l'aide des commandes fdisk, gdisk et parted. Ces commandes fournissent également un environnement piloté par menus pour éditer la table de partition pour créer ou supprimer des partitions.

Sauvegardez les données importantes avant de commencer, comme pour toute opération pouvant entraîner une perte de données. Ne modifiez pas les partitions en cours d'utilisation. Planifiez vos actions et exécutez-les avec soin. Le démarrage d'une distribution en direct à partir d'un CD, d'un DVD ou d'une clef USB est un bon moyen de s'assurer qu'aucune partition de disque dur n'est utilisée. Connaissez votre outil. La commande fdisk ne valide aucune modification sur votre disque tant que vous ne le lui demandez pas. D'autres outils, y compris parted, peuvent valider des modifications au fur et à mesure. Arrêtez si vous faites une erreur. Les outils de partitionnement écrivent la table de partition. À moins que l'outil que vous utilisez n'inclut également la possibilité de déplacer, redimensionner, formater ou écrire dans la zone de données de votre disque, vos données ne seront pas touchées.

Partitionner un disque MBR à l'aide de fdisk

Si vous avez besoin de changer des partitions étant normalement utilisées, vous voudrez probablement le faire à partir d'un live CD ou d'une clef USB. Pour notre premier exemple d'ajout d'une partition à l'aide de fdisk, nous utiliserons un DVD live de Knoppix 7.4.2. Pour démarrer fdisk en mode interactif, donnez simplement le nom d'un disque, tel que /dev/sda ou /dev/sdb, comme paramètre. Tapez la commandes suivante pour une autorité root :

su -

Ensuite, la commande suivante :

fdisk /dev/sda

on obtiendra un résultat ressemblant à ceci :

Command (m for help):

Les anciennes versions de fdisk peuvent vous donner un avertissement concernant les disques avec plus de 1024 cylindres. Si votre BIOS est très ancien et ne prend pas en charge le démarrage au-delà du cylindre 1024, cela peut s'appliquer à vous, mais la plupart des systèmes actuels ne seront pas affectés par cette limite et les versions modernes de fdisk n'affichent plus l'avertissement. Vous pouvez également trouver que votre version a une option -c pour désactiver le mode de compatibilité DOS. Ceci est généralement recommandé et supprimera également certains avertissements.

Tapez m pour afficher une liste des commandes à une lettre disponibles, comme indiqué dans l'exemple suivante :

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

Tapez la lettre p pour afficher la partition existante sur ce disque. Voici un exemple de sortie :

Command (m for help): p

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1  512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00064a1a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63     2040254     1020096   83  Linux
/dev/sda2         2040255    22523129    10241437+  82  Linux swap / Solaris
/dev/sda4        22523191  1250258624   613867717    5  Extended
/dev/sda5        22523193   167397299    72437053+  83  Linux
/dev/sda6       167397363   310761359    71681998+  83  Linux
/dev/sda7      310761423   455442749    72340663+  83  Linux
/dev/sda8       455442813   600092009    72324598+  83  Linux
/dev/sda9       600092073   744436034    72171981   83  Linux
/dev/sda10      744436098   918439935    87001919   83  Linux
/dev/sda11      918441984  1079044095    80301056   83  Linux
/dev/sda12     1079053983  1250258624    85602321   83  Linux

Command (m for help): 

Ce disque particulier est un disque de 640 Go avec deux partitions principales, /dev/sda1 et /dev/sda2, et une partition étendue /dev/sda4 contenant 8 partitions logiques. Il existe une partition d'échange Linux (Linux swap).

Ajout d'une partition à l'aide de fdisk

Utilisons maintenant une partie de la très petite quantité d'espace libre à la fin du disque pour ajouter une partition principale que nous formaterons éventuellement en FAT32.

Commencez par utiliser la commande n pour créer une nouvelle partition :

Command (m for help): n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): p         
Selected partition 3
First sector (22523130-1250263727, default 22523130): 1250258625
Last sector, +sectors or +size{K,M,G} (1250258625-1250263727, default 1250263727): 
Using default value 1250263727

Command (m for help): p

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1  512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00064a1a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63     2040254     1020096   83  Linux
/dev/sda2         2040255    22523129    10241437+  82  Linux swap / Solaris
/dev/sda3      1250258625  1250263727        2551+  83  Linux
/dev/sda4        22523191  1250258624   613867717    5  Extended
/dev/sda5        22523193   167397299    72437053+  83  Linux
/dev/sda6       167397363   310761359    71681998+  83  Linux
/dev/sda7      310761423   455442749    72340663+  83  Linux
/dev/sda8       455442813   600092009    72324598+  83  Linux
/dev/sda9       600092073   744436034    72171981   83  Linux
/dev/sda10      744436098   918439935    87001919   83  Linux
/dev/sda11      918441984  1079044095    80301056   83  Linux
/dev/sda12     1079053983  1250258624    85602321   83  Linux

Partition table entries are not in disk order

Command (m for help):

Une partition principale doit être numérotée de 1 à 4, donc une fois que nous avons sélectionné p comme type de partition, notre seul choix pour le numéro de partition était 3 car le disque a déjà 1, 2 et 4 en cours d'utilisation. Nous avons spécifié 1250258625 comme secteur de départ car il s'agit d'un secteur au-delà du dernier secteur utilisé pour /dev/sda12. Nous avons pris la valeur par défaut pour le secteur de fin comme dernier secteur sur le disque. La nouvelle partition /dev/sda3 a 2551 blocs de 1K, donc elle est vraiment minuscule.

C'est une bonne idée d'attribuer des numéros de partition de manière séquentielle; certains outils se plaignent si cela n'est pas fait et fdisk nous avertit que les entrées de notre table de partition ne sont plus dans l'ordre du disque.

Notez également que notre nouvelle partition a reçu un type de 83, pour une partition de données Linux. Considérez cela comme un indicateur du système d'exploitation de l'utilisation prévue de la partition. L'utilisation éventuelle devrait correspondre à cela, mais à ce stade, nous n'avons même pas la partition formatée, et encore moins aucune donnée dessus.

Vous avez peut-être remarqué que lorsque nous avons entré la sous-commande n pour créer une nouvelle partition, les seuls choix étaient «l» pour logique et «p» pour primaire. Vous ne verrez que des options pour les types de partitions possibles que vous pourriez créer. Vous verriez «e» pour étendu si le disque n'avait pas déjà une partition étendue. Notez également que notre partition étendue (/dev/sda4) est de type 5.

Modification du type de partition à l'aide de fdisk

Avant de quitter fdisk, nous allons changer le type de partition pour notre nouvelle partition. Nous faisons cela en utilisant la sous-commande t pour définir le type de partition. Nous définissons /dev/sda3 sur le type b (W95 FAT32). Si vous voulez voir la liste complète des types pris en charge, entrez L.

Command (m for help):  t
Partition number (1-12):  3
Hex code (type L to list codes):  b
Changed system type of partition 3 to b (W95 FAT32)

Command (m for help): 

Sauvegarder la table de partition

Jusqu'à présent, vous avez fait une édition en mémoire d'une table de partition. Nous pourrions utiliser la commande q pour quitter sans enregistrer les modifications. Si quelque chose ne vous convient pas, vous pouvez utiliser la commande d pour supprimer une ou plusieurs partitions afin de pouvoir les redéfinir. Si vous êtes satisfait de votre configuration, utilisez la commande v pour vérifier votre configuration, puis la commande w pour écrire la nouvelle table de partition et à quel point fdisk se termine.

Command (m for help): v
Remaining 12367 unallocated 512-byte sectors

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

Si vous exécutez à nouveau fdisk -l, vous verrez que Linux connaît maintenant les nouvelles partitions. Contrairement à certains systèmes d'exploitation, il n'est pas toujours nécessaire de redémarrer pour voir les modifications. Un redémarrage peut être nécessaire si, par exemple, /dev/hda3 est devenu /dev/hda2 car le /dev/hda2 d'origine a été supprimé. Si un redémarrage est nécessaire, fdisk devrait vous le dire.

Plus d'options sur fdisk

Ni LILO ni GRUB n'utilisent l'indicateur de démarrage. Si l'un de ces éléments est installé dans le MBR, il peut démarrer n'importe quelle partition, qu'elle soit principale ou logique.

Vous pouvez également utiliser fdisk pour corriger l'ordre des partitions dans la table de partition si vous en avez besoin. Cela modifiera généralement les numéros de partition, vous devrez donc peut-être faire d'autres travaux pour restaurer votre système sur un système en état de marche. Pour effectuer ce changement, utilisez la sous-commande x pour passer en mode expert, puis la sous-commande f pour corriger l'ordre des partitions.

Command (m for help): p

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1  512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00064a1a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63     2040254     1020096   83  Linux
/dev/sda2         2040255    22523129    10241437+  82  Linux swap / Solaris
/dev/sda3      1250258625  1250263727        2551+   b  W95 FAT32
/dev/sda4        22523191  1250258624   613867717    5  Extended
/dev/sda5        22523193   167397299    72437053+  83  Linux
/dev/sda6       167397363   310761359    71681998+  83  Linux
/dev/sda7      310761423   455442749    72340663+  83  Linux
/dev/sda8       455442813   600092009    72324598+  83  Linux
/dev/sda9       600092073   744436034    72171981   83  Linux
/dev/sda10      744436098   918439935    87001919   83  Linux
/dev/sda11      918441984  1079044095    80301056   83  Linux
/dev/sda12     1079053983  1250258624    85602321   83  Linux

Partition table entries are not in disk order

Command (m for help): x

Expert command (m for help): m
Command action
   b   move beginning of data in a partition
   c   change number of cylinders
   d   print the raw data in the partition table
   e   list extended partitions
   f   fix partition order
   g   create an IRIX (SGI) partition table
   h   change number of heads
   i   change the disk identifier
   m   print this menu
   p   print the partition table
   q   quit without saving changes
   r   return to main menu
   s   change number of sectors/track
   v   verify the partition table
   w   write table to disk and exit

Expert command (m for help): f
Done.

Expert command (m for help): p

Disk /dev/sda: 255 heads, 63 sectors, 77825 cylinders

Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID
 1 00   1   1    0 254  63  126         63    2040192 83
 2 00   0   1  127 254  63 1023    2040255   20482875 82
 3 00 254  63 1023 254  63 1023   22523191 1227735434 05
 4 00   0   1    1  80  63    1 1250258625       5103 0b
 5 00 254  63 1023 254  63 1023          2  144874107 83
 6 00 254  63 1023 254  63 1023         63  143363997 83
 7 80 254  63 1023 254  63 1023         63  144681327 83
 8 00 254  63 1023 254  63 1023         63  144649197 83
 9 00 254  63 1023 254  63 1023         63  144343962 83
10 00 254  63 1023 254  63 1023         63  174003838 83
11 00 254  63 1023 254  63 1023       2048  160602112 83
12 00 254  63 1023 254  63 1023         63  171204642 83

Expert command (m for help): q

Si vous voulez juste voir quel serait le nouvel ordre de partition sans le changer, vous pouvez utilisez la sous-commande q pour quitter comme nous l'avons fait dans cet exemple, plutôt que d'écrire la table de partition mise à jour sur le disque. Vous pouvez voir dans le menu des commandes expertes que beaucoup ne seront probablement jamais utilisées et vous ne devriez les utiliser que si vous savez ce que vous faites. Notez également que l'affichage de la partition a un format différent en mode expert.

Partitionner un disque GPT à l'aide de gdisk

Il est possible d'ajouter des partitions aux disques formatés GPT à l'aide de la commande gdisk. Ainsi, par exemple, on peut ajouter une partition d'échange (swap) de 4 Go et une partition de données de 40 Go.

Attention: si vous utilisez gdisk sur un disque formaté MBR, il vous proposera de convertir le disque au format GPT. Cela pourrait détruire les données sur votre disque, alors assurez-vous d'avoir de bonnes sauvegardes avant d'essayer cela.

L'exemple suivant montre que gdisk démarre en utilisant le disque MBR qu'il utilisé ci-dessus (/dev/sda), puis en utilisant un disque au format GPT (/dev/sdc). Il utilise /dev/sdc pour nos deux nouvelles partitions :

gdisk /dev/sda

Il affichera quelque chose ressemblant à ceci :

GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


*
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
*


Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.

Command (? for help): q

root@attic4-cent ~gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): 

Comme avec fdisk, vous pouvez obtenir de l'aide. Utilisez la sous-commande ? comme indiqué dans l'exemple suivant :

Command (? for help): ?
b    back up GPT data to a file
c    change a partition's name
d    delete a partition
i    show detailed information on a partition
l    list known partition types
n    add a new partition
o    create a new empty GUID partition table (GPT)
p    print the partition table
q    quit without saving changes
r    recovery and transformation options (experts only)
s    sort partitions
t    change a partition's type code
v    verify disk
w    write table to disk and exit
x    extra functionality (experts only)
?    print this menu

Command (? for help): 

L'exemple suivant montre comment ajouter nos deux partitions. Au départ, ils utiliseront tous les deux par défaut des partitions de données Linux (type 8300). Notez l'utilisation de +4G et +40G pour spécifier les derniers secteurs des partitions :

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-1953525134, default = 949415936) or {+-}size{KMGTP}: 
Last sector (949415936-1953525134, default = 1953525134) or {+-}size{KMGTP}: +4G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): n
Partition number (3-128, default 3): 
First sector (34-1953525134, default = 957804544) or {+-}size{KMGTP}: 
Last sector (957804544-1953525134, default = 1953525134) or {+-}size{KMGTP}: +40G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): 

Vous pouvez changer le type de partition pour /dev/sdc2 en partition d'échange (Swap Linux). L'exemple suivant montre les types disponibles et comment changer /dev/sdc2. On voit également la table de partition résultante, y compris la première partition étant déjà sur le disque :

Command (? for help): l
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot   
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM           
a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap        
a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID  
a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap   
a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum  
a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS          
a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted    
a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+      
af01 Apple RAID            af02 Apple RAID offline    af03 Apple label         
af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
Press the <Enter> key to see more codes: 
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID            

Command (? for help): t
Partition number (1-3): 2
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/sdc: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F5D8C34A-43BF-59EA-9800-BE195E292F1D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 911836525 sectors (434.8 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       949415935   452.7 GiB   0700  
   2       949415936       957804543   4.0 GiB     8200  Linux swap
   3       957804544      1041690623   40.0 GiB    8300  Linux filesystem

Command (? for help): i

Notez que /dev/sdc1 a un type de 0700 étant des données de base Microsoft. La partition est en fait formatée comme un système de fichiers ext4 de Linux. Certains types de partition, tels que les données de base Microsoft, sont importants pour certains systèmes d'exploitation. D'autres, comme dans ce cas, ne sont que des indices sur un système d'exploitation. Notre dernière tâche est de vérifier la table de partition et de l'écrire :

Command (? for help): v

No problems found. 911836525 free sectors (434.8 GiB) available in 2
segments, the largest of which is 911834511 (434.8 GiB) in size.

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

Le dernier avertissement concernant le redémarrage est dû au fait que /dev/sdc1 était monté. Comme nous l'avons dit précédemment, il est généralement préférable de repartitionner un disque s'il n'a pas de système de fichiers monté.

Partitionnement à l'aide de parted

A présent, vous ne serez pas surpris d'apprendre que vous pouvez également utiliser parted en mode interactif. Vous pouvez l'utiliser pour des disques au format MBR ou GPT. Une grande différence entre parted et fdisk ou gdisk, est que parted exécute ses sous-commandes immédiatement et met à jour la table de partition au fur et à mesure.

L'exemple suivant montre comment démarrer parted pour mettre à jour /dev/sdc. Vous pouvez obtenir une liste de commandes et une aide sur les commandes individuelles. Ceci est illustré avec l'aide individuelle pour la sous-commande mklabel. Les commandes peuvent être abrégées en une abréviation unique minimale, nous aurions donc pu utiliser h mklabel au lieu de help mklabel. On affiche également la table des partitions et vous pouvez confirmer que /dev/sdc1 est la seule partition formatée et effectivement formatée en ext4. Utiliser la commande suivante :

parted /dev/sdc

Ensuite, vous tapez vos comment

GNU Parted 2.1
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                                             
  align-check TYPE N                        check partition N for TYPE(min|opt)
        alignment
  check NUMBER                             do a simple check on the file system
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another partition
  help [COMMAND]                           print general help, or help on
        COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition
        table)
  mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on
        partition NUMBER
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system
  move NUMBER START END                    move partition NUMBER
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table,
        available devices, free space, all found partitions, or a particular
        partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START
        and END
  resize NUMBER START END                  resize partition NUMBER and its file
        system
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition
        NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and
        copyright information of GNU Parted
(parted) help mklabel
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition
        table)

    LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun,
        loop
(parted) p         
Model: ATA WDC WD1003FZEX-0 (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table : gpt

Number  Start   End    Size    File system  Name              Flags
 1      1049kB  486GB  486GB   ext4
 2      486GB   490GB  4295MB               Linux swap
 3      490GB   533GB  42.9GB               Linux filesystem

(parted) 

Notez que parted utilise des puissances décimales plutôt que des puissances binaires pour Mo, Go,.., de sorte que la partition de 40 Go ayant été ajoutée par gdisk apparaît maintenant comme 42,9 Go en utilisant parted.

Voici maintenant un exemple d'ajout de deux autres partitions de système de fichiers Linux en utilisant la sous-commande mkpart. Vous pouvez utiliser la commande mkpartfs à la fois pour créer une partition et la formater, nous utiliserons mkpart comme le montre la commande suivante :

(parted) mkpart
Partition name?  []? "Linux filesystem"
File system type?  [ext2]? xfs
Start? 533GB
End? 573GB
Partition name?  []? "Linux filesystem"
File system type?  [ext2]? 
Start? 573GB
End? 613GB
(parted) p
Model: ATA WDC WD1003FZEX-0 (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table : gpt

Number  Start   End    Size    File system  Name              Flags
 1      1049kB  486GB  486GB   ext4
 2      486GB   490GB  4295MB               Linux swap
 3      490GB   533GB  42.9GB               Linux filesystem
 4      533GB   573GB  39.7GB               Linux filesystem
 5      573GB   613GB  40.0GB               Linux filesystem

(parted)

Vous avez peut-être remarqué que parted nous a posé des questions sur le type de système de fichiers mais pas sur le code du type de partition. On a spécifié xfs pour un et par défaut ext2 pour le second. En théorie, parted utilise le type de système de fichiers prévu pour déterminer le type de partition correct. On peut utiliser gdisk pour afficher les types n'étant pas séparés affectés à nos nouvelles partitions :

gdisk -l /dev/sdc

on obtiendra un résultat ressemblant à ceci :

GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F5D8C34A-43BF-59EA-9800-BE195E292F1D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 756262253 sectors (360.6 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       949415935   452.7 GiB   0700  
   2       949415936       957804543   4.0 GiB     8200  Linux swap
   3       957804544      1041690623   40.0 GiB    8300  Linux filesystem
   4      1041690624      1119139839   36.9 GiB    0700  Linux filesystem
   5      1119139840      1197264895   37.3 GiB    0700  Linux filesystem

Probablement /dev/sdc1 a été créé en utilisant parted ou peut-être gparted.

Types de système de fichiers

Le système d'exploitation Linux prend en charge plusieurs systèmes de fichiers différents. Chacun a ses forces et ses faiblesses et son propre ensemble de caractéristiques de performance. Un attribut important d'un système de fichiers est la journalisation, permettant une récupération beaucoup plus rapide après une panne du système. En général, un système de fichiers journalisé est préférable à un système non journalisé lorsque vous avez le choix. Vous pouvez également vous demander si le système de fichiers choisi prend en charge Security Enhanced Linux (ou SELinux). Deux systèmes de fichiers plus récents, ZFS et btrfs, utilisent une technique appelée Copy on Write pour améliorer l'intégrité des données et répondre aux besoins d'entreposage importants.

Le système de fichiers ext2

Le système de fichiers ext2 (également connu sous le nom de deuxième système de fichiers étendu) a été développé pour combler les lacunes du système de fichiers Minix utilisé dans les premières versions de Linux. Il a été largement utilisé sous Linux depuis de nombreuses années. Il n'y a pas de journalisation dans ext2, et il a été largement remplacé par ext3 et ext4.

Le système de fichiers ext3

Le système de fichiers ext3 ajoute une capacité de journalisation à un système de fichiers ext2 standard et est donc une croissance évolutive d'un système de fichiers très stable. Il offre des performances raisonnables dans la plupart des conditions et est toujours en cours d'amélioration. Puisqu'il ajoute la journalisation au-dessus du système de fichiers ext2 éprouvé, il est possible de convertir un système de fichiers ext2 existant en ext3 et même de le reconvertir si nécessaire.

Le système de fichiers ext4 a commencé comme des extensions d'ext3 pour répondre aux demandes de systèmes de fichiers de plus en plus volumineux en augmentant les limites d'entreposage et en améliorant les performances. Pour préserver la stabilité d'ext3, il a été décidé en juin 2006 de charger les extensions dans un nouveau système de fichiers, ext4. Le système de fichiers ext4 est sorti en décembre 2008 et inclus dans le noyau Linux 2.6.28. Certains des changements par rapport à ext3 sont les suivants :

Le système de fichiers XFS

Le système de fichiers XFS est un système de fichiers avec journalisation. Il est livré avec des fonctionnalités robustes et est optimisé pour l'évolutivité. Le XFS met en cache de manière agressive les données en transit dans la RAM, de sorte qu'une alimentation sans interruption est recommandée si vous utilisez XFS.

Le système de fichiers d'échange (swap)

Le système de fichiers d'échange (swap) doit être formaté pour être utilisé comme espace d'échange, mais il n'est généralement pas considéré comme un système de fichiers.

Le système de fichiers vfat

Ce système de fichiers (également connu sous le nom de FAT32) n'est pas journalisé et manque de nombreuses fonctionnalités requises pour une mise en oeuvre complète du système de fichiers Linux. Il est utile pour échanger des données entre les systèmes d'exploitation Windows et Linux car il peut être lu à la fois par Windows et Linux. N'utilisez pas ce système de fichiers pour Linux, sauf pour le partage de données entre Windows et Linux. Si vous décompressez avec unzip ou untar une archive Linux sur un disque vfat, vous perdrez les autorisations, telles que l'autorisation d'exécution, et vous perdrez tous les liens symboliques ayant pu être entreposés dans l'archive.

Le système de fichiers ReiserFS

Le système de fichiers LReiserFS est un système de fichiers basé sur un arbre B-tree ayant de très bonnes performances globales, en particulier pour un grand nombre de petits fichiers. Le système de fichiers ReiserFS évolue également bien et dispose d'une journalisation. Il n'est plus en développement actif, ne prend pas en charge SELinux et a été largement remplacé par Reiser4 dont l'avenir n'est pas clair.

Le système de fichiers btrfs

Le btrfs (système de fichiers B-Tree) a été initialement développé par Oracle et est disponible sous la licence GPL. Il s'agit d'un nouveau système de fichiers de copie sur écriture pour Linux visant à implémenter des fonctionnalités avancées tout en se concentrant sur la tolérance aux pannes, la réparation et la facilité d'administration. Le code du système de fichiers Btrfs est dans le noyau principal depuis la version 2.6.29 en 2009. En particulier, il est conçu pour gérer efficacement les fichiers volumineux et gérer les systèmes de fichiers répartis sur plusieurs périphériques. Certains des objectifs de conception comprennent :

Comme la plupart des nouveaux systèmes de fichiers, il faut beaucoup de temps au système pour gagner suffisamment de stabilité pour que les utilisateurs y consacrent des données importantes, il ne s'agit donc pas encore du système de fichiers principal pour la plupart des distributions Linux.

Le système de fichiers ext3 est mature et a été utilisé comme système de fichiers par défaut sur de nombreuses distributions. Le système de fichiers ext4 le remplace maintenant comme système de fichiers par défaut sur plusieurs distributions, à commencer par des distributions comme Red Hat Enterprise Linux 6, Fedora 17 et Ubuntu 12.10. Le système de fichiers ReiserFS a été utilisé pendant de nombreuses années comme système par défaut sur certaines distributions, y compris SUSE, mais n'est pas largement utilisé aujourd'hui.

Création de systèmes de fichiers

Les distributions Linux utilise la commande mkfs pour créer des systèmes de fichiers et la commande mkswap pour créer de l'espace d'échange (swap). La commande mkfs est en fait une interface à plusieurs commandes spécifiques au système de fichiers telles que mkfs.ext3 pour ext3, mkfs.ext4 pour ext4 et mkfs.btrfs pour btrfs.

Quel support de système de fichiers est déjà installé sur votre système ? Utilisez la commande ls /sbin/mk`ls/sbin/mk` pour le découvrir :

ls /sbin/mk*

on obtiendra un résultat ressemblant à ceci :

/sbin/mkdosfs     /sbin/mkfs.cramfs   /sbin/mkfs.msdos        /sbin/mksquashfs
/sbin/mkdumprd    /sbin/mkfs.ext2     /sbin/mkfs.vfat         /sbin/mkswap
/sbin/mke2fs      /sbin/mkfs.ext3     /sbin/mkfs.xfs
/sbin/mkfs        /sbin/mkfs.ext4     /sbin/mkhomedir_helper
/sbin/mkfs.btrfs  /sbin/mkfs.ext4dev  /sbin/mkinitrd

Vous remarquerez différentes formes de certaines commandes. Par exemple, vous constaterez généralement que les fichiers mke2fs, mkfs.ext2 et mkfs.ext3 sont tous le même fichier, tandis que mkfs.msdos et mkfs.vfat sont généralement des liens symboliques vers mkdosfs. Les systèmes de fichiers pouvant être nécessaires pour démarrer le système utilisent généralement des liens physiques pour fournir les différents noms pour le même fichier. Les systèmes de fichiers ne pouvant pas être utilisés pour le système de fichiers/sous Linux, tels que vfat ou msdos, peuvent utiliser des liens symboliques à la place.

Il existe quelques options communes pour toutes les commandes mkfs. Les options spécifiques au type de système de fichiers en cours de création sont transmises à la commande de création appropriée, en fonction du type de système de fichiers spécifié dans l'option -type. L'exemple utilisent mkfs -typemkfs-type, mais vous pouvez utiliser les autres formes directement avec le même effet. Par exemple, vous pouvez utiliser mkfs -type ext2mkfs-typeext2, mk2fs ou mkfs.ext2.

Maintenant que nous avons créé toutes les partitions, vous pouvez redémarrer le système d'exploitation Linux et formater les systèmes de fichiers. Bien sûr, vous pouvez continuer à utiliser un système en direct si vous le souhaitez. N'oubliez pas que vous avez besoin des droits root pour créer des systèmes de fichiers.

Création d'un système de fichiers ext3

Formaterons la partition /dev/sdc3 en ext3 à l'aide de la commande mkfs suivante :

mkfs -t ext3 /dev/sdc3

on obtiendra un résultat ressemblant à ceci :

mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
2621440 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Notez qu'un journal est créé avec ext3. Si vous souhaitez ajouter un journal à un système ext2 existant, utilisez la commande tune2fs avec l'option -j.

Une option utile pour les systèmes de fichiers ext2, ext3 et ext4 est l'option -L avec un nom, attribuant une étiquette à la partition. Cela peut être utilisé à la place du nom du périphérique lors du montage de systèmes de fichiers; il fournit un certain niveau d'isolation contre les changements pouvant devoir être reflétés dans divers fichiers de contrôle. Pour afficher ou définir une étiquette pour un système de fichiers ext2, ext3 ou ext3 existant, utilisez la commande e2label. Les étiquettes sont limitées à une taille maximale de 16 caractères.

Un développement plus récent consiste à utiliser un identifiant unique universel, ou UUID, plutôt qu'une étiquette. Un UUID est un identifiant de 128 bits généralement affiché sous forme de 32 chiffres hexadécimaux par groupes de 8, séparés par quatre tirets. La plupart des systèmes de fichiers Linux génèrent un UUID automatiquement lorsque le système de fichiers est formaté. Utilisez la commande blkid (qui n'a pas besoin des droits root) pour voir l'UUID de la partition que nous venons de formater. Les UUID sont plus susceptibles d'être uniques que les étiquettes et sont particulièrement utiles pour les périphériques branchés à chaud tels que les clefs USB :

blkid /dev/sdc3

on obtiendra un résultat ressemblant à ceci :

/dev/sdc3: UUID="15efd400-d689-5205-b53a-f8b009eb5a55" SEC_TYPE="ext2" TYPE="ext3"

Création d'un système de fichiers ext4

On peut également créer un système de fichiers ext4 sur notre nouvelle partition, /dev/sdc4. Avec l'option -L de mkfs, étiquetez la partition et affichant également le GUID en utilisant la commande blkid comme nous l'avons fait pour la partition ext3 ci-dessus :

mkfs -t ext4 -L IAN-GPT-EXT4 /dev/sdc4

on obtiendra un résultat ressemblant à ceci :

mke2fs 1.41.12 (17-May-2010)
Filesystem label=IAN-GPT-EXT4
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
2424832 inodes, 9681152 blocks
484057 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
296 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ensuite la commande :

blkid /dev/sdc4

on obtiendra un résultat ressemblant à ceci :

/dev/sdc4: LABEL="IAN-GPT-EXT4" UUID="e69e0b28-beda-3255-bd5a-3d73672ac9e4" TYPE="ext4" 

Notez que la première ligne de la sortie mkfs confirme que le travail de création des systèmes de fichiers ext3 et ext4 est effectué par mke2fs.

Création d'un système de fichiers XFS

Formaterons maintenant /dev/sdc3 la partition que nous venons de formater en ext3 en utilisant le système de fichiers XFS. Si vous utilisez SELinux (Security Enhanced Linux) avec XFS, vous devez spécifier des inodes plus grands que la valeur par défaut de 256 à l'aide du paramètre -i. La valeur recommandée est 512. Cela est dû au fait que la taille par défaut de 256 octets n'est pas assez grande pour le XATTR de SELinux et qu'elle devrait être entreposée dans un noeud séparé. Notez que le formateur XFS vous avertit s'il trouve déjà un système de fichiers reconnu sur la partition. Notez également que l'UUID a été réaffecté par le format XFS. Voici la commande permettant la création d'un système de fichiers XFS :

mkfs -t xfs -i size=512 /dev/sdc3

on obtiendra un résultat ressemblant à ceci :

mkfs.xfs: /dev/sdc3 appears to contain an existing filesystem (ext3).
mkfs.xfs: Use the -f option to force overwrite.
root@attic4-cent ~mkfs -t xfs -i size=512 -f /dev/sdc3
meta-data=/dev/sdc3              isize=512    agcount=16, agsize=655360 blks
         =                       sectsz=4096  attr=2, projid32bit=0
data     =                       bsize=4096   blocks=10485760, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ensuite la commande :

blkid /dev/sdc3

on obtiendra un résultat ressemblant à ceci :

/dev/sdc3: UUID="26df203e-8ee8-4604-c65f-2a490e9a2f8c" TYPE="xfs" 

Vous pouvez étiqueter un système XFS à l'aide de l'option -L avec un nom. Ou vous pouvez utiliser la commande xfs_admin avec l'option -L pour ajouter une étiquette à un système de fichiers XFS existant. Utilisez l'option -l de xfs_admin pour afficher une étiquette. Contrairement à ext2, ext3 et ReiserFS, les étiquettes XFS ont une longueur maximale de 12 caractères. Voici la commande permettant la création d'un système de fichiers vfat :

mkfs -t vfat /dev/sda3

on obtiendra un résultat ressemblant à ceci :

mkfs.vfat 3.0.9 (31 Jan 2010)

ensuite la commande :

blkid /dev/sda3

on obtiendra un résultat ressemblant à ceci :

/dev/sda3: SEC_TYPE="msdos" UUID="9856-AAA8" TYPE="vfat"

Les UUID des systèmes de fichiers vfat sont plus courts que les UUID normaux et donc un peu moins susceptibles d'être uniques. Si vous souhaitez plutôt une étiquette, utilisez la commande dosfslabel. Les étiquettes des partitions DOS sont limitées à 11 caractères.

Pour notre dernier système de fichiers, on formatera la partition GPT, /dev/sdc5, en utilisant le système de fichiers btrfs comme indiqué dans la commande suivant :

mkfs -t btrfs /dev/sdc5

on obtiendra un résultat ressemblant à ceci :

WARNING! - Btrfs Btrfs v0.20-rc1 IS EXPERIMENTAL
WARNING! - see https://btrfs.wiki.kernel.org/index.php/Main_Page before using

fs created label (null) on /dev/sdc5
    nodesize 4096 leafsize 4096 sectorsize 4096 size 37.25GB
Btrfs Btrfs v0.20-rc1

Créer un espace d'échange (swap)

On peut créer de l'espace d'échange (swap) sur la partition /dev/sdc2 à l'aide de la commande mkswap comme l'indique l'exemple suivant :

mkswap /dev/sdc2

on obtiendra un résultat ressemblant à ceci :

Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=24ec5a36-18a4-558f-cb6e-b62800716211

Notez que les versions récentes de mkswap vous montrent l'UUID généré.

Contrairement aux systèmes de fichiers classiques, les partitions d'échange ne sont pas montées. Au lieu de cela, ils sont activés à l'aide de la commande swapon. Les scripts de démarrage de votre système Linux se chargeront généralement d'activer automatiquement vos partitions d'échange (swap).

Outils de partitionnement

De nombreuses distributions Linux incluent les commandes cfdisk ou sfdisk et leurs analogues GPT cgdisk et sgdisk. La commande cfdisk fournit une interface plus graphique que fdisk, en utilisant les fonctions de la bibliothèque ncurses comme le montre la capture d'écran suivante :

La commande sfdisk est destinée à une utilisation par les programmeurs et peut être scriptée. Utilisez-le uniquement si vous savez ce que vous faites.

Dans les environnements graphiques, il existe de nombreux outils, comme par l'outil gparted, conçu pour le bureau GNOME. Il utilise la bibliothèque GTK + GUI. Vous devrez peut-être installer gparted car il ne fait peut-être pas partie de votre installation par défaut avec une commande comme ceci :

sudo apt install gparted

Ensuite, vous tapez en ligne de commande «gparted» et vous aurez un résultat comme ceci :

Également, la distribution Debian 8 propose UDisk inclus avec la distribution :

La gestion des volumes logiques avec LVM

La gestion de l'espace disque a toujours été une tâche importante pour les administrateurs système. Le manque d'espace disque était le début d'une longue et complexe série de tâches visant à augmenter l'espace disponible sur une partition de disque. Il fallait également mettre le système hors ligne. Cela impliquait généralement l'installation d'un nouveau disque dur, le démarrage en mode récupération ou en mode mono-utilisateur, la création d'une partition et d'un système de fichiers sur le nouveau disque dur, l'utilisation de points de montage temporaires pour déplacer les données du système de fichiers trop petit vers le nouveau, plus grand, en changeant le contenu du fichier /etc/fstab pour refléter le nom de périphérique correct pour la nouvelle partition, et en redémarrant pour remonter le nouveau système de fichiers sur le bon point de montage.

Le LVM permet une gestion très flexible de l'espace disque. Il fournit des fonctionnalités telles que la possibilité d'ajouter de l'espace disque à un volume logique et à son système de fichiers pendant que ce système de fichiers est monté et actif et il permet la collecte de plusieurs disques durs physiques et partitions en un seul groupe de volumes pouvant ensuite être divisé en volumes logiques.

Le gestionnaire de volume permet également de réduire la quantité d'espace disque allouée à un volume logique, mais il y a quelques exigences. Tout d'abord, le volume doit être démonté. Deuxièmement, le système de fichiers lui-même doit être réduit en taille avant que le volume sur lequel il réside puisse être réduit. Il est important de noter que le système de fichiers lui-même doit autoriser le redimensionnement pour que cette fonctionnalité fonctionne. Les systèmes de fichiers EXT2, EXT3 et EXT4 permettent tous le redimensionnement hors ligne (non monté) et en ligne (monté) lors de l'augmentation de la taille d'un système de fichiers, et le redimensionnement hors ligne lors de la réduction de la taille. Vous devriez vérifier les détails des systèmes de fichiers que vous avez l'intention d'utiliser afin de vérifier s'ils peuvent être redimensionnés et surtout s'ils peuvent être redimensionnés en ligne.

Extension d'un système de fichiers à la volée

Étant donné que la plupart des distributions modernes utilisent la gestion du volume logique par défaut, on pu attribuer de l'espace disque supplémentaire au volume logique approprié, puis étendre le système de fichiers de l'hôte à la volée. Cela signifie que vous n'avez pas eu à reformater tout le disque dur et à réinstaller le système d'exploitation ou même à redémarrer. On peut simplement assigné une partie de l'espace disponible au volume logique approprié et redimensionné le système de fichiers - tout cela pendant que le système de fichiers était en ligne et le programme en cours d'exécution. La machine virtuelle utilisait toujours le système de fichiers hôte. Après avoir redimensionné le volume logique et le système de fichiers, on peut reprendre l'exécution de la machine virtuelle et l'installation se poursuit comme si aucun problème ne s'était produit.

Le manque d'espace disque pendant l'exécution d'un programme critique arrive souvent à de nombreuses personnes. Et alors que de nombreux programmes, en particulier les programmes Windows, ne sont pas aussi bien écrits et résilients que VirtualBox, le Logical Volume Management de Linux permet de récupérer l'état sans perdre de données et sans avoir à redémarrer l'installation fastidieuse.

Structure LVM

La structure d'un environnement de disque Logical Volume Manager est la suivante :

La gestion du volume logique permet de combiner plusieurs disques durs individuels et/ou partitions de disque en un seul groupe de volumes (VG). Ce groupe de volumes peut ensuite être subdivisé en volumes logiques (LV) ou utilisé comme un seul grand volume. Des systèmes de fichiers normaux, tels que EXT3 ou EXT4, peuvent ensuite être créés sur un volume logique.

Ainsi, grâce au LVM, il est possible que deux disques durs physiques complets et une partition d'un troisième disque dur ont été combinés en un seul groupe de volumes. Deux volumes logiques seront alors créés à partir de l'espace dans le groupe de volumes et un système de fichiers, tel qu'un système de fichiers EXT3 ou EXT4, a été créé sur chacun des deux volumes logiques.

Ajouter de l'espace disque à un hôte est assez simple mais, cela se fait relativement rarement. Vous pouvez soit créer un groupe de volumes entièrement nouveau, soit ajouter le nouvel espace à un groupe de volumes existant et étendre un volume logique existant ou en créer un nouveau.

Ajout d'un nouveau volume logique

Il y a des moments où il est nécessaire d'ajouter un nouveau volume logique à un hôte. Par exemple, après avoir remarqué que le répertoire contenant les disques virtuels pour mes machines virtuelles VirtualBox remplissait le système de fichiers /home, vous pouvez décider de créer un nouveau volume logique dans lequel entreposer les données de la machine virtuelle, y compris les disques virtuels. Cela libérerait beaucoup d'espace dans mon système de fichiers /home et me permettrait également de gérer indépendamment l'espace disque pour les machines virtuelles.

Les étapes de base pour ajouter un nouveau volume logique sont les suivantes :

AVERTISSEMENT Seuls les systèmes de fichiers EXT3 et EXT4 peuvent être redimensionnés à la volée sur un système de fichiers monté en cours d'exécution. De nombreux autres systèmes de fichiers, y compris BTRFS et ZFS, ne peuvent pas être redimensionnés.

Installer le disque dur

S'il n'y a pas assez d'espace dans le groupe de volumes sur le ou les disques durs existants dans le système pour ajouter la quantité d'espace souhaitée, il peut être nécessaire d'ajouter un nouveau disque dur et de créer l'espace à ajouter au volume logique. Tout d'abord, installez le disque dur physique, puis effectuez les étapes suivantes.

Créer un volume physique à partir du disque dur

Il faut d'abord créer un nouveau volume physique (PV). Utilisez la commande ci-dessous, supposant que le nouveau disque dur est affecté en tant que /dev/hdd :

pvcreate /dev/hdd

Il n'est pas nécessaire de créer une partition d'aucune sorte sur le nouveau disque dur. Cette création du volume physique étant reconnu par le gestionnaire de volume logique peut être effectuée sur un disque brut nouvellement installé ou sur une partition Linux de type 83. Si vous comptez utiliser l'intégralité du disque dur, la création d'une partition en premier offrent des avantages particuliers et utilise l'espace disque pour les métadonnées pouvant autrement être utilisées dans la partie du PV.

Étendre le groupe de volumes existant

Dans cet exemple, nous allons étendre un groupe de volumes existant plutôt que d'en créer un nouveau; vous pouvez choisir de le faire dans les deux cas. Une fois le volume physique créé, étendez le groupe de volumes (VG) existant pour inclure l'espace sur le nouveau PV. Dans cet exemple, le groupe de volumes existant est nommé MyVG01 :

vgextend /dev/MyVG01 /dev/hdd

Créer le volume logique

Créez d'abord le volume logique (LV) à partir de l'espace libre existant dans le groupe de volumes. La commande ci-dessous crée un LV d'une taille de 50 Go. Le nom du groupe de volumes est MyVG01 et le nom du volume logique est Trucs.

lvcreate -L +50G --name Trucs MyVG01

Créer le système de fichiers

La création du volume logique ne crée pas le système de fichiers. Cette tâche doit être effectuée séparément. La commande ci-dessous crée un système de fichiers EXT4 correspondant au volume logique nouvellement créé.

mkfs -t ext4 /dev/MyVG01/Trucs

Ajouter une étiquette de système de fichiers

L'ajout d'une étiquette de système de fichiers facilite l'identification ultérieure du système de fichiers en cas de panne ou d'autres problèmes liés au disque.

e2label /dev/MyVG01/Trucs Trucs

Monter le système de fichiers

À ce stade, vous pouvez créer un point de montage, ajouter une entrée appropriée au fichier /etc/fstab et monter le système de fichiers. Vous devez également vérifier que le volume a été créé correctement. Vous pouvez utiliser les commandes df, lvs et vgs pour ce faire.

Redimensionner un volume logique dans un système de fichiers LVM

Le besoin de redimensionner un système de fichiers existe depuis le début des premières versions d'Unix et n'a pas disparu avec Linux. Cela est cependant devenu plus facile avec la gestion du volume logique.

Exemple

Cet exemple décrit comment redimensionner un volume logique existant dans un environnement LVM à l'aide de l'interface de ligne de commande (CLI). Il ajoute environ 50 Go d'espace au système de fichiers /Trucs. Cette procédure peut être utilisée sur un système de fichiers en direct monté uniquement avec le noyau Linux 2.6 (et supérieur) et les systèmes de fichiers EXT3 et EXT4.

Installer le disque dur

S'il n'y a pas assez d'espace sur le ou les disques durs existants dans le système pour ajouter la quantité d'espace souhaitée, il peut être nécessaire d'ajouter un nouveau disque dur et de créer l'espace à ajouter au volume logique. Tout d'abord, installez le disque dur physique, puis effectuez les étapes suivantes.

Créer un volume physique à partir du disque dur

Il faut d'abord créer un nouveau volume physique (PV). Utilisez la commande ci-dessous, supposant que le nouveau disque dur est affecté en tant que /dev/hdd :

pvcreate /dev/hdd

Il n'est pas nécessaire de créer une partition d'aucune sorte sur le nouveau disque dur. Cette création du volume physique étant reconnu par le gestionnaire de volume logique peut être effectuée sur un disque brut nouvellement installé ou sur une partition Linux de type 83. Si vous comptez utiliser l'intégralité du disque dur, la création d'une partition en premier offrent des avantages particuliers et utilise l'espace disque pour les métadonnées qui pourraient autrement être utilisées dans le cadre du PV.

Ajouter PV au groupe de volumes existant

Pour cet exemple, nous utiliserons le nouveau PV pour étendre un groupe de volumes existant. Une fois le volume physique créé, étendez le groupe de volumes (VG) existant pour inclure l'espace sur le nouveau PV. Dans cet exemple, le groupe de volumes existant est nommé MyVG01.

vgextend /dev/MyVG01 /dev/hdd

Étendre le volume logique

Étendez le volume logique (LV) à partir de l'espace libre existant au sein du groupe de volumes. La commande ci-dessous étend le LV de 50 Go. Le nom du groupe de volumes est MyVG01 et le nom du volume logique est Trucs.

lvextend -L +50G /dev/MyVG01/Trucs

Développer le système de fichiers

L'extension du volume logique étendra également le système de fichiers si vous utilisez l'option -r. Si vous n'utilisez pas l'option -r, cette tâche doit être effectuée séparément. La commande ci-dessous redimensionne le système de fichiers pour l'adapter au volume logique nouvellement redimensionné :

resize2fs /dev/MyVG01/Trucs

Vous devez vérifier que le redimensionnement a été effectué correctement. Vous pouvez utiliser les commandes df, lvs et vgs pour ce faire.



Dernière mise à jour : Vendredi, le 22 janvier 2021