Menu Zamknij

Linux w chmurze z replikacją, skalowaniem i failover prawie za darmo…

Jako iż prócz zainteresowań związanych z wirtualizacją i systemami z rodziny Windows Server nie obce są mi również systemy Linux. Do niedawna wirtualizacja Linuxów wymagała nieco innych narzędzi. Administrator miał wybór, albo darmowe rozwiązanie KVM, QEMU – swoją drogą bardzo dobre – ale aby uzyskać wysoką dostępność serwerów i mieć dobre narzędzia do administracji – wymagało to dużych umiejętności programistycznych i wiedzy jak sam system działa.

Amazon EC2 jest takim przykładem profesjonalnego wdrożenia chmury opartej o XEN, tylko potęgą EC2 jest proces automatyzacji usług. Jeśli jakaś funkcjonalność wymaga realizacji więcej niż kilka razy – to tworzone są odpowiednie skrypty (np. w Perl), które dany proces zautomatyzują. Zbudowanie na własną rękę tak dużego systemu pociąga za sobą na tyle wysokie koszty – że taniej jest kupić gotowe rozwiązanie.

Tu było dotychczas miejsce na vmWare. Do większości przypadków wystarczał prosty ESXi, który zapewniał wysoką wydajność maszyn, proste mechanizmy współdzielenia zasobów i dość proste zarządzanie. Instalacja komercyjnego vSphere podnosiła funkcjonalność o mechanizmy migracji maszyn na żywo, klastry itp. Niestety było to dość drogie rozwiązanie i niosące czasami dość dziwne ograniczenia. Druga sprawa to to, ze ESX ma dość precyzyjne wymagania odnośnie hardware. W przypadku nowych serwerów markowych dostawców raczej nie powinniśmy się spodziewać problemów, ale warto zwrócić uwagę np. na kontroler dysków do którego podłączone są dyski systemowe. Standardowy kontroler na płycie może nie być wystarczający do utworzenia RAID1 widocznego przez system.

Ale dziś jest alternatywa… Co więcej alternatywa która może być za darmo lub prawie darmo…

Hyper-V Server

Hyper-V Server to system operacyjny Microsoft, który oparty jest o Windows Server ale jest ograniczony do minimum niezbędnego dla dostarczania wirtualizacji. Jedyną rolą jaką posiadamy jest rola Hyper-V, brak jest GUI – wszystkim zarządzamy poprzez PowerShell (ale o tym dalej). Do jego zalet (prócz tego, że jest za darmo) jest to iż jest oparty o ten sam kernel co Windows Server – co oznacza, ze używa tej samej bazy sterowników do urządzeń, innymi słowy – jest zdecydowanie bardziej kompatybilny ze sprzętem niż vmWare…

Korzyści ze zwirtualizowania Linuxów

  • wzrośnie nam możliwość skalowania systemów – dynamiczne dodawanie RAM, rozszerzanie dysków
  • serwery będą dostępne online nawet w przypadku awarii sprzętu (funkcje klastra i przenoszenia maszyn live)
  • będziemy mogli replikować nasze serwery do zapasowego centrum danych lub do chmury Azure – zwiększając tym samym dostępność do naszych usług.

Co możemy zrobić na darmowym Hyper-V

Oczywiście wirtualizować :). Sama usługa wirtualizacji w zasadzie niczym się nie różni od tej zastosowanej w Windows Server 2012, a więc mamy te same wartości związane ze skalowaniem maszyn, funkcje snapshotów, replikację maszyn, migrację maszyn bez współdzielenia zasobów, jak również funkcje failover jak tylko z naszych serwerów utworzymy klaster.

W zasadzie wymóg posiadania klastra jest jedynym przypadkiem w którym mogą pojawić się koszty – poprostu serwery trzeba wpiąć do jakiegoś kontrolera domen opartego o Windows Server. Oczywiście jeśli posiadamy już w firmie AD – to rozwiązanie będzie w 100% darmowe.

Zarządzanie maszynami

Zarządzanie naszymi wirtualnymi Linux-ami można realizować na kilka sposobów. Podstawowy model to zarządzanie poprzez PowerShell. Nie jest to przesadnie złożone, szczególnie dla administratorów Linux. Składnia języka owszem różni się od Perla, Bash czy choćby Pythona – ale można się przestawić, inna sprawa, że do większości podstawowych operacji służą pojedyńcze polecenia.

