Kontakt: +48 606 356 235 lub napisz do nas

Proxmox VE - wirtualizacja systemów

Autor: Ireneusz Piasecki   17 Grudzień 2023   18 Grudzień 2023

Proxmox VE

Uwaga

Nasza firma oferuje pełne wsparcie dla instalacji Proxmox VE oraz opiekę serwisową.

Zapraszamy do KONTAKTU i współpracy!

Tel. kontaktowy: +48 606 356 235

1. Wstęp

Proxmox Virtual Environment (Proxmox VE) to kompletne środowisko do zarządzania maszynami wirtualnymi i kontenerami Linux (LXC) stworzone na licencji typu “open source”. Wykorzystywane do wirtualizacji zasobów w przedsiębiorstwach. Ściśle integruje ze sobą hiperwizor KVM, kontenery Linux (LXC), zdefiniowane programowo funkcje pamięci masowej oraz sieciowe na jednej sprawdzonej platformie.

Dzięki zintegrowanemu interfejsowi użytkownika dostępnego przez przeglądarkę WWW można z łatwością zarządzać maszynami wirtualnymi i kontenerami, tworzyć środowiska opierające się na dostępności klastrów.

System Proxmox VE został oparty na sprawdzonej dystrybucji systemu Linux - Debian.

2. Centrum obliczeniowe, sieć i pamięć masowa - wszystko w jednym miejscu

Implementacja funkcje klasy korporacyjnej oraz skupienie się w 100% na oprogramowaniu sprawiają, że Proxmox VE jest idealnym wyborem do wirtualizacji infrastruktury IT, optymalizacji istniejących zasobów i zwiększenia wydajności przy minimalnych kosztach. Można łatwo zwirtualizować nawet najbardziej obciążone aplikacje w systemach Linux i Windows. To rozwiązanie pozwala również na dynamiczne skalowanie mocy obliczeniowej i pamięć masową w miarę rozwoju potrzeb, przygotowując firmowe centrum danych do przyszłego wzrostu.

3. Wirtualizacja serwerów

Proxmox VE jest oparty na Debianie GNU/Linux i wykorzystuje niestandardowe jądro Linuksa (LTS Ubuntu). Kod źródłowy Proxmox VE jest bezpłatny i udostępniany na licencji GNU Affero General Public License v3 (GNU AGPLv3).

Można więc swobodnie korzystać z oprogramowania i sprawdzić jego kod źródłowy na platformie github. Instalator Proxmox VE można pobrać za darmo ze strony proxmox.com .

Korzystanie z oprogramowania typu “open source” gwarantuje pełny dostęp do wszystkich funkcjonalności, a także wysoki poziom niezawodności i bezpieczeństwa. Firma Proxmox zachęca wszystkich do włączenia się w tworzenie projektu Proxmox VE, dbając jednoczesnie o to, aby produkt spełniał wszystkie kryteria jakości na poziomie korporacyjnym.

3.1 Wirtualizacja serwerów w oparciu o KVM

KVM to technologia wirtualizacji systemu Linux szeroko wykorzystywana w branży, zapewniająca pełną wirtualizację. KVM to moduł jądra systemu Linux, który jest zintegrowany z głównym jądrem Linuksa i działa z wydajnością niemal natywną na każdym sprzęcie x86, który obsługuje wirtualizację: Intel VT-x, AMD-V.

Dzięki temu, istnieje możliwość uruchomienia zarówno system Windows, jak i Linux jako maszyny wirtualne (Virtual Machine). Każda maszyna wirtualna ma przydzielony prywatny, zwirtualizowany sprzęt: kartę sieciową, dysk, kartę graficzną itp. Uruchomienie kilku maszyn wirtualnych w jednym systemie hosta, umożliwia zaoszczędzenie na kosztach zasilania i obsługi. Jednocześnie zapewnia elastyczność w budowaniu sprawnego i skalowalnego centrum danych definiowanego programowo, które spełni wszystkie wymagania biznesowe.

Do zarządzania maszynami wirtualnymi Proxmox VE używa oprogramowania QEMU, tworząc jedno spójne rozwiązanie (KVM+QEMU). Obsługa KVM/QEMU istnieje od początku projektu, czyli od 2008 roku (od wersji 0.9beta2).

3.2 Kontenerowa (LXC) wirtualizacja serwerów

