Alternative way to install proxmox

Wstęp

W tym wpisie chciałbym zaprezentować alternatywną metodę instalacji Proxmox Virtual Environment (PVE). Proxmox to platforma wirtualizacji oparta na Debian, która pozwala na zarządzanie maszynami wirtualnymi (VM) i kontenerami LXC. Standardowa instalacja wymaga dedykowanego dysku, jednak istnieje alternatywna metoda instalacji na już istniejącym systemie Debian. Jest kilka - nielicznych - sytuacji, kiedy ta droga jest właściwą ścieżką.

Po pierwsze, kiedy chcemy dysk twardy współdzielić z jakimś innym systemem operacyjnym - jak w moim przypadku Windows na tym samym dysku. Instalator dostępny w ISO z Proxmox zachłannie oczekuje całego dysku. Innym przykładem jest sytuacja, kiedy chcemy zainstalować PVE na zbudowanym software’owym RAID takim jak mdadm czy raidz. A może w pełni szyfrowany dysk LUKS? To też właśnie ta droga. Cały blog post zostanie oparty na oficjalnej dokumentacji. Gdyby powstały jakieś pytania i wątpliwości, to wiecie już gdzie zajrzeć w następnej kolejności.

Instalacja

Debian

Dalsza część tego wpisu będzie bazować na tym, że mam już zainstalowany system debian w sposób przeze mnie oczekiwany i gotowy do dalszej instalacji.

Przygotowanie systemu do instalacji

Po udanej instalacji Debian na docelowej maszynie podjąłem decyzję, że maszyna będzie w mojej sieci posiadać adres IP 192.168.10.100 oraz będzie przypisany jej hostname pve-xl. Jest to na ten moment najmocniejsza maszyna w moich domowych rękach, jednak jestem całkowicie świadom, że istnieją w rękach innych mocniejsze i bardziej wydajne maszyny.

Pierwszym krokiem będzie ustanowienie hostname, w tym celu skorzystam z dobrodziejstwa cli i wykonam proste polecenie

sudo hostnamectl set-hostname pve-xl

Powyższe polecenie spowodowało wprowadzenie zmian w pliku /etc/hostname gdzie została umieszczona wybrana przeze mnie nazwa. Jak najbardziej można dokonać tego samego edytując plik /etc/hostname jednak ja preferuję metodę z hostnamectl

Zatem, mamy nadaną nazwę. Teraz wypadałoby ustawić system tak, aby posiadał stały adres IP. W tym celu zmodyfikujemy plik /etc/network/interfaces.

Tak było:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp4s0
iface enp4s0 inet dhcp

Tak jest:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp4s0
iface enp4s0 inet static
        address 192.168.10.100/24
        gateway 192.168.10.1

Dokonałem edycji ustawień interfejsu enp4s0, zgodnie z dokumentacją networkingu, a następnie wykonałem polecenie w celu wprowadzenia zmian do systemu:

sudo /etc/init.d/networking restart

Świetnie! Hostname ustawiony, adres IP statyczny, pora na ostatni krok przed dodaniem repozytorium do systemu i puszczeniem aktualizacji oraz instalacji paczek PVE. Tym krokiem jest wprowadzenie potrzebnych zmian do /etc/hosts. Celem jest spowodowanie, aby nazwa naszego hosta była poprawnie rozwiązywana na statyczny adres IP. Rzecz ta ma większe znaczenie w sytuacji, kiedy klastrujemy. Zatem do /etc/hosts dodajemy linijkę zgodną ze schematem: adres_IP<spacja>hostname, w moim przypadku gdzie nadałem maszynie adres IP 192.168.10.100 oraz hostname pve-xl wyglądać będzie to tak:

127.0.0.1       localhost
192.168.10.100  pve-xl
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

W celu weryfikacji poprawności tej zmiany wykonujemy polecenie, gdzie w odpowiedzi powinien zostać wyświetlony nasz adres IP.

hostname --ip-address

Jeśli wszystko przeszło gładko, możemy uznać że przygotowanie systemu Debian zostało zakończone i można przejść do następnego etapu.

apt install

Za pomocą oneliner’a dodajemy repozytorium do naszego systemu

echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

Dodajemy do systemu klucz gpg w celu weryfikacji paczek

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg 

I nie pozostaje nic innego jak zaktualizować cache apt, a następnie zaktualizować system

apt update && apt full-upgrade

Po aktualizacji instalujemy kernel docelowy, na którym będzie działać nasz PVE

apt install proxmox-default-kernel

Po udanej aktualizacji restartujemy maszynę szybkim poleceniem reboot. Po powrocie systemu przechodzimy do kroku finalnego - instalacji PVE.

apt install proxmox-ve postfix open-iscsi chrony

Do pobrania będzie ponad 1GB danych, mnóstwo paczek, więc przygotuj się na oczekiwanie. W trakcie oczekiwania Postfix Configuration zada Tobie pytanie o to jak chcesz używać serwera pocztowego:

Wybieramy OK, a następnie No configuration. Po całym czasie oczekiwania mamy zainstalowanego PVE, dostępny on będzie pod wybranym wcześniej adresem IP, jak pamiętasz był to w moim przypadku 192.168.10.100, panel web PVE udostępnia na porcie 8006 i wymaga protokołu https. Znając te informacje możemy otworzyć dowolną przeglądarkę internetową i udać się pod adres https://192.168.10.100:8006

W ten sposób zainstalowałem system PVE w sposób alternatywny na już zainstalowanym systemie Debian 12.

Comments powered by Talkyard.