Les partitions
La gestion des partitions Linux complexe et variés, ainsi il y a plusieurs façon d'aborder le problème :
- Utilisez fdisk, gdisk et parted pour créer et modifier des partitions MBR et GPT.
- Utilisez les commandes mkfs pour configurer les systèmes de fichiers ext2, ext3, ext4, xfs et vfat.
- Créer et gérer un espace d'échange (swap).
- LVM : Utilisation de partition de volume logique.
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 :
- Systèmes de fichiers jusqu'à 1 exaoctet avec des fichiers jusqu'à 16 téraoctets.
- L'utilisation d'extents pour remplacer la cartographie de blocs comme moyen d'améliorer les performances.
- Journalisation des sommes de contrôle pour améliorer la fiabilité.
- Vérification plus rapide du système de fichiers car les blocs non alloués peuvent être ignorés lors des vérifications.
- Allocation différée et allocateurs multiblocs pour améliorer les performances et réduire la fragmentation des fichiers.
- Des changements d'horodatage fournissant une granularité plus fine, une nouvelle date de création (nécessitant des mises à jour éventuelles de nombreuses autres bibliothèques et utilitaires pour devenir pleinement utiles). Un autre changement d'horodatage résout le problème de l'année 2038 étant causé par l'entreposage des horodatages sous forme d'entiers 32 bits signés.
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 :
- Grande taille de fichier (jusqu'à 2^64 octets).
- Sommes de contrôle sur les données et les métadonnées.
- Prise en charge intégrée de plusieurs périphériques.
- Sensibilisation aux SSD.
- Sauvegarde incrémentielle efficace.
- Intégrité des données
- La copie lors de l'écriture n'écrase pas les données, de sorte que les pannes matérielles ne laissent pas les données dans des états incohérents.
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 :
- Si nécessaire, installez un nouveau disque dur.
- Facultatif: créez une partition sur le disque dur.
- Créer un volume physique (PV) du disque dur complet ou une partition sur le disque dur.
- Attribuez le nouveau volume physique à un groupe de volumes existant (VG) ou créer un nouveau groupe de volumes.
- Créer un nouveau volume logique (LV) à partir de l'espace dans le groupe de volumes.
- Créer un système de fichiers sur le nouveau volume logique.
- Ajouter les entrées appropriées à /etc/fstab pour monter le système de fichiers.
- Monter le système de fichiers.
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.
- Si nécessaire, installez un nouveau disque dur.
- Facultatif : créez une partition sur le disque dur.
- Créez un volume physique (PV) du disque dur complet ou une partition sur le disque dur.
- Attribuez le nouveau volume physique à un groupe de volumes existant (VG) ou créez un nouveau groupe de volumes.
- Créez un ou plusieurs volumes logiques (LV) à partir de l'espace dans le groupe de volumes, ou développez un volume logique existant avec tout ou partie du nouvel espace dans le groupe de volumes.
- Si vous avez créé un nouveau volume logique, créez-y un système de fichiers. Si vous ajoutez de l'espace à un volume logique existant, utilisez la commande resize2fs pour agrandir le système de fichiers afin de remplir l'espace dans le volume logique.
- Ajoutez les entrées appropriées à /etc/fstab pour monter le système de fichiers.
- Montez le système de fichiers.
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.