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

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 :)

* arrêt du raid1 mdadm --stop /dev/md2 

* 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

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"

{i} 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

{i} Oupss :-? .. Le raid n'avait pas fini sa synchronisation depuis qu'il a été créé . Visible depuis /proc/mdstat

{i} 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..

{i} 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

Références

WillyManga/Notes/RAID1aRAID5 (dernière édition le 2014-11-15 18:50:00 par WillyManga)