Technologia serwerów wirtualnych

System operacyjny

Hosty (maszyny fizyczne) implementują system Gentoo Linux.

Systemy goście mogą stosować dowolny system operacyjny dający się uruchomić w środowisku KVM.

W przypadkach powierzania nam opieki nad systemem gościa mocno rekomendujemy Gentoo Linux.

Technika wirtualizacji

Podstawowe rozwiązanie stanowi technologia Linux KVM. To najbardziej naturalna dla Linuksa technika zwielokrotnienia systemów operacyjnych na maszynie fizycznej.

Każdy system hosta jest zorganizowany przy użyciu biblioteki LibVirt i szeregu skryptów zarządzających.

W celu zapewnienia wysokiej wydajności stosujemy różne techniki usprawniające działanie jak na przykład:

sterowniki para-wirtualizacji dla interfejsów sieciowych i dysków twardych,

hugepages na hostach.

Dostęp zdalny i administracja maszyną

Nadrzędny - ponad systemem operacyjnym - poziom dostępu, czyli swoisty rodzaj ILO realizowany jest protokołem vnc. Dzieje się to przy użyciu oprogramowania Guacamole. Wygląda podobnie do screenów przedstawionych niżej. Aplikacja zdalnego dostępu vnc działa w dowolnej przeglądarce. Vnc daje zdalny dostęp do konsoli systemu (symuluje fizyczny monitor i klawiaturę).

Typowo maszyna wirtualna wyposażona jest w wirtualny cdrom (plik iso z obrazem płyty) pozwalający startować z płyty. Ostatni z poniższych obrazków przedstawia startujący w ten sposób system.

Gdy już mamy zainstalowany system operacyjny, wtedy możliwy jest dostęp dowolnym protokołem jaki udostępnimy na maszynie: ssh, ftp, http, imap, pop3, smtp itp.

Na specjalne życzenie możliwe jest zestawienie szyfrowanego bądź nieszyfrowanego tunelu do maszyny.

W przypadku systemu Gentoo Linux administrowanego przez nas udostępniamy użytkownikowi panele: Webmin oraz Usermin.

Pamięć masowa

Typowo maszyna wirtualna implementuje pojedyncze urządzenie (Ceph Rados Block Device) - urządzenie blokowe w rozproszonym systemie plików ze zwielokrotnianiem zapisu. To w pełni chmurowa filozofia storage.

W niektórych przypadkach (gdy wymagana jest wyjątkowo wysoka wydajność) można zastosować dyski SSD jako cache dla RBD.

Niektóre maszyny wirtualne implementują bardziej tradycyjne iSCSI + macierz RAID6.

Można też zastosować technologię RAID1 z dwóch niezależnych źródeł iSCSI lub dwóch klastrów CEPH.

W każdym momencie życia systemu wirtualnego możliwe jest dodanie drugiego i kolejnych urządzeń blokowych RBD lub iSCSI.

Zasada duplikacji

Cała infrastruktura obsługująca istnienie maszyn wirtualnych jest zwielokrotniona. Zasada duplikacji infrastruktury służy całkowitemu wyeliminowaniu pojedynczych punktów występowania awarii. To skutkuje bardzo wysoką dostępnością przekraczającą 99,97%. Przerwy w pracy ograniczają się niemal wyłącznie do zaplanowanych z dużym wyprzedzeniem przerw konserwacyjnych. Dla przykładu stosujemy:

Minimum dwie maszyny fizyczne dedykowane dla każdego zestawu maszyn wirtualnych.

Dwa obwody zasilania dostarczone z zakładu energetycznego do datacenter.

Dwa systemy zasilania awaryjnego. Podwójne UPS. Podwójne siłownie telekomunikacyjne z bateriami akumulatorów. Podwójne agregaty prądotwórcze.

Podwójne szlaki przełączników przy każdej maszynie fizycznej.

Wszystkie urządzenia takie jak switche, routery i serwery posiadają podwójne zasilacze 230VAC lub 48VDC.

Podwójne routery bgp i routery brzegowe.

Minimum podwójne wyjścia transmisyjne na świat.

W niektórych rozwiązaniach są stosowane podwójne lokalizacje geograficzne datacenter.

Krótki przegląd stosowanego (preferowanego) oprogramowania

Gentoo Linux

Postfix, DoveCot, RoundCube.

Postgresql, Mysql.

Apache, Nginx.

Wordpress.

Inne udogodnienia

Centralny serwer logów.

Własne repozytoria portage i distfiles dostępne przy użyciu NFS.

Archiwum historyczne portage dostępne przez NFS. Znakomicie ułatwia upgrade bardzo starych systemów.

Własne serwery DNS działające w oparciu o software PowerDNS. Zarządzanie domenami przez PowerAdmin.

Różnorodne statystyki i monitory działania.