Technologia wirtualizacji oparta na kontenerach jest lekką alternatywą dla pełnej wirtualizacji maszyny. Kluczowe jest to, iż wirtualizacja kontenerowa współdzieli jądro systemu hosta.

Proxmox VE obsługuje technologię LXC - lekkie środowisko wirtualizacji na poziomie systemu operacyjnego umożliwiające uruchamianie wielu izolowanych systemów Linux na jednym hoście z systemem Linux.

LXC działa jako interfejs przestrzeni użytkownika dla funkcji uruchamianych z poziomu jądra Linuksa. Użytkownicy mogą łatwo tworzyć i zarządzać kontenerami systemu lub aplikacji za pomocą bogatego interfejsu API i ogólnodostępnych narzędzi.

4. Centralne zarządzanie

Zarządzanie wszystkimi zadaniami wirtualnego centrum danych odbywa się za pomocą interfejsu zarządzania dostępnego z poziomu przeglądarki internetowej. Cała funkcjonalność interfejsu WWW dostępna jest także poprzez CLI lub REST API, które można wykorzystać do automatyzacji zadań.

4.1 Zarządzanie z poziomu przeglądarki internetowej

Proxmox VE jest łatwy w użytkowaniu. Wszystkie zadania związane z zarządzaniem systemem mogą zostać wykonane za pomocą zintegrowanego graficznego interfejsu użytkownika (GUI). Centralny interfejs sieciowy oparty jest na frameworku ExtJS JavaScript i można uzyskać do niego dostęp z dowolnej przeglądarki stron WWW. Oprócz zadań związanych z zarządzaniem interfejs GUI zapewnia także przegląd historii zadań i dzienników systemowych każdego węzła. Obejmuje to wykonywanie zadań, tworzenia kopii zapasowych, migrację maszyn wirtualnych na żywo, magazynowanie danych zdefiniowane programowo lub działania wyzwalane przez HA (High Availability - Wysoka Dostępność).

Narzędzie multi-master umożliwia zarządzanie całym klastrem z dowolnego węzła klastra - nie ma potrzeby używania tzw. dedykowanego węzła menedżera.

4.2 Mobilna aplikacja do zarządzania Proxmox VE

Dostęp do Proxmox VE można uzyskać na urządzeniach mobilnych za pośrednictwem aplikacji na Androida lub poprzez mobilną wersję interfejsu internetowego opartą na HTML5. Aplikacja Proxmox VE na Androida jest oparta na frameworku Flutter i umożliwia dostęp do serwera Proxmox VE oraz zarządzanie klastrem, węzłami, maszynami wirtualnymi i kontenerami. Klient mobilny Proxmox VE HTML5 umożliwia zarządzanie Proxmox VE w podróży, w tym dostęp do konsoli SPICE i HTML5. Umożliwia to zarządzanie maszynami wirtualnymi i kontenerami oraz przeglądanie ich konfiguracji.

4.3 CLI - interfejs wiersza poleceń

Dla zaawansowanych użytkowników, przyzwyczajonych do używania powłoki Unix lub Windows Powershell, Proxmox VE udostępnia interfejs wiersza poleceń do zarządzania wszystkimi komponentami środowiska wirtualnego. Ten interfejs umożliwia inteligentne uzupełnianie zakładek i pełną dokumentację w postaci stron podręcznika systemu UNIX.

4.4 REST API

Proxmox VE wykorzystuje RESTful API. Jako podstawowy format danych został wybrany JSON, a całe API jest formalnie zdefiniowane przy użyciu schematu JSON. Umożliwia to szybką i łatwą integrację z narzędziami do zarządzania stron trzecich, takimi jak niestandardowe środowiska hostingowe.

5. Klastry w Proxmox VE

Na początek wielu użytkowników Proxmox VE zaczyna od jednego węzła, natomiast środowisko Proxmox VE można skalować do zestawu wielu węzłów klastrowych. Stos klastra jest w pełni zintegrowany i dostarczany z instalacją domyślną systemu (notabene każda instalacja domyślna Proxmox VE jest jednowęzłowym klasterm!).

5.1 System plików klastra Proxmox (pmxcfs)

Proxmox VE wykorzystuje unikalny system plików Proxmox Cluster File System (pmxcfs), oparty na silniku bazy danych opracowany przez Proxmox.

