Ostatnio stanąłem przed problemem projektowym, którego idealnym rozwiązaniem zdawała się zdalna, automatyczna instalacja zwirtualizowanego systemu, użycie go do określonego zadania i usunięcie. Wiedziałem o istnieniu XENAPI, ale nigdy nie był mi potrzebny. Tutaj xenowe api byłoby jak znalazł. Projektując takie API pewnie pierwszą z zaimplementowanych rzeczy (oprócz sprawdzania statusu) byłaby zdalna instalacja. Okazuje się, że samo API jest ułomne, OpenSourceowe API jest wykastrowane, a wersja dostępna w Debianie nie działa z powodu braku biblioteki.
Ułomność API polega na tym, że zdalna instalacja jest możliwa tylko z predefiniowanego template'u będącego w istocie zatrzymaną maszyną wirtualną z ustawioną odpowiednią flagą. Ustawienie tej flagi przez API nie jest możliwe. API w wersji OpenSource jest wykastrowane ponieważ próba użycia metody CLONE używanej do instalacji nowego systemu poprzez sklonowanie szablonu kończy się komunikatem błędu "NOTIMPLEMETED". Jest tak w wersji 4.0 jak i w 4.1. Ustawienie flagi is_a_template w debianie graniczy z cudem. Wymagane jest do tego użycie "xm new", któego użycie nie jest możliwe z powodu brakującej biblioteki.
By to wszystko ustalić potrzebowałem jednego dnia. Jedyny plus jest taki, że dowiedziałem się że można definiować maszyny wirtualne inaczej niż pliki konfiguracyjne w /etc/xen. Oprócz owych plików jest jeszcze wewnętrzny store. Użycie alternatywnej metody pozwala na wyświetlenie w xm list również maszyn zatrzymanych.
Brak komentarzy:
Prześlij komentarz