Czym jest wirtualizacja serwerów?
Wirtualizacja to proces która pozwala uruchamiać wiele wirtualnych systemów na jednej fizycznej maszynie. Wirtualne maszyny działające w ramach jednego hosta są od siebie oddzielone i z poziomu sieci czy użytkownika są to osobne serwery na których mogą działać kompletnie niezależne aplikacje.
Jakie korzyści daje wirtualizacja?
- Pełne wykorzystanie dostępnej mocy obliczeniowej fizycznych serwerów:
Wyobraźmy sobie sytuację, że kupujemy fizyczny serwer i instalujemy na nim aplikację ERP. Sama aplikacja wykorzystuje 40% zasobów serwer (moc procesora, pamięć RAM i przestrzeń dyskową). Mimo że zapłaciliśmy dużą kwotę za fizyczny serwer to duża część jego zasobów leży nieużywana, moglibyśmy na tym samym serwerze zainstalować kolejną aplikację, ale mogą wystąpić konflikty zwłaszcza jeżeli dana aplikacja wykorzystuje inny stack technologiczny.
Dzięki wirtualizacji możemy na tym pojedynczym serwerze uruchomić wiele maszyn wirtualnych i w pełni wykorzystać moc obliczeniową którą mamy do dyspozycji, a także oddzielić od siebie środowiska i zapewnić że wszystkie aplikacje na poszczególnych maszynach wirtualnych będą działać niezależnie od siebie i nie powodować konfliktów. - Skalowalność w pionie i poziomie:
Wyobraźmy sobie sytuację, że mamy fizyczny serwer na którym kończą nam się zasoby. Jeżeli chcielibyśmy rozbudować naszą aplikację, musielibyśmy albo dołożyć pamięci RAM (lub innych parametrów) do fizycznego serwera lub dokupić kolejne urządzenia. Jest to głównie czasochłonne gdyż wymaga oczekiwania na komponenty i przestojów w pracy (gdyż fizyczny serwer trzeba zazwyczaj wyłączyć, aby dołożyć mu zasobów).
W przypadku wirtualizacji możemy po prostu dołożyć pamięci RAM lub rdzeni procesora do wirtualnej maszyny (skalowalność w pionie) lub sklonować ją aby zapewnić dodatkowe repliki, które mogą obsłużyć pracę naszego serwera (skalowalność w poziomie). Cały proces wymaga oczywiście wolnych zasobów na naszym fizycznym serwerze na którym wirtualne maszyny działają, ale jest o wiele wygodniejszy i wymaga mniejsze lub zerowo przestoju w pracy serwerów. - Wysoka dostępność i odporność na awarie:
Systemy high-availability to systemy cechujące się wysoką odpornością i niezawodnością, stan ten możemy osiągnąć właśnie dzięki wirtualizacji. System od wirtualizacji często składają się z kilku fizycznych serwerów które działają jako jeden system dzięki technologii klastrowania. Maszyny wirtualne hostowane w takich klastrach wirtualizacji mogą być automatycznie restartowane bądź migrowane w czasie rzeczywisty w przypadku kiedy jeden z fizycznych serwerów przestanie działać (np. przez awarię podzespołów lub zanik napięcia). Migracja ta często nie powoduje w ogóle przerw w pracy maszyn wirtualnych, dzięki temu osiągamy prawie 100% dostępność naszych usług. - Mobilność
Maszyny wirtualne mogą być w łatwy sposób przenoszone pomiędzy systemami do wirtualizacje jeżeli zajdzie taka potrzeba. Jeżeli chcielibyśmy przenieść w ten sposób konfigurację i danę z fizycznego serwera to proces jest o wiele bardziej złożony i trudniejszy. - Kopie zapasowe
Maszyny wirtualne mogą być w łatwy sposób backupowane często przy pomocy narzędzi dostarczonych razem z systemami do wirtualizacji. Zaletą jest tutaj tworzenie pełnych kopii zapasowych razem z konfiguracją czy stanem maszyn, a nie samych plików jak to często jest w przypadku fizycznych serwerów.
Czy system wirtualizacji są drogie?
Istnieje wiele biznesowych rozwiązań do wirtualizacji takich jak VMWare vSphere których koszty licencji mogą oscylować w okolicach od kilku do kilkunastu tysięcy złoty zależnie od naszych potrzeb. Ale są też otwarto źródłowe, darmowe alternatywy takie jak Proxmox VE.
Jest to system bazujący na Linuxie, który do wirtualizacji używa jego jądra systemowego i technologii KVM / QEMU. Rywalizuje on z innymi biznesowymi rozwiązania i bardzo szybko zyskuje popularność na rynku, system jest w pełni darmowy a licencja jest opcjonalna jeżeli chcielibyśmy otrzymać wsparcie producenta czy do biznesowego repozytorium z aktualizacjami.
System posiada wszystkie funkcję, które musi mieć system wirtualizacji w dzisiejszych czasach czyli: możliwość tworzenia klastrów serwerów wirtualizacji, tworzenie snapshotów (migawek maszyn wirtualnych), migrację maszyn w czasie rzeczywistym pomiędzy fizycznymi serwerami, a także bardzo rozbudowane ustawienia omawianego wcześniej high-availability.
Dodatkowo możemy go rozbudować o kolejne darmowe narzędzie stworzone przez twórców rozwiązania: Proxmox Backup Server. Dzięki któremu możemy w łatwy sposób zautomatyzować wykonywanie kopii zapasowych naszych wirtualnych serwerów.
W swojej zawodowej karierze stworzyłem już kilka środowisk wirtualizacji przy pomocy tego narzędzia, największe dla firmy Macrix Technology Group. Środowisko to składa się z 4 fizycznych serwerów działających jako jeden system i hostuje około 50 wirtualnych serwerów. Całość działa nieprzerwanie i niezawodnie od kilku lat, jest to system sprawdzony przez wiele organizacji i godny polecenia.
Konsultacje IT
Twoja firma potrzebuje wsparcia w tematach związanych z wirtualizacją?
Zapraszam do kontaktu: biuro@boguszynski-solutions.pl