PMXcfs umożliwia synchronizację plików konfiguracyjnych w klastrze. Dzięki zastosowaniu Corosync pliki te są replikowane w czasie rzeczywistym do wszystkich węzłów klastra. System plików przechowuje wszystkie dane w trwałej bazie danych na dysku, niemniej jednak kopia danych znajduje się w pamięci RAM. Maksymalny rozmiar pamięci wynosi obecnie 128 MiB – to dużo więcej niż potrzeba, aby przechowywać konfigurację kilku tysięcy maszyn wirtualnych.

Proxmox VE to jedyna istniejąca platforma wirtualizacyjna wykorzystująca ten unikalny klastrowy system plików - pmxcfs

5.2 Migracje maszyn wirtualnych on-line

Dzięki zintegrowanej funkcji migracji on-line można przenosić działające maszyny wirtualne z jednego węzła klastra Proxmox VE do innego - bez przestojów i zauważalnych skutków ze strony użytkownika końcowego.

Administratorzy mogą zainicjować ten proces z poziomu interfejsu zarządzania lub wiersza poleceń. Pozwala to zminimalizować przestoje na wypadek konieczności przełączenia systemu hosta w tryb offline w celu konserwacji.

5.3 Unikalna architektura zarządzania klasterm

Aby uprościć zarządzanie klastrem, można wykonywać zadania konserwacyjne w całym klastrze, z dowolnego węzła. Zintegrowany internetowy interfejs zarządzania zapewnia przejrzysty przegląd wszystkich maszyn wirtualnych i kontenerów Linux w całym klastrze. Można łatwo zarządzać maszynami wirtualnymi i kontenerami, pamięcią masową lub klastrem z poziomu narzędzia do zarządzania GUI. Nie ma potrzeby instalowania oddzielnego, złożonego i kosztownego serwera zarządzającego.

6. Uwierzytelnianie

6.1 Administracja oparta na rolach

Można zdefiniować szczegółowy dostęp do wszystkich obiektów w systemie (maszyny wirtualne, pamięć masowa, węzły itp.), korzystając z systemu zarządzania uprawnieniami opartego na rolach.

Pozwala to na zdefiniowanie uprawnień i pomaga kontrolować dostęp do obiektów. Koncepcja ta jest również znana jako listy kontroli dostępu (ACL): każde uprawnienie określa podmiot (grupę użytkowników lub token API) i rolę (zestaw uprawnień) w określonej ścieżce.

6.2 Źródła uwierzytelniania

Proxmox VE obsługuje wiele źródeł uwierzytelniania, na przykład Linux PAM, zintegrowany serwer uwierzytelniania Proxmox VE, LDAP, Microsoft Active Directory i OpenID Connect.

7. Klastry wysokiej dostępności (HA - High Availability) Proxmox VE

Wielowęzłowy klaster Proxmox VE umożliwia tworzenie środowiska serwerów wirtualnych o wysokiej dostępności. Klaster Proxmox VE HA opiera się na sprawdzonych technologiach Linux HA, zapewniając stabilną i niezawodną usługę HA.

Cały klaster Proxmox VE HA można łatwo skonfigurować za pomocą zintegrowanego interfejsu użytkownika dostępnego przez przeglądarkę internetową.

7.1 Proxmox VE HA - menadżer

Menedżer zasobów, Proxmox VE HA Manager, monitoruje wszystkie maszyny wirtualne i kontenery w klastrze. Automatycznie rozpoczyna działanie w przypadku awarii jednego z nich.

Menedżer Proxmox VE HA działa od razu - wymagana jest jedynie konfiguracja zerowa (domyślnie instalowana). Dodatkowo system oparty na watchdogach znacznie upraszcza wdrażanie i zarządzanie systemem HA.

7.2 Symulator Proxmox VE HA

Proxmox VE zawiera symulator HA. Umożliwia to przetestowanie zachowania rzeczywistego klastra z 3 węzłami i 6 maszynami wirtualnymi. Symulator Proxmox HA działa od razu i pomaga nauczyć się i zrozumieć, jak działa Proxmox VE HA.

8. Sieć typu “bridge”

Proxmox VE wykorzystuje model sieci mostkowej - każdy host może posiadać do 4094 mostów.

Mosty przypominają fizyczne przełączniki sieciowe, zaimplementowane w oprogramowaniu na hoście Proxmox VE. Wszystkie maszyny wirtualne mogą współużytkować jeden most, tak jakby kable sieci wirtualnej każdego gościa były podłączone do tego samego przełącznika. Aby połączyć maszyny wirtualne ze światem zewnętrznym - mosty są podłączane do fizycznych kart sieciowych z przypisaną konfiguracją TCP/IP.

