top of page

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
  • Zdjęcie autoraPiotr Kośka

Proxmox - rozwiązania enterprise i home klastra wirtualizacji - część pierwsza (part 1).

Proxmox to platforma przeznaczona do wirtualizacji i konteneryzacji zasobów które, mamy uruchomione na naszych maszynach baremetal. W tym artykule przyjrzymy się takiej konfiguracji w moim labie domowym (jednak łatwo to potem przenieść na większą skalę).


W artykule tym biorą udział 4 hosty na których zbudujemy klaster. Jeden host nasz gość specjalny zostanie na razie ukryty w tej konfiguracji i ujawnię go w trakcie artykułu :).


Środowisko proxmox


Zatem spójrzmy na moje środowisko dostępne w domowym "laboratorium" w którym to będę przeprowadzał operację uruchomienia klastra proxmox składającego się z trzech nodów (węzłów). Klaster ten wykorzystuje do tworzenia moich materiałów na youtube i komercyjnych szkoleń.


Węzły (nody) - proxmox specyfikacja.


Dla osób, które lubią parametry i dokładne szczegóły przedstawię rezultat polecenia hwinfo ze wszystkich trzech węzłów mojego klastra proxmox:


Węzeł pierwszy (pve01) - dwa dyski SSD po 230 GB / 8GB RAM

root@pve01:~# hwinfo --short
cpu:
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
graphics card:
                       Intel Iris Plus Graphics 640
storage:
                       Intel Sunrise Point-LP SATA Controller [AHCI mode]
                       Kingston Technology Company U-SNS8154P3 NVMe SSD
network:
  wlp58s0              Intel Wireless 8265 / 8275
  eno1                 Intel Ethernet Connection (4) I219-V
  enx00e04c6804df      Realtek RTL8153 Gigabit Ethernet Adapter
network interface:
  lo                   Loopback network interface
  eno1                 Ethernet network interface
  vmbr0                Ethernet network interface
  enx00e04c6804df      Ethernet network interface
  wlp58s0              Ethernet network interface
disk:
  /dev/nvme0n1         Kingston Technology Company U-SNS8154P3 NVMe SSD
  /dev/sdb             SYNOLOGY Storage
  /dev/sda             Samsung SSD 860
partition:
  /dev/nvme0n1p1       Partition
  /dev/nvme0n1p2       Partition
  /dev/nvme0n1p3       Partition
  /dev/sda1            Partition
  /dev/sda2            Partition
usb controller:
                       Intel JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP USB 3.0 xHCI Controller
bios:
                       BIOS
bridge:
                       Intel Sunrise Point-LP PCI Express Root Port #1
                       Intel Sunrise Point LPC Controller/eSPI Controller
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP PCI Express Root Port #8
                       Intel Sunrise Point-LP PCI Express Root Port #6
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP PCI Express Root Port #9
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
hub:
                       Linux Foundation 2.0 root hub
                       VIA USB2.0 Hub
                       Linux Foundation 3.0 root hub
                       Linux Foundation 2.0 root hub
                       VIA USB3.0 Hub
                       Linux Foundation 3.0 root hub
memory:
                       Main Memory
unknown:
                       FPU
                       DMA controller
                       PIC
                       Keyboard controller
                       PS/2 Controller
                       Realtek RTS5229 PCI Express Card Reader
                       Intel Sunrise Point-LP PMC
                       Intel Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
                       Intel Sunrise Point-LP CSME HECI #1
                       Intel Sunrise Point-LP Thermal subsystem
                       Intel Sunrise Point-LP SMBus

Węzeł drugi (pve02) - wa dyski SSD po 230 GB / 8GB RAM

root@pve02:~# hwinfo --short
cpu:
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
graphics card:
                       Intel Iris Plus Graphics 640
storage:
                       Intel Sunrise Point-LP SATA Controller [AHCI mode]
