Aller à : navigation, rechercher

Xenserver - Procédure en cas de Crash RAID sur l'un des Xenserver

Dans notre cas, nous allons simuler le crash du raid sur srvxen1 pendant sa production. (Les VM ne sont pas coupées).

1.png

Une VM tourne sur le storage drbd1, sur srvxen1. Une erreur apparaît dans le XenCenter montrant que le SR n'est plus disponible.



































Sur srvxen1 la commande drbd-overview affichera l'état Diskless

[root@srvxen1 ~]# drbd-overview 
  1:drbd1/0  Connected Primary/Secondary Diskless/UpToDate B r----- lvm-pv: VG_XenStorage-9856988f-e574-551d-91df-e2d5cf2668f9 1853.37G 18.03G 
  2:drbd2/0  Connected Secondary/Primary UpToDate/UpToDate B r----- 

Le plus sûr en cas de crash est de faire la migration du SR en ligne de commande

Récupérer l'UUID du XenServer dont le Raid est défectueux

[root@srvxen1 ~]# xe host-list 
uuid ( RO)                : 5633c39a-bcea-47c5-8a55-49e4a40f013e
          name-label ( RW): srvxen2.test.lan
    name-description ( RW): Default install of XenServer


uuid ( RO)                : 8c735df9-10d6-487e-a082-47cdebc2a4a4
          name-label ( RW): srvxen1.test.lan
    name-description ( RW): Default install of XenServer


Récupérer la liste des VM sur srvxen1

[root@srvxen1 ~]# xe vm-list resident-on=8c735df9-10d6-487e-a082-47cdebc2a4a4 
uuid ( RO)           : 12f2442d-aadc-ab54-366f-d8a7ccbdaa4c
     name-label ( RW): srvwapt
    power-state ( RO): running


uuid ( RO)           : 8066299c-8c72-4ee9-b40b-2dbd9c551777
     name-label ( RW): Control domain on host: localhost.localdomain
    power-state ( RO): running

Éteindre les machines virtuelles sur srvxen1

Éteindre toutes les VM listées précédemment sauf le "Control domain" en utilisant la commande force. Dans le cas présenté ici, la VM a perdu l'accès à son disque et la VM est donc dans un état où elle ne peut s'éteindre correctement.

xe vm-shutdown name-label=srvwapt force=True

Migrer le SR vers srvxen2

Unplug - destroy du pbd sur srvxen1

  • récupérer l'uuid du pbd à unplug
 
xe pbd-list sr-name-label=drbd1 
uuid ( RO)                  : d2e0ff61-5026-8bb5-1c41-60e8b7ccc14f
             host-uuid ( RO): 8c735df9-10d6-487e-a082-47cdebc2a4a4
             sr-uuid ( RO): 9856988f-e574-551d-91df-e2d5cf2668f9
             device-config (MRO): device: /dev/drbd1
             currently-attached ( RO): true
  • unplug du pbd sur srvxen1
xe pbd-unplug uuid="uuid pbd du Storage drbd1 sur srvxen1"
  • destroy du pbd
xe pbd-destroy uuid="uuid pbd du Storage drbd1 sur srvxen1"


Transférer DRBD sur srvxen2

  • sur srvxen1
drbdadm secondary drbd1
drbdadm down drbd1
  • sur srvxen2
drbdadm primary drbd1
vgscan
vgchange -ay

La commande drbd-overview, lancée sur srvxen2, montre que la ressource drbd1 est en primary et qu'il possède un "VG_XenStorage...".

[root@srvxen2 ~]# drbd-overview 
  1:drbd1/0  WFConnection Primary/Unknown   UpToDate/DUnknown B r----- lvm-pv: VG_XenStorage-9856988f-e574-551d-91df-e2d5cf2668f9 1853.37G 18.03G 
  2:drbd2/0  Connected    Primary/Secondary UpToDate/UpToDate B r----- lvm-pv: VG_XenStorage-54f3ed4d-a211-bb51-13d1-03bba2127ed6 1853.37G 0.00G  

Créer pbd sur srvxen2

  • Récupérer l'uuid du SR drbd1
[root@srvxen2 ~]# xe sr-list name-label=drbd1 
uuid ( RO)                : 9856988f-e574-551d-91df-e2d5cf2668f9
          name-label ( RW): drbd1
    name-description ( RW): 
                host ( RO): <not in database>
                type ( RO): lvm
        content-type ( RO): user

  • Récupérer l'uuid du Xenserver srvxen2
[root@srvxen2 ~]# xe host-list name-label=srvxen2.test.lan 
uuid ( RO)                : 5633c39a-bcea-47c5-8a55-49e4a40f013e
          name-label ( RW): srvxen2.test.lan
    name-description ( RW): Default install of XenServer

  • créer le pbd sur srvxen2
[root@srvxen2 ~]# xe pbd-create sr-uuid=9856988f-e574-551d-91df-e2d5cf2668f9 host-uuid=5633c39a-bcea-47c5-8a55-49e4a40f013e device-config:device=/dev/drbd1

retourne un uuid exemple:

8e7d5107-10f6-fe2a-9f7a-47be24bee5ea
  • plug du pbd avec l'uuid créer
xe pbd-plug uuid=8e7d5107-10f6-fe2a-9f7a-47be24bee5ea
2.png

Le Storage Repository est déplacé sur srvxen2 et la VM srvwapt est démarré avec ce SR.