Aby zapewnić większą elastyczność, możliwe są sieci VLAN (IEEE 802.1q) i łączenie/agregacja sieci. W ten sposób możliwe jest budowanie złożonych, elastycznych sieci wirtualnych dla hostów Proxmox VE, wykorzystując pełną moc stosu sieciowego Linux.

Dla bardziej zaawansowanych konfiguracji, Proxmox VE obsługuje również Open vSwitch (OVS) jako alternatywę dla mostów, połączeń i interfejsów VLAN w systemie Linux. OVS zapewnia zaawansowane funkcje, takie jak obsługa RSTP, VXLAN i OpenFlow, a także obsługuje wiele sieci VLAN na jednym moście.

9. Elastyczne opcje magazynów danych

Model przechowywania danych przez Proxmox VE jest bardzo elastyczny i konfigurowalny. Obrazy maszyn wirtualnych można przechowywać na jednym lub kilku lokalnych urządzeniach pamięci masowej lub w pamięci współdzielonej, takiej jak NFS i SAN. Nie ma żadnych ograniczeń. Można skonfigurować dowolną liczbę magazynów danych i korzystać ze wszystkich technologii przechowywania dostępnych dla systemu Debian GNU/Linux. Zaletą przechowywania maszyn wirtualnych we współdzielonej pamięci masowej jest możliwość migracji działających maszyn na żywo bez żadnych przestojów.

W panelu zarządzania Proxmox VE możesz dodać następujące typy magazynów danych:

  1. Sieciowe
  • LVM Group (network backing with iSCSI targets)
  • iSCSI target
  • NFS Share
  • SMB/CIFS
  • Ceph RBD
  • Direct to iSCSI LUN
  • GlusterFS
  • CephFS
  1. Lokalne
  • Grupy LVM
  • Katalogi (w istniejącym systemie plików)
  • ZFS

10. Ceph - magazyn danych definiowany programowo

Ceph to rozproszony magazyn obiektów i system plików typu “open source”, zaprojektowany w celu zapewnienia doskonałej wydajności, niezawodności i skalowalności. W środowisko Proxmox VE w pełni zintegrowano Ceph, dając możliwość uruchamiania i zarządzania pamięcią masową Ceph bezpośrednio z dowolnego węzła klastra.

Ceph oferuje dwa typy pamięci masowej: RADOS Block Device (RBD) i CephFS. RBD zapewnia przechowywanie na poziomie bloków zawartości takiej jak obrazy dysków i migawki. Natomiast CephFS implementuje system plików zgodny z POSIX, wykorzystując klaster pamięci Ceph do przechowywania danych.

10.1 Korzyści z używania Ceph w Proxmox VE

  1. Łatwa konfiguracja i zarządzanie za pomocą GUI oraz CLI
  2. Mechanizmy samoleczenia
  3. Bardzo wysoki stopień skalowania do poziomu eksabajtów
  4. Możliwa konfiguracja pul o różnych charakterystykach wydajności i redundancji
  5. Działa na ogólnodostępnym sprzęcie

11. Firewall w Proxmox VE

Wbudowana zapora sieciowa Proxmox VE zapewnia łatwy sposób ochrony infrastruktury IT. Zapora sieciowa jest w pełni konfigurowalna, pozwala to na złożoną konfigurację za pośrednictwem zarówno GUI, jak i CLI.

Można skonfigurować reguły zapory dla wszystkich hostów w klastrze lub zdefiniować reguły tylko dla maszyn wirtualnych i kontenerów. Funkcje takie jak makra zapory sieciowej, grupy zabezpieczeń, zestawy adresów IP i aliasy ułatwiają konfigurację.

11.1 Rozproszony firewall

Podczas, gdy cała konfiguracja jest przechowywana w systemie plików klastra, zapora sieciowa oparta na iptables działa na każdym węźle klastra, gwarantując w ten sposób pełną izolację pomiędzy maszynami wirtualnymi.

Rozproszony charakter tego systemu zapewnia również znacznie większą przepustowość, niż scentralizowane rozwiązanie oparte na firewallu.

11.2 IPv4 i IPv6

