Parted
| Fiche express | |
|---|---|
| Domaine | Partitionnement de disque (MBR/GPT) |
| Commande | parted
|
| Contexte | Disques > 2 To (GPT obligatoire), scripts non interactifs (-s)
|
| Voir aussi | Aligner des partitions, Blockdev |
parted crée, modifie et supprime des tables de partitions et des partitions, en MBR
comme en GPT. Contrairement à fdisk (limité au MBR et aux disques de moins de 2 To),
parted gère nativement GPT et peut aussi bien s'utiliser en mode interactif qu'en mode
script — c'est ce dernier mode (option -s) qui est le plus utile en exploitation,
pour partitionner un disque depuis un script ou un playbook sans invite de confirmation.
Installation
apt-get install parted # Debian/Ubuntu
yum install parted # RHEL/CentOS
Identifier le disque
Avant toute opération destructive, vérifier le modèle et la table de partitions existante :
parted -s /dev/sda print
Créer une table de partitions et une partition
Séquence type pour un nouveau disque de données : créer une table GPT, puis une partition
unique occupant tout l'espace, alignée sur les blocs physiques (-a optimal laisse
parted choisir l'alignement — voir Aligner des partitions pour le détail du pourquoi et la
vérification manuelle sur des disques plus anciens) :
datas_device=/dev/sdb
parted -s -a optimal "$datas_device" mklabel gpt
parted -s -a optimal "$datas_device" mkpart primary ext4 0% 100%
Les bornes en pourcentage (0% 100%) évitent de calculer des offsets en Mo/secteurs
à la main et laissent parted aligner lui-même le début et la fin de la partition.
⚠️ mkpart ... ext4 ne formate rien : le paramètre de type de système de fichiers
n'est qu'une étiquette stockée dans la table de partitions (utile pour certains outils, et
obligatoire pour choisir le bon code de partition GPT) — il reste nécessaire de lancer
mkfs séparément pour créer réellement le système de fichiers. L'ancienne commande
mkpartfs, qui combinait les deux, a disparu des versions récentes de parted.
Poser un flag sur une partition
Certains usages (LVM, boot, RAID) nécessitent de poser un flag sur la partition après création :
parted -s "$datas_device" set 1 lvm on # partition 1 utilisable comme PV LVM
parted -s "$datas_device" set 1 boot on # partition 1 marquée bootable (legacy BIOS/MBR)
parted -s "$datas_device" set 1 raid on # partition 1 destinée à un membre RAID logiciel
Informer le noyau du changement
Après toute modification de table de partitions sur un disque déjà utilisé (donc dont le noyau a mis en cache l'ancienne table), forcer la relecture avant de continuer :
partprobe /dev/sda
Sans cette étape, /dev/sda1 peut rester absent ou désynchronisé de la table réelle
tant que le disque n'a pas été redémonté ou que la machine n'a pas rebooté.
Autres opérations utiles
parted -s /dev/sda rm 2 # supprimer la partition 2
parted -s /dev/sda resizepart 1 100% # redimensionner la partition 1 (sans toucher au FS)
parted -s /dev/sda unit s print # afficher les tailles/offsets en secteurs plutôt qu'en Mo
Redimensionner une partition avec resizepart ne redimensionne pas le système de
fichiers qu'elle contient : il faut ensuite agrandir/réduire le FS lui-même (resize2fs,
xfs_growfs…) selon son type.
Voir aussi
- Aligner des partitions — pourquoi et comment vérifier l'alignement, notamment sur des disques ou VM plus anciens
- Blockdev — inspecter la taille et la table de partitions au niveau bloc après coup
- Fdisk — équivalent MBR-only, plus simple pour les petits disques