VMware Consolidated Backup VCB w więzieniu.

Doszedłem do wniosku że pożenię Bacule z VCB. Wpadłem jednak na pomysł nieco inny niż standardowy, mianowicie zainstalowanie vcbMoutera w chroot. Rozwiązanie trochę specyficzne, ale zapieniające że maszyna do backupu tak zwane Backup Proxy będzie w pełni oparte na platformie Linux (w tym wypadku Ubuntu 8.04.3 LTS). Niestety na razie nie wygląda to różowo, gdyż panowie z VMware zabezpieczyli się przez takim cwaniactwem ze strony administratorów i integrują obsługę VCB z jajkiem ESX, co uniemożliwia wyrwanie binarek i bibliotek z ESX’a i wepchniecie ich w przygotowane pieczołowicie więzienie. Jednak trochę sie z tym narobiłem i zapraszam do zapoznania się z rzeczami które musiałem obejść aby stworzyć prawie działający VCB Proxy na linuxie 😉

Przede wszystkim należy zainstalować maszynkę wirtualną z ulubionym przez siebie linuxem, w moim przypadku był to Ubuntu 8.04.3 LTS. Instalacja zupełnie standardowa, bez żadnych udziwnień, system podstawowy, bez funkcji. Wszystko co potrzebne doinstaluje się później. Po instalacji standardowo należy uruchomić komendy:

apt-get update
apt-get upgrade

Dodatkowo wypadało by zainstalować openssh-server by w nieco wygodniejszy sposób zarządzić naszą maszynką. Tak więc wpisujemy w konsolę:

apt-get install openssh-server

Później juz zdalnie, poprzez SSH przygotowujemy naszą maszynkę do przyjęcia softu jaśnie panującego VMwar’a. Przede wszystkim w pierwszej kolejności należy zainstalować kilka pakietów które zdecydowanie ułatwią nam stworzenie chroota. Tworzymy go generalnie po to aby nie na brudzić w systemie i przetestować rozwiązanie w czystym środowisku. Poza tym kilka razy zdarzyło mi się poprzez wymiany binarek wywalić sobie dostęp do serwera, rozwalić system, wywołać niepożądany kernel panic :]. Tak więc, aby przeżyć w spokoju instalację VCB w chroocie należy wykonać:

apt-get install dchroot debootstrap
mkdir /vcb/
debootstrap –arch i386 hardy /vcb/ http://archive.ubuntu.com/ubuntu
chroot /vcb/
dpkg-reconfigure locales

Dodatkowo trzeba zalogować się na swojego ESX’a i przegrać na serwer Backup Proxy który właśnie tworzymy pliki odpowiedzialne za działanie VCB:

/
|– lib
|   |– libcrypto.so.0.9.7
|   |– libcrypto.so.0.9.7a
|   |– libcrypto.so.4
|   |– libssl.so.0.9.7
|   |– libssl.so.0.9.7a
|   `– libssl.so.4
`– usr
|– lib
|   |– kerberos (cały katalog)
|   |– libexpat.so.0
|   |– libexpat.so.0.4.0
|   |– libstdc++.so.5
|   |– libstdc++.so.5.0.3
|   `– vmware
|       |– hostd (cały katalog)
|       |– vcb (cały katalog)
|       `– vmacore (cały katalog)
`– sbin
`– vcbMounter

Należy je wgrać do katalogu / w plikach systemu chroot.  No wielka próba, wywołujemy komendę vcbMounter… i niestety na początku dowiadujemy się że nie można odleźć jakiś bibliotek. Niema problemu tworzymy niezbędne linki symboliczne:

ln -s /usr/lib/kerberos/lib/libcom_err.so.3 /usr/lib/libcom_err.so.3
ln -s /usr/lib/vmware/vmacore/libvmacore.so.1.0 /usr/lib/libvmacore.so.1.0
ln -s /usr/lib/vmware/vmacore/libvmomi.so.1.0 /usr/lib/libvmomi.so.1.0

I ponowiłem  próbę, tym razem uzyskując komunikat:

[2009-07-16 14:26:48.752 ‚App’ 3049244368 info] Current working directory: /home/ml
HOSTINFO: Failed to get logical CPU count.
Error during version check: No such file or directory(2): /dev/vmkcall doesn’t exist.

Nie ukrywam, że w tym momencie nieco zgasł mi entuzjazm, skrypt poszukuje urządzania, które prawdopodobnie nie może być od tak stworzone… ale jako zażarty w bojach admin spróbowałem go obejść najprostszą metodą, stworzyłem plik o który mu chodziło poprzez zwykły touch /dev/vmkcall 🙂 Pomogło! Ale nie do końca 😀 Po tej operacji uzyskałem następujący komunikat:

[2009-07-16 14:26:30.366 ‚App’ 3049518800 info] Current working directory: /home/ml
HOSTINFO: Failed to get logical CPU count.
Error during version check: Failed to get vmkernel version: 0x2bad0019

I tu przyznam się ugrzęzłem, gdyż za żadne skarby nie chciał mi ten soft działać poza ESX’em, wydaje mi się że trzeba by przenieść go razem z jajkiem ESX’a, a przyznam że to trochę za dużo roboty jest jak na dziś… Cóż idea trochę podupadła, ale nic mnie nie powstrzyma aby znaleźć jakiś przyjemny open-sourceowy sposób na backupowanie maszyn wirtualnych online.

PS. Wydało mi się również wymagane stworzenie takiej konfiguracji jak opisana powyżej na maszynie bez chroot, tylko bezpośrednio w systemie… niestety komunikat jest identyczny i również tak samo spektakularnie nie działa 😉

About the author

Bloger i niezależny konsultant z wieloletnim doświadczeniem w branży IT. Specjalizujący się w wirtualizacji i cloud computingu. Posiada tytuły MCP, MCTS, VCP oraz VMware vExpert.

Leave a Reply