On a parfois besoin de créer une partition de plus grande taille, mais dans certains cas c'est impossible si les deux seules partitions pouvant être redimensionnées ne sont pas contigues sur le disque.
Il existe une solution, l'agrégat de partitions. On utilise plusieurs partitions, ou volumes, qui seront vues par le système comme une seule partition. Dans le cas présent on ne parle pas de raid. On crée plutôt une partition logique en regroupant plusieurs partitions prises sur un même disque ou sur plusieurs disques. On utilisera pour cela dmsetup.
On va d'abord déterminer la taille en secteurs des partitions qui vont constituer l'agrégat (group). Pour cela on peut utiliser fdisk avec l'option -u pour avoir le décompte en secteurs et l'option -l pour lister :
:~$ sudo fdisk -lu /dev/hdc
Disque /dev/hdc: 10.1 Go, 10110320640 octets
255 têtes, 63 secteurs/piste, 1229 cylindres, total 19746720 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/hdc1 * 63 8450189 4225063+ 83 Linux
/dev/hdc2 12530700 19743884 3606592+ 5 Extended
/dev/hdc3 8450190 12530699 2040255 83 Linux
/dev/hdc5 12530763 16659404 2064321 83 Linux
/dev/hdc6 19101348 19743884 321268+ 82 Linux swap / Solaris
/dev/hdc7 16659468 19101284 1220908+ 83 Linux
Les partitions qui nous interessent sont hdc3 et hdc7. Il faut calculer le nombre de secteurs :
hdc3 = 12530699 - 8450190 = 4080509 secteurs
hdc7 = 19101284 - 16659468 = 2441816 secteurs
Il faut maintenant établir le fichier de configuration qui permettra de créer l'agrégat des volumes :
:~$ nano -w group0.def ( et on y inscrit les valeurs) :
# group0 /hdc3 /hdc7
0 4080509 linear /dev/hdc3 0
4080509 2441816 linear /dev/hdc7 0
La première ligne représente le début et le nombre de secteurs ainsi que la méthode pour constituer le groupe.
La deuxième ligne reprend comme début le nombre de secteurs de hdc3 plus celui de hdc7 ainsi que la méthode.
Dans cet exemple le premier volume représente environ 2 Go (4080509 x 512 / (1024 x 1024) = 1992 Mo, et l'autre 1,2 Go (2441816 x 512 / (1024 x 1024) = 1193 Mo).
Maintenant on peut créer le group0 avec la commande dmsetup en donnant en paramètre le fichier de configuration group0.def :
:~$ sudo dmsetup create group0 group0.def
Ensuite on crée le système de fichiers sur le volume logique /dev/mapper :
:~$ sudo mkfs.ext3 /dev/mapper/group0
Enfin on monte le volume :
:~$ sudo mount /dev/mapper/group0 /mnt/un
On fait quelques vérifications :
:~$ mount |grep group
/dev/mapper/group0 on /mnt/un type ext3 (rw)
:~$ df -hT /dev/mapper/group0
Sys. de fich. Type Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/group0
ext3 3,1G 65M 2,9G 3% /mnt/un
:~$ sudo fdisk -l /dev/mapper/group0
Disque /dev/mapper/group0: 3339 Mo, 3339430400 octets
255 têtes, 63 secteurs/piste, 405 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
:~$ sudo dumpe2fs -h /dev/mapper/group0
...
Block count: 815290
(815290 x 512 / (1024 x 1024) = 3185 On a bien le compte.
Pour démonter le groupe :
:~$ sudo umount /dev/mapper/group0
Si l'on arrête l'agrégat par la commande :
:~$ sudo dmsetup remove group0
le groupe sera supprimé sans destruction des données et s'il est rétabli sur les mêmes bases, les données seront affichées au mount.
Si le groupe est démonté et enlevé (remove) on peut continuer à utiliser les partitions séparément.
Pour plus de détails :
man dmsetup
Cette page a été faite d'après :
http://casteyde.christian.free.fr/system/linux/guide/online/x3914.html