VMware ESXi - narzędzia wiersza poleceń

 

Ostatnio potrzebowałem zautomatyzować zarządzanie/monitorowanie hypervisorem ESXi firmy VMware. Okazuje się, że firma udostępnia zestaw narzędzi wiersza poleceń, które umożliwiają zarządzanie hypervisorem ze zdalnej maszyny Windows/Linux. Narzędzia te nazywają się vSphere Command Line Interface (vsphere cli). Narzędzia te dostępne są do pobrania ze strony producenta.

Ich instalacja okazuje się nie-bezproblemowa. Instalacji dokonałem na maszynie z systemem Linux (ubuntu 11.10). Niestety, do instalacji bardzo przydaje się połączenie z internetem (w innym wypadku będziemy musieli samemu pobrać/doinstalować brakujące pakiety). Irytującym problemem okazał się także fakt, że instalator domyślnie zakłada, że posiadamy skonfigurowany serwer proxy. Jeżeli go nie mamy, to instalator przerwie działanie informując nas, że nie mamy skonfigurowanych ftp_proxy i https_proxy. Aby wyeliminować kulturalnie ten problem (bez edycji plików instalatora) możemy przed instalacją wyeksportować zmienne środowiskowe htty_proxy i ftp_proxy jako puste poleceniami:

export http_proxy=”

export ftp_proxy=”

(gdzie ” to dwa znaki pojedynczego apostrofa, a nie jeden podwójny). Jeżeli mamy połączenie z internetem, to instalacja może się udać.

Ciąg dalszy problemów wynika stąd, że serwery ESXi często mają niepodpisane certyfikaty SSL, a komunikat zwracany przez narzędzia CLI wcale nie wskazuje, że to jest problemem. Przy wywołaniu większości narzędzi (w tym bardzo użytecznego VIFS, służącego do zarządzania zawartością magazynów) otrzymujemy komunikat znaczący „nieznana wersja serwera”. Szczęsliwie, także ten komunikat można wyeliminować eksportując zmienną PERL_LWP_SSL_VERIFY_HOSTNAME z wartością 0:

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

W ten sposób perl (będący silnikiem narzędzi CLI) nie będzie weryfikował poprawności certyfikatu i narzędzia zaczną działać.

Ostatnim problemem, na który się natknąłem i niestety muszę przyznać, że najbardziej dokuczliwym jest to, że jeżeli łączymy się z bezpłatną wersją ESXi, to narzędzia CLI działają w trybie READ-ONLY. To znaczy, że możemy monitorować stan maszyn, pobierać ich obrazy i pliki konfiguracyjne, ale nie możemy zmienić ich stanu, czyli np. zrestartować maszyny lub wykonać jej snapshota. Co w znaczący sposób ogranicza użyteczność wiersza poleceń. W szczególności nie możemy wykonać backupu pracującej maszyny wirtualnej. Problemu tego nie uznaję jeszcze za zamknięty, gdy go rozwiążę napiszę o tym.