network:
  wlp58s0              Intel Wireless 8265 / 8275
  eno1                 Intel Ethernet Connection (4) I219-V
  enx00e04c680f23      Realtek RTL8153 Gigabit Ethernet Adapter
network interface:
  wlp58s0              Ethernet network interface
  eno1                 Ethernet network interface
  vmbr0                Ethernet network interface
  enx00e04c680f23      Ethernet network interface
  lo                   Loopback network interface
disk:
  /dev/sdb             WDC WDS240G2G0B-
  /dev/sdc             SYNOLOGY Storage
  /dev/sda             KINGSTON SV300S3
partition:
  /dev/sdb1            Partition
  /dev/sdb2            Partition
  /dev/sda1            Partition
  /dev/sda2            Partition
  /dev/sda3            Partition
usb controller:
                       Intel JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP USB 3.0 xHCI Controller
bios:
                       BIOS
bridge:
                       Intel Sunrise Point-LP PCI Express Root Port #1
                       Intel Sunrise Point LPC Controller/eSPI Controller
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP PCI Express Root Port #8
                       Intel Sunrise Point-LP PCI Express Root Port #6
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
hub:
                       Linux Foundation 2.0 root hub
                       VIA VL813 Hub
                       Linux Foundation 3.0 root hub
                       Linux Foundation 2.0 root hub
                       VIA VL813 Hub
                       Linux Foundation 3.0 root hub
memory:
                       Main Memory
unknown:
                       FPU
                       DMA controller
                       PIC
                       Keyboard controller
                       PS/2 Controller
                       Realtek RTS5229 PCI Express Card Reader
                       Intel Sunrise Point-LP PMC
                       Intel Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
                       Intel Sunrise Point-LP CSME HECI #1
                       Intel Sunrise Point-LP Thermal subsystem
                       Intel Sunrise Point-LP SMBus

Węzeł trzeci (pve03) - wa dyski SSD po 230 GB / 8GB RAM

root@pve03:~# hwinfo --short
cpu:
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
                       Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz, 3400 MHz
graphics card:
                       Intel Iris Plus Graphics 640
sound:
                       Intel Sunrise Point-LP HD Audio
storage:
                       Intel Sunrise Point-LP SATA Controller [AHCI mode]
network:
  wlp58s0              Intel Wireless 8265 / 8275
  eno1                 Intel Ethernet Connection (4) I219-V
  enx00e04c680432      Realtek RTL8153 Gigabit Ethernet Adapter
network interface:
  eno1                 Ethernet network interface
  wlp58s0              Ethernet network interface
  vmbr0                Ethernet network interface
  enx00e04c680432      Ethernet network interface
  lo                   Loopback network interface
disk:
  /dev/sdb             WDC WDS240G2G0B-
  /dev/sdc             SYNOLOGY Storage
  /dev/sda             Samsung SSD 860
partition:
  /dev/sdb1            Partition
  /dev/sdb2            Partition
  /dev/sda1            Partition
  /dev/sda2            Partition
  /dev/sda3            Partition
usb controller:
                       Intel JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP USB 3.0 xHCI Controller
bios:
                       BIOS
bridge:
                       Intel Sunrise Point-LP PCI Express Root Port #1
                       Intel Sunrise Point LPC Controller/eSPI Controller
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Sunrise Point-LP PCI Express Root Port #8
                       Intel Sunrise Point-LP PCI Express Root Port #6
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
                       Intel JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016]
hub:
                       Linux Foundation 2.0 root hub
                       VIA USB2.0 Hub
                       Linux Foundation 3.0 root hub
                       Linux Foundation 2.0 root hub
                       VIA USB3.0 Hub
                       Linux Foundation 3.0 root hub
memory:
                       Main Memory
bluetooth:
                       Intel Bluetooth wireless interface