Zapora sieciowa w pełni obsługuje protokoły IPv4 i IPv6. Obsługa protokołu IPv6 jest w pełni przezroczysta i domyślnie ruch jest filtrowany dla obu protokołów. Dlatego nie ma potrzeby utrzymywania innego zestawu reguł dla protokołu IPv6.

12. Kopie bezpieczeństwa i odzyskiwanie

Kopie bezpieczeństwa są podstawowym wymogiem każdego profesjonalnego środowiska IT. Platforma Proxmox VE zapewnia w pełni zintegrowane rozwiązanie, wykorzystujące możliwości każdego typu pamięci masowej i każdego typu systemu operacyjnego gościa. Tworzenie kopii bezpieczeństwa można łatwo rozpocząć za pomocą interfejsu zarządzania GUI lub narzędzia do tworzenia kopii zapasowych vzdump (z wiersza poleceń). Oferowane w systemie kopie bezpieczeństwa są zawsze pełnymi kopiami - zawierającymi konfigurację maszyn wirtualnych i kontenera oraz wszystkie dane.

Zintegrowane narzędzie do tworzenia kopii zapasowych (vzdump) tworzy spójne migawki działających kontenerów i maszyn wirtualnych. Zasadniczo tworzona jest kopia danych maszyny wirtualnej lub kontenera oraz pliki konfiguracyjne.

12.1 Zaplanowane zadania kopii bezpieczeństwa

Zadania tworzenia kopii bezpieczeństwa można zaplanować tak, aby były wykonywane automatycznie w określonych dniach i godzinach, dla wybranych węzłów i maszyn wirtualnych/kontenerów.

12.2 Magazyn kopii bezpieczeństwa

Kopie bezpieczeństwa, wykonywane w trybie “on-line”, maszyn wirtualnych/kontenerów działają w przypadku wszystkich typów pamięci masowej, w tym obrazów maszyn wirtualnych w systemie NFS, iSCSI LUN i Ceph RBD. Format kopii zapasowych Proxmox VE jest zoptymalizowany pod kątem szybkiego i efektywnego przechowywania kopii zapasowych maszyn wirtualnych (uwzględnianie rzadkich plików, danych nieuporządkowanych, zminimalizowanych operacji we/wy).

13. Integracja Proxmox VE z Proxmox Backup Server

Proxmox Backup Server to system od Proxmox do tworzenia kopii zapasowych klasy korporacyjnej, które umożliwia tworzenie kopii zapasowych maszyn wirtualnych, kontenerów i hostów fizycznych. Rozwiązanie jest w pełni zintegrowane z Proxmox VE, co oznacza, że ​​można bezproblemowo tworzyć kopie zapasowe i przywracać maszyny wirtualne/kontenery, korzystając z tego samego wspólnego interfejsu, z którego korzystają inne typy pamięci masowej.

Wykonywanie kopie bezpieczeństwa mają charakter przyrostowy i przesyłają jedynie zmienione dane przez sieć. Jest to bardzo korzystne pod względem przepustowości sieci i czasu wykonywania zadań tworzenia kopii zapasowych. Dane można również łatwo zaszyfrować po stronie klienta, dzięki czemu kopie zapasowe danych będą niedostępne dla osób postronnych.

14. Podsumowanie

Proxmox VE to dojrzałe rozwiązanie istniejące na rynku od wielu lat. Obecnie dostępna wersja systemu to 8.1.3 (na dzień 16.12.2023) na bazie systemu Linux Debian 12 “bookworm”. Jak na rozwiązanie klasy “dla przedsiębiorstw” całość systemu jest dokładnie testowana i uruchamiana w wielu scenariuszach wdrożenia. Wszystkie pakiety przechodzą rygorystyczne testy jakościowe zanim trafią do głównego repozytorium (dla subkrybentów). Należy również nadmienić, iż Proxmox VE posiada bardzo dobry mechanizm podnoszenia wersji systemu z niższej do wyższej, gdzie czas przestoju został sprowadzony do minimum.

Bogate funkcjonalności, stabilność i sprawdzone w produkcji technologie stawiają Proxmox VE na równi z innymi konkurentami takimi jak np. MS Hyper-V, vmware, XCP-ng, Cytrix.

Materiał powstał na podstawie informacji dostępnych na stronie internetowej proxmox.com .

Przykładowe ekrany Proxmox VE
 
“Proxmox VE”
 
“Proxmox VE”
 
“Proxmox VE”