Partitions LVM2 sur disque GPT – How-to

J’explique dans cet article comment migrer ses données sur deux disques récents : un SSD pour les partitions systèmes et un disque de grande capacité (3 To) pour la partition home et les autres partitions. Cela me permet d’aborder deux sujets à propos du partitionnement : les volumes LVM2 et les tables de partitions GPT.

J’ai voulu tester les possibilités offertes par LVM (logical volume management) et sa souplesse de gestion des tailles des partitions sur mon ordinateur de bureau. Pour l’utilisation que je compte avoir de ces nouveaux disques, il me semble que c’est la meilleure solution. Le but est de pouvoir facilement ajouter, supprimer et redimensionner une partition système (que je monte en /) tout en profitant des performances et de la rapidité d’accès des fichiers sur un SSD. J’aime tester de nombreuses distributions en multi-boot sur mon ordi et pouvoir changer de version, sans toucher à mes données qui restent dans la partition /home, sur un disque dur standard.

Un peu de théorie pour mieux comprendre pourquoi j’ai choisi GPT et LVM2 pour mes nouvelles partitions.

Les avantages de GPT (GUID Partition Table) :

– Contrairement à une table de partition MSDos (MBR : master boot record) limité à 4 partitions primaires (ou 3 partitions primaires et 1 étendue), la création d’une table de partition GPT permet d’ajouter jusqu’à 128 partitions et de passer la barrière qui limite la taille à 2,2 To sur un même disque.

– Chaque disque et chaque partition utilise un identifiant unique (UUID : Universally Unique IDentifier).

– Une seconde table de partition (backup) est écrite sur le dernier secteur logique du disque : permet une récupération des informations en cas de problème sur la première table de partition.

Important : les disques récents utilisent un formatage aligné sur des secteurs de 4 Ko (8 x 512 octets) noté HD AF (Advanded Format), de manière à optimiser l’espace disque et les taux de transfert. Les outils de partitionnement linux (fdisk, gdisk, parted et gparted) alignent automatiquement les partitions avec des secteurs de 4 Ko. Ce qui signifie que la première partition commencera toujours au secteur 2048.

Pour installer le gestionnaire de démarrage GRUB sur un disque GPT, vous devez réserver une partition avec le drapeau (flag) « Bios Boot » ou « Bios Grub » du type « EF02 ». On utilisera l’espace inoccupé entre les secteurs 34 et 2047 du disque pour cela.

Voir les pages https://wiki.archlinux.org/index.php/GUID_Partition_Table et https://wiki.archlinux.org/index.php/GRUB#GUID_Partition_Table_.28GPT.29_specific_instructions pour plus de détails.

Passons à la pratique, voici comment j’ai procédé :

– Avant d’éteindre le PC pour installer physiquement les nouveaux disques, on installe les paquets lvm2, gparted et gdisk : 

– on démarre l’ordi et on commence par bien repérer les noms des disques et des partitions avec l’utilitaire graphique GParted (Gnome Partition Editor), exemple :

Gparted-sdaIl ne s’agit pas de faire d’erreur au moment de créer les partitions. Pour ne pas écraser vos données existantes, je vous conseille de faire des copies d’écran pour chaque disque et de les coller dans un document LibreOffice que vous créez pour l’occasion. Vous avez ainsi toutes ces données sous la main. Une autre bonne idée est de donner un nom à chacune de vos partition. Uniquement si la partition est démontée, vous pouvez modifier l’étiquette avec GParted (click droit, Etiquette). Faites-le avec un liveCD ou une clé USB bootable, GParted est installé par défaut sur les ISO Ubuntu.

La suite des opérations s’effectue avec les privilèges de l’utilisateur root, administrateur du système. Ouvrez un terminal et tapez : sudo -i

– On utilise l’outil Gdisk pour créer une table de partition GPT, (adaptez le nom du disque, ici /dev/sdc, à votre cas particulier) : les commandes à taper après le prompt de gdisk sont :

x (mode expert), l (set the sector alignment value), 1, m (retour au menu nornal), n (ajouter une nouvelle partition), 1 (premier secteur), 2047 (dernier secteur), EF02 (type de partition), p (affiche les changements), w (enregistre la nouvelle table de partition et quitte gdisk). J’ai mis en gras les commandes à taper :

root@Desktop-P5QL-E:~# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): x
Expert command (? for help): l
Enter the sector alignment value (1-65536, default = 2048): 1
Expert command (? for help): m
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-320173022, default = 34) or {+-}size{KMGTP}: 34
Last sector (34-320173022, default = 320173022) or {+-}size{KMGTP}: 2047 Current type is ‘Linux filesystem’
Hex code or GUID (L to show codes, Enter = 8300): EF02
Changed type of partition to ‘BIOS boot partition’
Command (? for help): p
Disk /dev/sdc: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 86C5440D-9CAF-4948-A1C2-AC567E61AF75
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 1-sector boundaries
Total free space is 234439567 sectors (120 GiB)
Number Start (sector) End (sector) Size Code Name
1 34 2047 1007.0 KiB EF02 BIOS boot partition
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.
The operation has completed successfully.

 

Pour ne pas rendre ce post trop long et trop indigeste, je décrirai en détail la création et la gestions des partitions logiques LVM2 dans un prochain article.

Flattr this!