Drugim sposobem, który polecam bo jest wygodny i intuicyjny to zarządzanie z zewnętrznego komputera z systemem Windows 7/8 lub Windows Server. Wystarczy do komputera doinstalować narzędzia do zarządzania rolą Hyper-V. (Otwiertamy Panel Sterowania, zakładkę Programy i funkcje, klikamy po lewej na „Włącz lub wyłącz funkcje systemu Windows”, w nowym oknie rozwijamy Rolę Hyper-V i zaznaczamy opcję „Narzędzia do zarządzania funkcją Hyper-V” – obie opcje i PowerShell i GUI).

Ten drugi sposób umożliwia nam w zasadzie pełne zarządzanie hostami do wirtualizacji.

W przypadku posiadania klastra trzeba zainstalować narzędzia do zdalnej administracji – tu wymagany jest już Windows 8 lub 8.1

Narzędzia będą zawierać konsolę, która umożliwi nam pełne zarządzanie klastrem na serwerach Hyper-V. A więc funkcje migracji maszyn, replikację maszyn itp.

Co możemy jeszcze robić?

  • Udostępniać maszynie kartę graficzną w pełnym trybie. Dostęp do okna shell na Linux niczym się nie różni od tradycyjnego dostępu
  • Wsparcie dla dynamicznej alokacji pamięci RAM. Linux może analogicznie jak Windows Server dostawać dodatkową pamięć RAM w trybie Hot-Add i zwalniać ją wykorzystująch funkcję „balloning”.
  • Backup dysków maszyny w trybie Live – dotychczas backup maszyn opartych o Linux generował pewne problemy. Najbezpieczniej było robić backup w trybie Offline, bowiem często dyski wirtualne ulegały uszkodzeniom…
  • Dynamiczne rozszerzanie dysków podłączonych do serwera.
  • Kernel kdump/kexec, Wsparcie dla NMI czy MMIO

Jakie systemy Linux są wspierane?

Oficjalnie Microsoft wspiera te system co do których jest w stanie „zorganizować” certyfikowanego inżyniera – a więc formalnie jesteśmy ograniczeni do RedHat oraz Suse.

Podstawowe funkcje wirtualizacji otrzymamy w zasadzie na każdym Linuxie, który jest oparty o kernel 3.x.x. W przypadku wybranych systemów odpowiednie sterowniki trzeba dokompilować do kernela (Debian), w przypadku innych (Ubuntu) są one już dostępne.

W przypadku Ubuntu wystarczy posiadać wersję 12.x by móc korzystać ze sprzętowych sterowników np. dla karty sieciowej, zaś wersja 13.1 ma już pełne wsparcie dla wszystkich funkcji dostarczanych przez Hyper-V.

Migracja

Procedura migracji do Hyper-V to proces dość złożony. Są komercyjne rozwiązania które pozwalają na przeniesienie maszyny fizycznej do wirtualnej Hyper-V w trybie on-line – restart jest potrzebny tylko dla przeniesienia się na maszynę wirtualną. To produkty z rodziny System Center – a dokładniej Virtual Machine Manager.

Są też narzędzia które dokonają konwersji dysków np. z systemu ESXi (vmdk) do formatu Hyper-V (vhdx lub vhd), ale ich skuteczność jest różna.

Najlepszym rozwiązaniem jest migracja ręczna – polegająca na instalacji najświeższej wersji Linuxa (takiej która np. wspiera wszystkie funkcje Hyper-V) i przeniesienie nań usług.

jeśli jeszcze Was nie przekonałem – proponuję uruchomić funkcję Hyper-V na Waszych laptopach/komputerach. Jeśli posiadacie Windows 8 lub 8.1 i odpowiedni procesor to dodanie roli Hyper-V nie powinno być problemem. Najszybciej zacząć od Ubuntu – bardzo dobrze się on wirtualizuje, jedna z moich usług (mailgate.pl) jest oparta własnie o serwery Hyper-V…

Link do pobrania pełnej wersji systemu Hyper-V Server 2012 R2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.