unknown:
                       FPU
                       DMA controller
                       PIC
                       Keyboard controller
                       PS/2 Controller
                       Realtek RTS5229 PCI Express Card Reader
                       Intel Sunrise Point-LP PMC
                       Intel Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
                       Intel Sunrise Point-LP CSME HECI #1
                       Intel Sunrise Point-LP Thermal subsystem
                       Intel Sunrise Point-LP SMBus

Jak można wyczytać z tej krótkiej specyfikacji nie są to jakieś mega mocne maszyny, rzekłbym takie w sam raz na domowe "laboratorium" pod wirtualizację. Sa to trzy komputerki wyglądem bardzo zbliżone do tego https://www.x-kom.pl/p/475883-nettop-mini-pc-intel-nuc-i7-8559u-25sata-m2-box.html

Ja w tym przypadku poszukałem tańszych odpowiedników na allegro - kości ram i dyski zakupiłem osobno, a w większości z zasobów prywatnych uzupełniłem braki by konfiguracja była w miarę identyczna.


Dodatkowy storage (przestrzeń dyskowa) w postaci serwera synology w celu zagwarantowania pewnego rodzaju HA - ale o tym jeszcze sobie porozmawiamy w tym artykule i jak to możemy zapewnić w naszym klastrze.


Instalacja proxmox


Proces instalacji jest prosty. Najważniejszą konfiguracje robi się już na działającym serwerze więc sprowadza on się do przeklikania naszego instalatora gdzie wybieramy kartę sieciową dla naszego głównego połączenia (main), adres IP, usera, hasło. Oczywiście będę operację instalacji wykonywał na trzech hostach - pve01, pve02 i pve03.


Na początek po zbootowaniu naszego obrazu z nośnika USB / ISO przywita nas panel wyboru instalacji w trybie graficznym lub tekstowym (gdybyś miał problemy z wyświetlaniem grafiki przejdź do instalacji w trybie tekstowym)

Okno boot loadera proxmox - oferuje dwie instalacje Graphic i text
Okno boot loadera proxmox - oferuje dwie instalacje Graphic i text

Jeżeli podczas instalacji, już na samym początku pojawi się okno o braku akceleracji maszyn wirtualnych, sprawdź czy w bios masz włączoną tą opcję. Po prostu przerwij instalację i sprawdź ustawienia BIOS. Kontynuacja z tym komunikatem będzie oznaczała brak prawdziwej wirtualizacji - jedynie emulacja z qemu i konteneryzacja z LXC/LXD

Informacja o braku akceleracji wirtualizacji - sprawdź ustawienia bios
Informacja o braku akceleracji wirtualizacji - sprawdź ustawienia bios

Kolejnym krokiem jest wybór dysku na którym zainstaluję się system operacyjny jakim jest proxmox. Po kliknięciu w options możemy bardziej skonfigurować podział naszego dysku. Ja tu unikam tworzenia jakich macierzy i tym podobne ponieważ HA będzie gwarantować mi klaster proxmox sam w sobie. Popsicle / Stracenie jednego węzła nie będzie u mnie bardzo obciążające. Jednak jeżeli zamierzasz produkcyjnie wykorzystywać proxmox warto skonfigurować i zainstalować go na konfiguracji RAID

Proxmox - konfiguracja dysku
Proxmox - konfiguracja dysku

Możemy ustawić takie parametry jak hdsize, swapsize maxroot minfree i mazvz


Proxmox - bardziej szczegółową konfiguracja dysku
Proxmox - bardziej szczegółową konfiguracja dysku

Po konfiguracji naszego dysku dla systemu ustawiamy lokacja i czas aktualny dla naszego komputera / systemu operacyjnego - względem własnej lokalizacji.

Proxmox - ustawienia strefy czasowej
Proxmox - ustawienia strefy czasowej

Ustawiamy hasło dla naszego użytkownika root oraz podajemy adres email.

Proxmox - ustawienia użytkownika
Proxmox - ustawienia użytkownika

