Parted est un utilitaire GNU gratuit utilisé pour gérer les partitions de disque dur à partir de la ligne de commande. Il peut créer, supprimer, redimensionner et imprimer une partition de disque, et plus encore sous Linux.
Plus souvent, nous utilisons l'outil partagé pour le partitionnement de disque pour exécuter plusieurs systèmes d'exploitation, allouer un espace système spécifique, séparer des fichiers précieux ou étendre des volumes.
Traditionnellement, de nombreux utilisateurs utilisent l'outil fdisk pour le partitionnement, la principale raison d'utiliser parted lorsque la taille du disque est supérieure à 2 To. Initialement, parted ne prenait en charge que GPT, et à partir d'util-linux 2.23, fdisk a également commencé à prendre en charge GPT.
Dans ce tutoriel, je vais montrer comment utiliser la commande parted pour la gestion de disque sous Linux
Installer Parted sur Linux
Parted est installé par défaut sur la plupart des distributions Linux modernes. S'il n'est pas inclus dans votre distribution, installez parted manuellement.
Installation de parted sur les distributions aromatisées Ubuntu et Debian :
$ sudo apt-get install parted
Installation de parted sur CentOS et RHEL :
$ sudo yum install parted
Lorsque vous exécutez la commande parted sans aucune option, elle imprimera la version du package parted, choisissez le premier lecteur par défaut et attendez à l'invite de commandes supplémentaires. La commande Parted doit être exécutée en tant que root ou en tant qu'utilisateur avec un accès Sudo.
$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Tapez quit
pour quitter l'invite séparée.
Important : Toutes les modifications sont apportées au disque dès que vous avez tapé votre commande.
Répertorier les partitions de disque
Voyons comment imprimer toutes les informations du disque et ses partitions. Par défaut, parted choisit le premier lecteur. Pour imprimer toutes les partitions de disque, tapez print all
.
Remarque :L'avertissement affiché dans la sortie est dû au fait que ce disque dispose d'un espace disque non alloué qui n'a pas encore été provisionné.
ubuntu@linoxide:~$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 8590MB 8589MB primary ext4 boot
Warning: Not all of the space available to /dev/xvdb appears to be
used, you can fix the GPT to use all of the space (an extra 25165824
blocks) or continue with the current setting?
Fix/Ignore? Ignore
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1024MB 1024MB ext4 primary
2 1024MB 2048MB 1023MB ext4 primary
(parted)
Au lieu de cela, vous pouvez également utiliser une seule commande :
$ sudo parted /dev/xvda print all
Si vous avez plusieurs disques, vous pouvez sélectionner le disque à l'aide de la commande select :
Trouver de l'espace non alloué sur le disque
Pour trouver l'espace non alloué, choisissez votre disque puis lancez print free
commande.
Plus tard, nous verrons comment utiliser la commande resizepart pour étendre la partition lorsque vous avez plus d'espace disque non alloué.
Créer une nouvelle partition de disque en utilisant parted
Normalement un système d'exploitation est installé sur le premier disque /dev/sda
. Lorsque vous ajoutez un nouveau disque, le système d'exploitation choisira le numéro suivant sous la forme /dev/sdb
. Pour illustrer, j'utilise un disque virtuel Xen qui utilise la convention de dénomination comme /dev/xvd
.
J'ai ajouté un nouveau disque de 20 Go et vous pouvez le voir comme unrecognised disk label
.
La première étape serait de définir votre étiquette de disque requise, les étiquettes de disque prises en charge sont bsd, loop, gpt, mac, msdos, pc98 et sun.
(parted) mklabel msdos
Maintenant, je vais segmenter /dev/xvdb en deux partitions principales avec la première partition avec 10 Go et la seconde avec 5 Go.
Pour créer une nouvelle partition, nous utilisons mkpart
commande avec début 0 et fin 10000 :
Pour créer la deuxième partition, exécutez à nouveau la commande mkpart en spécifiant la taille de début et de fin
Remarque :Le concept de "principal" reflète le MBR, GPT s'en fiche mais doit encore ajouter un nom.
Vous pouvez également utiliser mkpart pour créer la partition pour s'étendre sur tout le disque en spécifiant le pourcentage à utiliser (ici 0% à 100%).
Par exemple :
$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
Au lieu d'utiliser la commande d'impression, vous pouvez exécuter des commandes alternatives telles que lsblk
, fdisk -l
to see partitions created.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 18M 1 loop /snap/amazon-ssm-agent/1566
loop1 7:1 0 93.8M 1 loop /snap/core/8935
loop2 7:2 0 93.9M 1 loop /snap/core/9066
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 20G 0 disk
├─xvdb1 202:17 0 9.3G 0 part
└─xvdb2 202:18 0 4.7G 0 part
$
Nous pouvons maintenant formater la partition (/dev/xvdb1) avec le système de fichiers ex4, utilisez mkfs.ext4 comme suit :
$ sudo mkfs.ext4 /dev/xvdb1
Redimensionner la partition de disque à l'aide de resizepart
Pour agrandir la partition, elle doit d'abord être redimensionnée. Redimensionner signifie simplement déplacer la position finale d'une partition.
Ici, je vais redimensionner la deuxième partition de /dev/xvdb, en déplaçant la position finale à 20000 :
(parted) resizepart
Remarque :growpart est un autre outil pratique disponible sur Linux pour étendre une partition.
Pour redimensionner chaque système de fichiers à la nouvelle capacité, vous devez exécuter une commande spécifique au système de fichiers. Pour étendre le système de fichiers sous Linux, utilisez resize2fs
commande comme suit :
$ sudo resize2fs /dev/xvdb2
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/xvdb2 to 2441340 (4k) blocks.
The filesystem on /dev/xvdb2 is now 2441340 (4k) blocks long.
Supprimer la partition d'un disque choisi
Pour supprimer une partition, vous devez connaître le numéro de partition sur le disque. Utilisez print
commande in parted pour afficher toutes les partitions et leur numéro correspondant.
Pour supprimer, vous pouvez utiliser la commande rm suivie du numéro de partition. Ici, nous allons supprimer la 2ème partition comme indiqué ci-dessous :
(parted) rm 2
Définir des drapeaux sur les partitions
Parted permet de définir des drapeaux sur la partition. Ne soyez pas surpris que certains drapeaux dépendent des étiquettes de disque. Un drapeau peut être activé ou désactivé. Les indicateurs les plus courants sont boot, lab, swap, raid, LVM, etc.
La commande suivante définit l'indicateur LVM sur la partition 2 :
(séparé) activez 2 LVM
Un autre exemple pratique lorsque nous devons définir une partition de démarrage :
(parted) set 2 boot on
Récupérer la partition de disque Linux
Rescue vient en aide lorsque vous supprimez accidentellement une partition. Une partition perdue peut être récupérée en la localisant entre le début et la fin.
Supprimons la partition 1 sur /dev/xvdb et utilisons la commande rescue pour la récupérer :
(parted) rescue
Définir l'unité par défaut
La commande Unit dans parted permet de définir une unité par défaut pour afficher les capacités et les emplacements.
l'unité prise en charge sont :
KiB- kibibyte
MiB - mebibyte
GiB - gibibyte
TiB - tebibyte
kB - kilobyte
MB - megabyte
GB - gigabyte
TB - terabyte
% - percentage of the device
cyl - cylinders
chs - cylinders, heads, sectors addressing
compact - Use human-readable representation for output
La commande suivante définit l'unité sur compact :
(parted) unit compact
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 8590MB 8589MB primary ext4 boot
(parted)
Vous pouvez également imprimer en unités comme suit :
(parted) unit GB print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8.59GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 0.00GB 8.59GB 8.59GB primary ext4 boot
(parted)
Conclusion
Au moment de la mise à jour de ce didacticiel, nous utilisons la version 3.1 de parted, et il est bon de vérifier les commandes actuellement prises en charge à l'aide de -h
option. Parted écrit directement sur le disque, soyez donc prudent lorsque vous exécutez des commandes.
Lorsque vous apportez des modifications, assurez-vous de choisir le bon lecteur, sinon vous risquez de perdre des données.
Si vous avez des questions ou des réflexions à partager sur ce sujet, veuillez utiliser la section des commentaires ci-dessous.