piątek, marzec 29, 2024
Powered by Gantry Framework

Obecnie w przypadku większości serwerów stosuje się wirtualizację. W takiej czy innej formie pozwala ona na sprawne zarządzanie serwerami i zasobami maszyn fizycznych. Ale niestety nie zawsze jest tak kolorowo jakby się to mogło wydawać...

Zacznij od samego VMWare. Jest to najbardziej rozpowszechniony system do tworzenia oraz zarządzania maszynami wirtualnymi. Wszystko za sprawą ESX w swojej darmowej odsłonie (czyli ESXi) oraz VMWare Workstation Player. Pierwszy jest hypervisior, czyli systemem zarządczym maszynami wirtualnymi na serwerze fizycznym. Drugi - pozwala tworzyć maszyny wirtualne na komputerze lokalnym. Porównanie do VirtualBox'a jest jak najbardziej na miejscu. Różnica jest taka, że będąc produktem od VMWare posiada lepszą kompatybilności. Nie próbowałem tego osobiście, ale prawdopodobnie mógłbym stworzyć maszynę wirtualną w Playerze i wgrać ją na serwer z ESX lub ESXi.

Jednak nie wszystko z maszynami wirtualnymi zawsze jest takie kolorowe. Zacznijmy od kompatybilności sprzętu. Owszem, ESXi można odpalić na praktycznie każdym sprzęcie, który wspiera 64-bitowe systemy, ale istnieje prawdopodobieństwo że niestandardowa karta sieciowa lub karta graficzna nie będą działać poprawnie. Same pliki wirtualnych maszyn można przerzucać praktycznie między dowolną wersją ESX dopóki nie zaktualizujemy tzw. "sprzętu wirtualnego". Wtedy umarł w butach, nie cofniemy maszyny z najnowszej wersji do wersji sprzed roku. Dodatkowo czasem bywają problem z dodatkowymi urządzeniami - przykładem niech będą niektóre klucze licencyjne dostarczane w postaci specjalnego pendrive'a. Podpięcie takiego klucza do maszyny wirtualnej jest banalne, niestety skutkiem ubocznym może być spadek wydajności całego serwera jeżeli sam klucz USB jest źle skonstruowany lub aplikacja, która się z nim komunikuje jest dziurawa. Miałem niestety okazję tego doświadczyć, odkrycie takiej zależności było również zbiegiem okoliczności.


W przypadku kopii zapasowych maszyn wirtualnych sprawa wydaje się prosta - robimy snapshot serwera. Taki snapshot zapisuje bieżący stan systemu plików maszyny wirtualnej i pozwala szybko do niego wrócić. Dodatkowo jest trzymany w tym samym co pliki maszyny wirtualnej. Jest to jednak półśrodek, ponieważ możemy trzymać maksymalnie parę takich migawek. Co w przypadku gdy potrzebujemy robić backup codziennie i móc szybko wrócić do stanu sprzed 2 tygodni? Wtedy ratujemy się aplikacją, która pozwala wykonywać i zapisywać snapshoty w oddzielnym miejscu oraz trzymać ich sporą ilość. Sprawia to, że jeżeli cały serwer nagle umrze a my mamy kopię zapasową w postaci migawki na dysku sieciowym możemy przywrócić sprawność maszyny wirtualnej w parę minut - wystarczy zainstalować na jakimś zapasowym komputerze ESXi, ustawić sieć i wskazać plik z maszyną wirtualną. Albo odzyskać w locie z backupu. Nieważne co zrobimy, wracamy do działania w parę minut.


Całe to moje pisanie sprowadza się do jednej rzeczy. Czasami w firmach widzi się serwery, które mają po 10-15 lat. Jakieś stare maszyny, których nie sposób ruszyć - brak części, brak kompatybilności, system tak stary że działa tylko na tym. A co jeżeli bylibyśmy w stanie przenieść taki serwer na nowy sprzęt dzięki wirtualizacji? Pozbywamy się problemu związanego ze sprzętem. Fakt, trzeba najpierw wszystko tysiąc razy sprawdzić, trzysta razy zrestartować, poprzenosić w obie strony ze dwa tuziny razy żeby mieć pewności że działa poprawnie. Ale po takich zabiegach serwer będzie działał tak długo, jak my tego potrzebujemy. Nie będzie obawy przed jego awarią.

Często ludzie się bronią przed tym mówiąc o kosztach. Ale... Najtańszy serwer typu tower kosztuje ok. 2 tysięcy PLN. Serwis starego serwera może wynieść znacznie więcej jak zaczną się problemy - sprzęt, utrata danych itp. 

Ale żeby nie było zbyt radośnie - przejście na wirtualizację nie zawsze jest niestety możliwe. Ale warto próbować...