Po konfiguracji naszego usera przechodzimy do ustawień sieciowych. Tu należy zwrócić uwagę na nasze ustawienia. Ja w swoje konfiguracji posiadam dwie karty sieciowe. Wybieramy właściwą i sprawdźmy ustawienia. Wbrew pozorom nie są one ustawieniami z DHCP. Zdarzyło mi się, że miałem tu mix ustawień z dwóch różnych sieci. Dlatego warto sprawdzić czy wartości są prawidłowe. By potem uniknąć grzebania w plikach konfiguracyjnych systemu operacyjnego.

Proxmox - ustawienia karty sieciowej
Proxmox - ustawienia karty sieciowej

Po akceptacji ustawień sieci mamy swoiste podsumowanie, oraz opcję automatycznego restartu po instalacji.

Proxmox - podsumowanie konfiguracji instalacji
Proxmox - podsumowanie konfiguracji instalacji

Po kliknięciu INSTALL proces instalacji zaczyna się i może zająć od kilku do kilkunastu minut.

Proxmox - proces instalacji rozpoczęty
Proxmox - proces instalacji rozpoczęty

Po procesie instalacji mamy komunikat o zakończeniu instalacji i wizard odczega 10 sekund po czym automatycznie zrestartuje komputer. Tutaj musimy być uważni by po komunikacie wyciągnąć nośnik USB/ISO

Proxmox - zakończenie instalacji i restart maszyny
Proxmox - zakończenie instalacji i restart maszyny

Jak nasz system już się uruchomi przywita nas komunikatem na jakim adresie IP jest dostępny nasz panel dla naszego proxmox.

Proxmox - informacja na jakim adresie IP jest dostępny nasz interfejs WWW
Proxmox - informacja na jakim adresie IP jest dostępny nasz interfejs WWW

Logujemy się do panelu akceptując połączenie w naszej przeglądarce internetowej

Proxmox - logowanie do interfejsu WWW
Proxmox - logowanie do interfejsu WWW

Uwierzytelnianie mamy na poziomie PAM Linux a zatem login i hasło to nasz użytkownik root oraz hasło które podaliśmy podczas instalacji.

Proxmox - PAM
Proxmox - PAM

Po zalogowaniu może pokazać się komunikat o braku subskrypcji na proxmox. Możemy ten komunikat zignorować i później zakupić licencje proxmox

Proxmox - komunikat o braku licencji na support
Proxmox - komunikat o braku licencji na support

Oto nasz panel proxmox do zarządzania serwerem lub naszym klastrem. Jak zalogujemy się do każdego z naszych trzech węzłów, to przywita nas podobny obraz. Proxmox w pojedynczej instalacji, zaraz świeżo po wyciągnięciu ISO juz działa w jednym klastrze o nazwie datacenter. Dlatego moje trzy węzły będą miały domyślny klaster jedno węzłowy a tylko będą różnić się nazwą naszego hosta.

Proxmox - widok klastra jedno węzłowego
Proxmox - widok klastra jedno węzłowego

Po kliknięciu też na nazwę zmieni się nasze menu z menu klastra na menu hosta

Proxmox - widok węzła
Proxmox - widok węzła

Menu naszego klastra - zaraz po instalacji jest to klaster jednowęzłowy (bez HA)

Proxmox - menu klastra
Proxmox - menu klastra

Menu ustawień naszego węzła

Proxmox - menu węzła
Proxmox - menu węzła

Konfiguracja klastra proxmox

Ok przystąpmy zatem do konfiguracji naszego klastra i węzłów proxmox. Dodajmy certyfikat jeżeli posiadasz. Ja dodam dla mojej domeny *.koska.in przechodzę do menu wezła i klikam SYSTEM -> CERTIFICATE a potem w oknie UPLOAD CUSTOM CERTIFICATE

Proxmox - dodajemy certyfikat
Proxmox - dodajemy certyfikat

