Changer les disques d'une grappe RAID1 par deux plus gros
Voici un exemple :Je cherche à remplacer deux disques de 10Go en raid1 par deux 15Go.
Sur les 10Go, j'ai :
/dev/sda1 : 4Go
/dev/sda2 : 700Mo
/dev/sda3 : presque 6Go
Même partitionnement sur /dev/sdb
Au final avec mdadm j'ai :
md2 : active raid1 sda3[1] sdb3[1]
5894080 blocks [2/2] [_U]
md1 : active raid1 sda2[1] sdb2[1]
683968 blocks [2/2] [_U]
md0 : active raid1 sda1[1] sda2[1]
3905472 blocks [2/2] [_U]
md0 : /
md1 : swap
md2 : /home
J'ai donc avec df :
administrateur@ubuntu:~$ df
Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
/dev/md0 3844088 781248 2867568 22% /
none 248212 216 247996 1% /dev
none 252760 0 252760 0% /dev/shm
none 252760 40 252720 1% /var/run
none 252760 0 252760 0% /var/lock
none 252760 0 252760 0% /lib/init/rw
/dev/md2 5801496 142612 5364180 3% /home
je veux faire la même chose sur les disques de 15Go mais avec le md2 qui récupère la place supplémentaire. Bref, voilà la procedure :
Boot la machine.
Suppression du /dev/sdb des grappes :
root@ubuntu:/home/administrateur# mdadm /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1
root@ubuntu:/home/administrateur# mdadm /dev/md1 --remove /dev/sdb2
mdadm: hot removed /dev/sdb2
root@ubuntu:/home/administrateur# mdadm /dev/md2 --remove /dev/sdb3
mdadm: hot removed /dev/sdb3
Arrêt de la machine. Changement du deuxième disque de 10Go par un 15Go. Boot de la machine.
Repartitionnement du disque de 15Go, avec un /dev/sdb3 qui est plus grand du coup de 5Go.
Reconstruction de la grappe avec /dev/sdb :
root@ubuntu:/home/administrateur# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1
root@ubuntu:/home/administrateur# mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: added /dev/sdb2
root@ubuntu:/home/administrateur# mdadm --manage /dev/md2 --add /dev/sdb3
mdadm: added /dev/sdb3
Installation de grub sur /dev/sdb :
root@ubuntu:/home/administrateur# grub-install /dev/sdb
Installation finished. No error reported.
Arrêt de la machine. Inversion des disques (le 15Go passe sda, le 10Go passe sdb). Boot de la machine. Suppression du sdb de la grappe :
root@ubuntu:/home/administrateur# mdadm /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1
root@ubuntu:/home/administrateur# mdadm /dev/md1 --remove /dev/sdb2
mdadm: hot removed /dev/sdb2
root@ubuntu:/home/administrateur# mdadm /dev/md2 --remove /dev/sdb3
mdadm: hot removed /dev/sdb3
Arrêt de la machine. Disque de 10Go supprimé et remplacé par le deuxième 15Go. La machine n'a maintenant que deux disques de 15Go. Boot de la machine. Partitionnement du sdb (en copiant à partir du sda):
sfdisk -d /dev/sda > sda.save
sfdisk /dev/sdb < sda.save --force
Ajout du nouveau sdb dans la grappe :
root@ubuntu:/home/administrateur# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1
root@ubuntu:/home/administrateur# mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: added /dev/sdb2
root@ubuntu:/home/administrateur# mdadm --manage /dev/md2 --add /dev/sdb3
mdadm: added /dev/sdb3
Installation de grub sur le sdb :
root@ubuntu:/home/administrateur# grub-install /dev/sdb
Installation finished. No error reported.
Maintenant, les partitions /dev/sda3 et /dev/sdb3 sont plus grandes de 5Go. Par contre le /dev/md2 n'a pas pris en compte les changements :
md2 : active raid1 sda3[1] sdb3[1]
5894080 blocks [2/2] [_U]
md1 : active raid1 sda2[1] sdb2[1]
683968 blocks [2/2] [_U]
md0 : active raid1 sda1[1] sda2[1]
3905472 blocks [2/2] [_U]
Je fais donc un :
mdadm --grow /dev/md2 --size=max
root@ubuntu:/home/administrateur# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[0] sda3[1]
11136960 blocks [2/2] [UU]
[==========>..........] resync = 54.8% (6113856/11136960) finish=0.7min speed=109888K/sec
md1 : active raid1 sdb2[0] sda2[1]
683968 blocks [2/2] [UU]
md0 : active raid1 sdb1[0] sda1[1]
3905472 blocks [2/2] [UU]
Le md2 a grossi
root@ubuntu:/home/administrateur# df
Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
/dev/md0 3844088 781404 2867412 22% /
none 248212 216 247996 1% /dev
none 252760 0 252760 0% /dev/shm
none 252760 40 252720 1% /var/run
none 252760 0 252760 0% /var/lock
none 252760 0 252760 0% /lib/init/rw
/dev/md2 5801496 142612 5364180 3% /home
On augmente la taille du fs de /dev/md2 en se basant sur la taille de la grappe /dev/md2 :
root@ubuntu:/home/administrateur# resize2fs /dev/md2 -S /dev/md2
resize2fs 1.41.11 (14-Mar-2010)
Le système de fichiers de /dev/md2 est monté sur /home ; le changement de taille doit être effectué en ligne
old desc_blocks = 1, new_desc_blocks = 1
En train d'effectuer un changement de taille en ligne de /dev/md2 vers 2784240 (4k) blocs.
Le système de fichiers /dev/md2 a maintenant une taille de 2784240 blocs.
root@ubuntu:/home/administrateur# df
Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
/dev/md0 3844088 781404 2867412 22% /
none 248212 216 247996 1% /dev
none 252760 0 252760 0% /dev/shm
none 252760 40 252720 1% /var/run
none 252760 0 252760 0% /var/lock
none 252760 0 252760 0% /lib/init/rw
/dev/md2 10962120 145484 10260060 2% /home
TADAAAAAAAAAAA !!!!
There are no comments yet...Kick things off by filling out the form below.