J'essaie de déplacer ma partition racine vers des volumes physiques de type raid, et j'ai l'impression d'échouer. et j'ai l'impression d'échouer.
La procédure que j'utilise est un peu compliquée, mais c'est parce que mes hébergeur a des capacités d'installation très limitées, je ne peux donc pas Je ne peux donc pas commencer avec un système de fichiers racine créé à l'aide de lvm sur des volumes raid.
Pour tester mon cas, j'ai créé une instance virtuelle dans VirtualBox, avec 4 disques :
- /dev/sda - 8GB
- /dev/sdb - 8GB
- /dev/sdc - 20GB
- /dev/sdd - 20GB
J'y ai installé Linux (Debian 8.5). Initialement, après l'installation, l'affichage est le suivant :
- /dev/sd[bcd] - non partitionné, non utilisé
- /dev/sda - 1 partition (/dev/sda1), petite (4GB), utilisée comme PV pour LVM
- sur ce PV, j'ai créé VG, et LV, qui est maintenant utilisé comme / :
Voici à quoi cela ressemble :
=# mount /
mount: /dev/mapper/vg-root is already mounted or / busy
=# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg -wi-ao---- 3.72g
=# vgs
VG #PV #LV #SN Attr VSize VFree
vg 1 1 0 wz--n- 3.72g 0
=# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 vg lvm2 a-- 3.72g 0
Maintenant, ce dont j'ai besoin / envie, c'est de créer quelques raids sur de petits et grands disques, et de mettre / dessus.
Je commence donc par créer les partitions. Puisque je vais devoir repartitionner /dev/sda, c'est la disposition intermédiaire, et elle ressemble à ceci :
=# for a in /dev/sd[abcd]; do fdisk -l $a; done | grep ^/
/dev/sda1 * 2048 7813119 7811072 3.7G 8e Linux LVM
/dev/sdb1 2048 16777215 16775168 8G fd Linux raid autodetect
/dev/sdc1 2048 16777215 16775168 8G fd Linux raid autodetect
/dev/sdc2 16777216 41943039 25165824 12G fd Linux raid autodetect
/dev/sdd1 2048 16777215 16775168 8G fd Linux raid autodetect
/dev/sdd2 16777216 41943039 25165824 12G fd Linux raid autodetect
Ensuite, je crée un raid1 sur les partitions /dev/sd[cd]2 :
\=# mdadm -C /dev/md0 -l 1 --raid-devices 2 /dev/sd[cd]2
Cela m'a donné /dev/md0, que j'utiliserai comme emplacement temporaire pour le système de fichiers / :
=# pvcreate /dev/md0
=# vgextend vg /dev/md0
=# pvmove /dev/sda1 /dev/md0
=# vgreduce vg /dev/sda1
=# pvremove /dev/sda1
À ce stade, /dev/sda est libre, je peux donc le repartitionner selon les spécifications exactes de /dev/sdb (cette étape n'est pas très pertinente, mais c'est juste pour être complet).
Maintenant que tout cela est en place, je mets à jour mdadm.conf :
=# mdadm --detail /dev/md0 --brief >> /etc/mdadm/mdadm.conf && update-initramfs -u
Cette ligne ajoutée :
ARRAY /dev/md0 metadata=1.2 name=debian:0 UUID=55692d54:b0beedae:9d85bc20:324d7f9f
Je redémarre ensuite le système pour m'assurer qu'il fonctionne correctement. Et immédiatement il se plante, sur Grub, avec le message :
error: disk `lvmid/F9eO8I-PB9F-Dsli-ZOSY-rVA1-7a37-Faos46/1N3Ah7-wIjT-HFxc-MS9U-lAcw-tYZw-N7sRO8' not found.
Entering rescue mode...
grub rescue>
ls dans l'invite s'affiche :
(hd0) (hd0,msdos1) (hd1) (hd1,msdos1) (hd2) (hd2,msdos2) (hs2,msdos1) (hd3) (hd3,msdos2) (hd3,msdos1)
Qu'ai-je fait de mal ? Qu'ai-je oublié ?