Dodajemy nasz certyfikat po przez wklejenie lub otwarcie odpowiedniego pliku z certyfikatem i kluczem.

Proxmox - okno dodawania certyfikatu
Proxmox - okno dodawania certyfikatu

Certyfikat został załadowany co potwierdza nasz panel

Proxmox - okno z zaimportowanym certyfikatem
Proxmox - okno z zaimportowanym certyfikatem

Przejdźmy teraz do ustawień sieciowych - ja mam dodatkowa kartę sieciowa któa jest podłaczona do sieci 192.168.1.0/24 a zatem dokonfiguruje mostek sieciowy dla tej karty. Klikamy na Menu naszego węzła SYSTEM -> NETWORK a potem na liście interfejsów klikamy przycisk CREATE i z listy wybieramy LINUX BRIDGE

Proxmox - ustawienia karty sieciowej i sieci
Proxmox - ustawienia karty sieciowej i sieci

W konfiguracji naszego LINUX BRIDGE ustawiamy name według konwencji w proxmox nadajemy adres IPv4/CIDR, gateway pozostawiam pusty bo mam juz jedna kartę z ustawionym GW. Wskazuje na koniec BRIDGE PORTS, czyli nazwę mojego interfejsu na podstawie którego stworze LINUX BRIDGE

Proxmox - ustawienia karty sieciowej i sieci (bridge)
Proxmox - ustawienia karty sieciowej i sieci (bridge)

Po ustawieniu mojego LINUX BRIDGE nie pozostaje mi nic innego jak zaakceptować konfigurację poprzez przycisk APPLY CONFIGURATION

Proxmox - zatwierdzanie ustawień sieciowych
Proxmox - zatwierdzanie ustawień sieciowych

Po akceptacji naszej konfiguracji zobaczymy że nasz nowy interfejs jest ACTIVE z statusem YES zarówno bridge jak i wcześniejsza karta sieciowa.

Proxmox - przyjęte ustawiania sieciowe
Proxmox - przyjęte ustawiania sieciowe

Tworzymy klaster proxmox

Możemy stworzyć nasz klaster proxmox - wybieramy dowolny węzeł który nam za inicjalizuje klaster. Ja wybrałem host pve01 (ale można wybrać dowolny). Przechodzimy do menu klastra i tam szukamy opcji CLUSTER. Klikamy na przycisk CREATE CLUSTER

Proxmox - tworzenie klastra
Proxmox - tworzenie klastra

Nadajemy nazwę dla naszego klastra oraz wybieramy karty sieciowe na podstawie których będzie się komunikował nasz klaster z innymi węzłami

Proxmox - nadawanie nazwy dla klastra i tworzenie linków
Proxmox - nadawanie nazwy dla klastra i tworzenie linków

Po kliknięciu w create czekamy na komunikat TASK OK i możemy zamknąc okno.

Proxmox - klaster stworzony prawidłowo, komunikat potwierdzający
Proxmox - klaster stworzony prawidłowo, komunikat potwierdzający

Lub przejrzeć STATUS klastra i inicjalizacje naszej konfiguracji

Proxmox - klaster stworzony prawidłowo, komunikat potwierdzający
Proxmox - klaster stworzony prawidłowo, komunikat potwierdzający

Po zamknięciu okna możemy wyświetlić CLUSTER JOIN INFORMATION - ta informacje pomożem nam połaczyć inne węzły do naszego klastra. Kopiujemy te informacje i przechodzimy do pve02 a potem pve03

Proxmox - dodawanie kolejnych węzłów
Proxmox - dodawanie kolejnych węzłów

Na pve02 przechodzimy do menu klastra DATACENTER -> CLUSTER i wybieramy przycisk JOIN CLUSTER

Pxoxmox - dodawanie węzła pve02
Pxoxmox - dodawanie węzła pve02

