Odzyskiwanie XenServer po awarii serwera będącego pool master’em

Konrad Kowalski
Citrix XenServer

W przypadku wystąpienia awarii serwera pełniącego rolę serwera głównego (pool master) w grupie serwerów XenServer, możemy utracić możliwość centralnego zarządzania. W momencie gdy zawiedzie sprzęt a jego naprawa i przywrócenie może potrwać dłuższą chwile najlepszym rozwiązaniem jest wyznaczenie nowego serwera pool master.

Aby odzyskać kontrolę na grupą serwerów należy zalogować na inny serwer będący częścią tej samej grupy serwerowej XenServer co niedostępny obecnie pool master. Na serwerze, który ma zostać nowym serwerem głównym wydajemy polecenie

[[email protected] ~]# xe pool-emergency-transition-to-master 
Host agent will restart and transition to master in 10.000 seconds...

Następnym krokiem jest wydanie polecenia nakazującego pozostałym serwerom z grupy połączenie do nowego serwera głównego.

[[email protected] ~]# xe pool-recover-slaves 
c0511111-fabc-1234-5678d-12345678361

W następnym kroku warto sprawdzić status poszczególnych serwerów w grupie.

xe host-list params=uuid,name-label,host-metrics-live 
uuid ( RO)                 : c0511111-fabc-1234-5678d-12345678361
           name-label ( RW): xen10.kowalsio.com
    host-metrics-live ( RO): true


uuid ( RO)                 : 4212356c-3267-fd40-1234-1a1a1ed21a7f
           name-label ( RW): xen8.kowalsio.com
    host-metrics-live ( RO): false


uuid ( RO)                 : a123455a-b888-73f8-a913-ed1f851eed1a
           name-label ( RW): xen9.kowalsio.com
    host-metrics-live ( RO): true

W przykładzie serwer, który uległ awarii posiada parametr host-metrics-live ustawiony jako false. Jego identyfikator to 4212356c-3267-fd40-1234-1a1a1ed21a7f. W kolejnym kroku warto wyświetlić informacje o maszynach wirtualnych, które były na nim uruchomione (parametr resident-on).

xe vm-list is-control-domain=false resident-on=4212356c-3267-fd40-1234-1a1a1ed21a7f
uuid ( RO)           : 11111111-abcd-abcd-88ab-12345678abca
     name-label ( RW): NTP (NTP) - Local
    power-state ( RO): running


uuid ( RO)           : 22222222-abcd-abcd-88ab-12345678abca
     name-label ( RW): Intranet2 (DI DEV)
    power-state ( RO): running


uuid ( RO)           : 33333333-efab-08cd-6dd1-58e1394ec639
     name-label ( RW): VPN - Local
    power-state ( RO): running


uuid ( RO)           : 44444444-efab-08cd-6dd1-58e1394ec639
     name-label ( RW): DNS - Local
    power-state ( RO): running


uuid ( RO)           : 55555555-60ce-8f63-e670-2b73d47c4b7b
     name-label ( RW): Paradox (WWW)
    power-state ( RO): running

W przypadku gdy podczas awarii HA nie zadziałało lub maszyny wirtualne korzystały z lokalnych dysków serwera, który jest obecnie nie dostępny, niektóre z VM mogą posiadać błędny status – np. informujący, że VM nadal są uruchomione (power-state ( RO): running). Aby rozwiazać ten problem należy zresetować ich „powerstate” poleceniem xe vm-reset-powerstate

[[email protected] ~]# xe vm-reset-powerstate uuid=11111111-abcd-abcd-88ab-12345678abca force=true
[[email protected] ~]# xe vm-reset-powerstate uuid=22222222-abcd-abcd-88ab-12345678abca force=true
[[email protected] ~]# xe vm-reset-powerstate uuid=33333333-efab-08cd-6dd1-58e1394ec639 force=true
[[email protected] ~]# xe vm-reset-powerstate uuid=44444444-efab-08cd-6dd1-58e1394ec639 force=true
[[email protected] ~]# xe vm-reset-powerstate uuid=55555555-60ce-8f63-e670-2b73d47c4b7b force=true

Po wykonaniu wszystkich czynności za pomocą XenCenter należy połączyć się z nowym pool master’em.

Dodaj komentarz