Gérer un cas de crash d’un des serveurs

Dans ce cas, le XCP-NG Server/XenServer srvxen1 master du pool subit une défaillance

Indication

Pour savoir qui est le master du pool

[root@srvxen1 ~]# xe pool-list
uuid ( RO)                : 2ec71bf5-ab6f-61d7-6154-63bc3aae0e0a
          name-label ( RW):
    name-description ( RW):
              master ( RO): 8c735df9-10d6-487e-a082-47cdebc2a4a4
          default-SR ( RW): 1fef3be8-f000-7c0e-4e14-380321927997

Récupérer l’uuid de la ligne master puis

[root@srvxen1 ~]# xe host-list uuid=8c735df9-10d6-487e-a082-47cdebc2a4a4
uuid ( RO)                : 8c735df9-10d6-487e-a082-47cdebc2a4a4
          name-label ( RW): srvxen1.test.lan
    name-description ( RW): Default install of XenServer
Etat du pool apres crash

L’erreur suivante va apparaître :

Serveur erreur connexion xcp-ng center apres crash

Migrer le master

Passer srvxen2 en master (en ssh)

xe pool-emergency-transition-to-master

Puis sur le xencenter/XCP-NG Center, cela apparaitra comme ceci :

Serveur deconnecte xcp-ng center apres crash

Reset de l’état des VM

L’état des VM tournant sur srvxen1 avant son crash (dans notre cas srvwapt) apparaissent toujours en état de fonctionnement power-state running

[root@srvxen2 ~]# xe vm-list  resident-on="uuid srvxen1"
uuid ( RO)           : 12f2442d-aadc-ab54-366f-d8a7ccbdaa4c
     name-label ( RW): srvwapt
    power-state ( RO): running

Reset du power-state de ces VM

xe vm-reset-powerstate resident-on="uuid srvxen1" --force --multiple

Supprimer srvxen1 du pool

srvxen1 étant complètement HS le plus simple est de le supprimer du pool, et une fois le problème résolu sur srvxen1, le réintégrer au pool.

Sur srvxen2 devenu master:

xe host-forget uuid="uuid srvxen1"

Transférer le DRBD sur srvxen2

  • 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éé

xe pbd-plug uuid=8e7d5107-10f6-fe2a-9f7a-47be24bee5ea

Lorsque tout est remonté, le serveur passé en standalone apparaitra comme ceci dans le Xencente/XCP-NG Center :

Serveur en standalone xcp-ng center apres crash