W oknie JOIN CLUSTER podajemy wymagane informacje oraz podajemy hasło do naszego klastra z hosta na którym wykonywaliśmy inicjalizację. Po wypełnieniu klikamy JOIN HOMEPROXMOX - w moim przypadku (u Ciebie ta nazwa będzie zależna od nazwy klastra jaką wybrałeś)

Pxoxmox - dodawanie węzła
Pxoxmox - dodawanie węzła

Po kliknieciu JOIN ... pokaże się okno informujące nas o całym procesie połączeniowym.

Pxoxmox - dodawanie węzła
Pxoxmox - dodawanie węzła

Jeżeli po przejściu na status pokaze nam sie Connection error - to oznaka że nasze ustawiania się przeładował i my musimy nasz panel odświeżyć

Pxoxmox - dodawanie węzła
Pxoxmox - dodawanie węzła

Po przeładowaniu strony możemy sobie zobaczyć że teraz na DATACENTER zawiera nazwę naszego klastra i widzimy też nasze węzły uczestniczące w klastrze.

Proxmox - widok na klaster po konfiguracji
Proxmox - widok na klaster po konfiguracji

To koniec inicjalizacji naszego klastra. Zajmijmy się teraz konfiguracja naszego Storage tego lokalnego jak i sieciowego. Zobaczmy jakie mamy opcje storage w naszym klastrze proxmox.


Proxmox - status klastra
Proxmox - status klastra


Klaster Proxmox - nasz storage


Z pewnych ograniczeń związanych z moim środowiskiem domowego laboratorium nie przetestuję wszystkich rodzajów storage w proxmox ale uważam że dam dobre overview na ustawienia i możliwości konfiguracji naszego data storage.


Proxmox plus synology - na pierwszy ogień NFS, SMB


W mojej konfiguracji wykorzystam serwer NAS synology, dla osób lubiących parametry przedstawiam specyfikację konfiguracji mojego NAS synology:


Parametry synology
Parametry synology

Storage w synology to dyski o pojemności 1.8T, łącznie 5 dysków. Co daje przestrzeń o pojemności 7.3 TB. W zupełności wystarczy to na domowy backup, kilka lokalnych maszyn wirtualnych oraz storage dla innych maszyn wirtualnych.


Parametry dyskowe synology
Parametry dyskowe synology

Zobaczymy jaki storage sieciowy mamy do dyspozycji w proxmox, i powiem jest ich trochę sporo i każdy znajdzie coś dla siebie.

Proxmox - klaster storage, typy
Proxmox - klaster storage, typy

Skonfigurujemy zatem najbardziej popularne i chyba dostępne w każdym domowym lab czyli SAMBA i NFS. Będziemy potrzebować osobnego usera tak by śledzić logi naszego połączenia z proxmox i w łatwiejszy sposób wychwycić jakiekolwiek błędy konfiguracyjne.

Synology dodawanie uzytkownika dla proxmox
Synology dodawanie uzytkownika dla proxmox

Tworzymy odpowiednie foldery współdzielone gdzie będziemy osobno przechowywać dane dla VM po protokole SMB i NFS.


Synology - dodawanie katalogów współdzielonych
Synology - dodawanie katalogów współdzielonych

Pamiętajmy o odpowiednim nadaniu uprawnień tak byśmy mogli się połączyć


Sylonolgy - ustawienie uprawnień
Sylonolgy - ustawienie uprawnień

Tak samo dla NFS jak i SMB


Sylonolgy - ustawienie uprawnień
Sylonolgy - ustawienie uprawnień

Oczywiście samo obsługa SAMBY musi być włączona na naszym serwerze synology


Synology aktywacja usługi
Synology aktywacja usługi

NFS rownież - nie zapomnijmy o tym tak by niepotrzebnie nie debugować problemów z połączeniem z powodu braku usługi


Synology aktywacja usługi
Synology aktywacja usługi

