Podczas eksportu maszyny wirtualnej, komputer z XenCenter, wykonujący zadanie, utracił łączność z serwerem XenServer. Mimo prób, wznowienie eksportu nie powiodło się. Z poziomu XenCenter VM była oznaczona nadal jako „w trakcie eksportu”. Nie dało się z nią nic zrobić. Anulowanie zadania powiodło się dopiero po wykonaniu polecenia xe-toolstack-restart.
Niepoprawne zakończenie operacji eksportu skutkowało brakiem możliwości uruchomienia maszyny wirtualnej. Próba uruchomienia kończyła się błędem:
xe vm-list uuid=cc97de02-c753-7029-7027-d2fd4a8d97c3 uuid ( RO) : cc97de02-c753-7029-7027-d2fd4a8d97c3 name-label ( RW): KowalsioXenVM power-state ( RO): halted
xe vm-start uuid=cc97de02-c753-7029-7027-d2fd4a8d97c3 The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem. message: xenopsd internal error: Storage_interface.Illegal_transition(_)
Według dokumentacji Citrixa podczas zadań takich jak eksport, kopiowanie czy przenoszenie maszyny wirtualnej, jej dysk wirtualny (VDI) przypisywany jest (poprzez „połączenie” VBD) do Dom0, który jest odpowiedzialny za przeprowadzenie żądanych przez nas operacji. Jeśli wykonywany proces z jakiś powodów się nie powiedzie, wirtualny dysk twardy VM może nadal pozostać przypisany do Dom0. Aby maszyna mogła wystartować należy to połączenie usunąć.
W tym celu na XenSerwerze, na którym znajduje się nasza VM należy odszukać uuid Dom0. Wydajemy polecenie list_domains i notujemy uuid dla id=0
[root@xen8 ~]# list_domains 0 | 788f29c6-7b97-47d9-a34b-05c54418ec68 | R
Następnie należy wyświetlić „połączania” VBD Dom0 za pomocą polecenia vbd-list
xe vbd-list vm-uuid=788f29c6-7b97-47d9-a34b-05c54418ec68 uuid ( RO) : 10d306b3-f58a-50d2-8753-f7246c56570a vm-uuid ( RO): 788f29c6-7b97-47d9-a34b-05c54418ec68 vm-name-label ( RO): Control domain on host: xen8 vdi-uuid ( RO): 3512e701-66e2-4117-b221-e90716fb8fa2 empty ( RO): false device ( RO): sm/backend/0ce4caac-6d4f-df2e-39e3-6995de8a571c/3512e701-66e2-4117-b221-e90716fb8fa2
Po zanotowaniu uuid połącznia, należy odłączyć VBD od Dom0 (vbd-unplug)
xe vbd-unplug uuid=10d306b3-f58a-50d2-8753-f7246c56570a
A następnie usunąć (vbd-destroy)
xe vbd-destroy uuid=10d306b3-f58a-50d2-8753-f7246c56570a
Po wykonaniu tych czynności maszyna wirtualna powinna dać się uruchomić.
xe vm-start uuid=cc97de02-c753-7029-7027-d2fd4a8d97c3
xe vm-list uuid=cc97de02-c753-7029-7027-d2fd4a8d97c3 uuid ( RO) : cc97de02-c753-7029-7027-d2fd4a8d97c3 name-label ( RW): KowalsioXenVM power-state ( RO): running
1 komentarz
Możesz dodawać komentarze do tego artykułu.
Dzięki pomogło
Darek 7 lat ago
Dodaj komentarz