Sommaire
Problème
On souhaite capitaliser l'espace de stockage au vu du nombre de disques physiques dont on dispose.
La configuration actuelle ne pouvant pas répondre à ce besoin.
Pour cela Transformer un disque raid md2 qui est en RAID1 en md3 qui sera en RAID5.
md2 contient /dev/sd[c,d]5 et on veut rajouter /dev/sde5.
md3 devra contenir /dev/sdc5 , /dev/sdd5 et /dev/sde5
Contexte
- 5 disques physiques disponibles
- les raid 1 dans /dev/md0 et /dev/md1 ne doivent pas être touchés
- au niveau LVM, il faut conserver le groupe de volume VM1
root@abui:~# pvs PV VG Fmt Attr PSize PFree /dev/md0 systeme lvm2 a-- 27,92g 9,31g /dev/md1 VM1 lvm2 a-- 903,45g 893,68g /dev/md2 VM1 lvm2 a-- 931,39g 931,39g root@abui:~# vgs VG #PV #LV #SN Attr VSize VFree VM1 2 2 0 wz--n- 1,79t 1,78t systeme 1 6 0 wz--n- 27,92g 9,31g root@abui:~# cat /proc/mdstat Personalities : [raid1] md2 : active raid1 sdd5[1] sdc5[0] 976631296 blocks super 1.2 [2/2] [UU] md1 : active raid1 sdb5[1] sda5[0] 947334656 blocks super 1.2 [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 29279104 blocks super 1.2 [2/2] [UU] unused devices: <none> root@abui:~# mdadm -Q --detail /dev/md2 /dev/md2: Version : 1.2 Creation Time : Fri Nov 14 23:27:34 2014 Raid Level : raid1 Array Size : 976631296 (931.39 GiB 1000.07 GB) Used Dev Size : 976631296 (931.39 GiB 1000.07 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Nov 15 13:02:53 2014 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : abui:2 (local to host abui) UUID : 13a5ac83:9bc2690a:f8ba5513:62e1a004 Events : 19 Number Major Minor RaidDevice State 0 8 37 0 active sync /dev/sdc5 1 8 53 1 active sync /dev/sdd5
Mode opératoire
Ce que j'avais noté avant de démarrer
- on déclare sdd5 défectueux dans md2 : mdadm /dev/md2 --fail /dev/sdd5
- on enleve sdd5 de md2 : mdadm /dev/md2 --remove /dev/sdd5
- nouveau raid5 mdadm --create /dev/md3 --level 5 --raid-devices 2 /dev/sdd5 /dev/sde5
- ajouter dans le groupe de volume ? puis copie :
- pvcreate /dev/md3
- pvmove /dev/md2 /dev/md3
* arrêt du raid1 mdadm --stop /dev/md2
ajouter le dernier disque : mdadm /dev/md3 --add /dev/sdc5
* faire évoluer le raid 5 pour lui faire comprendre qu'il y a 3 disques maintenant mdadm /dev/md3 --grow --raid-devices 3
Résolution du problème
- déclaration de sdd5 comme défectueux comme énoncé plus haut
- suppression de sdd5 du raid /dev/md2
Création du raid /dev/md3
root@abui:~# mdadm --create /dev/md3 --level 5 --raid-devices 2 /dev/sdd5 /dev/sde5 mdadm: /dev/sdd5 appears to be part of a raid array: level=raid1 devices=2 ctime=Fri Nov 14 23:27:34 2014 mdadm: /dev/sde5 appears to be part of a raid array: level=raid5 devices=5 ctime=Fri Nov 14 14:42:32 2014 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md3 started.
Création d'un nouveau groupe de volume et copie des propriétés de l'ancien groupe de volume
root@abui:~# pvcreate /dev/md3 Found duplicate PV H1SzP8yVSZlnsvOr0zXO4wksGAVpQL6L: using /dev/md2 not /dev/md3 Can't initialize physical volume "/dev/md3" of volume group "VM1" without -ff root@abui:~# pvmove -v /dev/md2 /dev/md3 Executing: /sbin/modprobe dm-mirror Found duplicate PV H1SzP8yVSZlnsvOr0zXO4wksGAVpQL6L: using /dev/md3 not /dev/md2 Finding volume group "VM1" Physical Volume "/dev/md2" not found in Volume Group "VM1"
Le système se plaint un peu . Je dois avouer que je n'avais pas encore bien compris l'usage de pvmove. On suit les recommandations énoncées
root@abui:~# pvcreate -ff /dev/md3 Found duplicate PV H1SzP8yVSZlnsvOr0zXO4wksGAVpQL6L: using /dev/md2 not /dev/md3 Really INITIALIZE physical volume "/dev/md3" of volume group "VM1" [y/n]? y WARNING: Forcing physical volume creation on /dev/md3 of volume group "VM1" Writing physical volume data to disk "/dev/md3" Physical volume "/dev/md3" successfully created root@abui:~# pvmove -v /dev/md2 /dev/md3 Finding volume group "VM1" Physical Volume "/dev/md3" not found in Volume Group "VM1"
Arrêt du raid 1 /dev/md2
root@abui:~# mdadm --stop /dev/md2 mdadm: stopped /dev/md2
Insertion de la partition /dev/sdc5 dans le nouveau raid
root@abui:~# mdadm /dev/md3 --add /dev/sdc5 mdadm: added /dev/sdc5
Mettre à jour le RAID5
root@abui:~# mdadm /dev/md3 --grow --raid-devices 3 mdadm: /dev/md3 is performing resync/recovery and cannot be reshaped
Oupss .. Le raid n'avait pas fini sa synchronisation depuis qu'il a été créé . Visible depuis /proc/mdstat
On réessaye à la fin de la synchro du raid
root@abui:~# mdadm /dev/md3 --grow --raid-devices 3 mdadm: Need to backup 1024K of critical section..
Le redimensionnement est en cours
Personalities : [raid1] [raid6] [raid5] [raid4] md3 : active raid5 sdc5[3] sde5[2] sdd5[0] 976631296 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] [>....................] reshape = 0.8% (8763904/976631296) finish=586.5min speed=27499K/sec md1 : active raid1 sdb5[1] sda5[0] 947334656 blocks super 1.2 [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 29279104 blocks super 1.2 [2/2] [UU]
Problème actuel: volume physique manquant
Je me retrouve avec cette erreur lors de la consultation des volumes logiques
Couldn't find device with uuid H1SzP8-yVSZ-lnsv-Or0z-XO4w-ksGA-VpQL6L
root@abui:~# pvscan -v Wiping cache of LVM-capable devices Wiping internal VG cache Walking through all physical volumes Couldn't find device with uuid H1SzP8-yVSZ-lnsv-Or0z-XO4w-ksGA-VpQL6L. There are 1 physical volumes missing. PV /dev/md1 VG VM1 lvm2 [903,45 GiB / 893,68 GiB free] PV unknown device VG VM1 lvm2 [931,39 GiB / 931,39 GiB free] PV /dev/md0 VG systeme lvm2 [27,92 GiB / 9,31 GiB free] PV /dev/md3 lvm2 [931,39 GiB] Total: 4 [2,73 TiB] / in use: 3 [1,82 TiB] / in no VG: 1 [931,39 GiB]
Résolution avec vgreduce
root@abui:~# vgreduce --removemissing -v VM1 Finding volume group "VM1" Couldn't find device with uuid H1SzP8-yVSZ-lnsv-Or0z-XO4w-ksGA-VpQL6L. There are 1 physical volumes missing. Trying to open VG VM1 for recovery... Couldn't find device with uuid H1SzP8-yVSZ-lnsv-Or0z-XO4w-ksGA-VpQL6L. There are 1 physical volumes missing. Archiving volume group "VM1" metadata (seqno 7). Removing PV with UUID H1SzP8-yVSZ-lnsv-Or0z-XO4w-ksGA-VpQL6L from VG VM1 Creating volume group backup "/etc/lvm/backup/VM1" (seqno 8). Wrote out consistent volume group VM1
Insérer /dev/md3 dans le groupe de volume VM1
root@abui:~# vgextend -v VM1 /dev/md3 Checking for volume group "VM1" Archiving volume group "VM1" metadata (seqno 8). Wiping cache of LVM-capable devices Adding physical volume '/dev/md3' to volume group 'VM1' Volume group "VM1" will be extended by 1 new physical volumes Creating volume group backup "/etc/lvm/backup/VM1" (seqno 9). Volume group "VM1" successfully extended
root@abui:~# vgs VG #PV #LV #SN Attr VSize VFree VM1 2 2 0 wz--n- 1,79t 1,78t systeme 1 6 0 wz--n- 27,92g 9,31g
Et c'est fini . J'ai relancé mes VM et elles ont démarré sans soucis !:) . Peut etre même que je pouvais les laisser tourner mais j'ai préféré les arrêter et faire une copie
Vérifier tout de même le fonctionnement avant d'aller plus loin au cas où on aurait oublié quelque chose