Dlaczego w klastrze proxmox w ogóle potrzebny nam storage taki jak wspomniany wyżej NFS i SMB. Niech jako prosty przykład posłuży chociażby nasz obraz ISO z Ubuntu. Jeżeli wgramy go na storage który mamy do dyspozycji od samego początku i zwie się on local. To ISO z instalatorem naszego Ubuntu będzie dostępne tylko dla tego węzła na którym to wgram - w tym przypadku będzie to pve01.koska.in.


Proxmox - przykład pracy z local storege dla ISO
Proxmox - przykład pracy z local storege dla ISO

Przesyłamy ISO z naszego lokalnego komputera (mamy też możliwość wskazania url - jakby nasz lokalny komputer znajdował się w innej lokalizacji niż nasz klaster)


Proxmox send ISO
Proxmox send ISO

To po przesłaniu pliku ISO gdy przejdziemy do innego węzła na nasz storage local zobaczymy, że tego ISO tam nie ma i akcję musimy powtórzyć dla wszystkich węzłów.

Proxmox drugi węzeł i brak ISO
Proxmox drugi węzeł i brak ISO

Więc dodajmy w konfiguracji nasz SMB i NFS. Zanim to zrobię przygotuję sobie FQDN nfs.koska.in oraz smb.koska.in w celu łatwiejszej konfiguracji i unikania podawania adresów IP. W tym celu wykorzystam moja konfigurację w terraform do zarządzania strefą koska.in.

Dokonam zmian w pliku konfiguracyjnym i całość prześlę do GIT.


Kod terraform dla domeny koska.in
Kod terraform dla domeny koska.in

Git jest monitorowany przez Jenkins do którego jest podpięty pipeline który wykona mi odpowiednie testy i wdroży zmianę automatycznie, bez mojej ingerencji.


Jenkins - przepływ pipeline dla terraform
Jenkins - przepływ pipeline dla terraform

Oczywiście w każdej chwili mogę zweryfikować status moich zmian w danym jobie. W tym przypadku moje dwa rekordy zostały dodane, plus też jeden skasowałem. Oczywiście usunięcie była tu świadome i zbiegło się z moją operacją dodnia nfs.koska.in oraz smb.koska.in.


Jenkins logi dla terraform z poprawnego joba
Jenkins logi dla terraform z poprawnego joba

Zweryfikuję czy moj host widzi już te zmiany. I jak widać wszystko jest ok zatem mogę przejść do konfiguracji.

Terminal, weryfikacja zmian
Terminal, weryfikacja zmian

Operacja dodania już sama w sobie jest prosta - dodawanie NFS. Uzupełniamy odpowiednio ID, server, export i content - w tym przypadku nfs będzie zawierał tylko dyski kontenerów i maszyn wirtualnych.

Proxmox - dodanie nfs
Proxmox - dodanie nfs

Podobna konfiguracja jest w SMB. Uzupełniam wszystkie wymagane pola i zapisuję konfigurację.

Proxmox - dodanie smb
Proxmox - dodanie smb

Storage dodany na poziomie Klastra Home Proxmox jak widzimy został dodany poprawnie i jest widziany przez wszystkie klastry.

Proxmox widok klastra oraz dostęp do nfs i smb na wszystkich węzłach
Proxmox widok klastra oraz dostęp do nfs i smb na wszystkich węzłach

W tym wpisie to wszystko. W kolejnej części zajmiemy się innymi rodzajami storage, uruchomieniem maszyny wirtualnej, backup i replikacji oraz zautomatyzujmy nasz klaster, tak by za dużo w nim nie klikać. Pozdrawiam


Ostatnie posty

Zobacz wszystkie

Comments


Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube

Poznaj terraform jedno z najepszych narzedzi do zarządzania infrastrukturą w kodzie (IaC) - w kursie tym przeprowadzam Cię przez proces instalacji i konfiguracji tego narzędzia.

bottom of page