HomeLab 2. dio — Proxmox instalacija

Dickobraz
8 min readMar 4, 2024

--

U prethodnom članku serijala postavljene su osnove, što planiram napraviti uz pojašnjenja čemu što služi. Vrijeme je da počnemo ostvarivati opisane stvari.

Članci iz serijala:

Krenimo sa instalacijom Proxmoxa. Da bi na naš mini server instalirali Proxmox potreban nam je:

  • prazan USB ili USB koji slobodno možemo prebrisati
  • ISO image Proxmox installera.
  • Program za kreiranje bootabilnih USBova. Za Windowse sam koristio aplikaciju Rufus (portable verziju za koju nije potrebna instalacija)

Izrada bootabilnog USBa

Nakon što ste sve skinuli možemo krenuti sa kreiranjem bootabilnog USBa.

  1. Ubacite prazan USB u komp
  2. Pokrenite Rufus aplikaciju
  3. Ako postoji više USBova spojenih na komp, odaberite onaj na koji želite snimiti ISO image. U slučaju da je spojen samo jedan uređaj — on će automatski biti odabran.
  4. Klikom na SELECT odaberite Proxmox ISO image koji ste skinuli
  5. Iskočit će upozorenje kliknite na OK

6. Ostale opcije nije potrebno mijenjati, te kliknite na START.

Sve je spremno za izradu bootabilnog USBa

7. Nakon što je snimanje ISO imagea završeno, možemo izbaciti USB iz računala i nastaviti instalaciju na miniPC serveru.

Instalacija Proxmoxa na Beelink S12 Pro n100

Spojite tipkovnicu, monitor, USB i mrežni kabel na miniPC. Miš vam ne treba, jer se sve opcije prilikom instalacije mogu odabrati sa tipkom TAB na tipkovnici, ali ako vam baš fali — slobodno i njega spojite. Na kraju spojite i napajanje. Iako miniPC ima i wifi interface i može se spajati na wifi, moja preporuka je da bude spojen na mrežu preko žice.

Krenimo sa instalacijom

  1. Uključite miniPC
  2. Na tipkovnici kontinuirano pritišćite tipku DEL, s kojom se ulazi u BIOS. Naime, u BIOSU moramo promijeniti poredak uređaja s kojih se miniPC boota. Inicijalno je postavljeno na ugrađeni disk (na kojem se nalazi instalacija za Windowse 11), a mi želimo da na prvom mjestu bude USB.
  3. Nakon što je USB postavljen kao prva boot opcija, odaberite opciju Save & Exit, te pričekajte da započne boot proces sa USBa
Početni poredak za boot — USB Device preselite na prvo mjesto
  1. Ako je sve proteklo u redu pojavit će se odabir načina instalacije Proxmoxa, odaberite Install Proxmox VE (Graphical)
  2. Nakon još nešto vremena pojavit će se i grafičko sučelje sa End User Licence Agreementom. Klikom na “I agree” krećemo sa instalacijom
  1. Slijedeći korak nas pita na koji disk ćemo instalirati Proxmox. Budući da je u u miniPCu samo jedan disk koji je već odabran — klik na “Next”
  2. Slijedi odabir zemlje, vremenske zone i layouta tipkovnice. Meni je instalacijska procedura uspješno prepoznala da sam iz Hrvatske, a što se tiče tipkovnice — u izboru nije bilo hrvatske, pa sam odabrao slovenski layout jer je najsličnija hrvatskom. Ako se snalazite sa američkim layoutom — možete ostaviti U.S. English layout
  3. Slijedi unos passworda i emaila. Ovdje se postavlja root password na uređaju s kojim ćete se kasnije ulogiravati na mašinu.
  4. Na Managament Network Configuration ekranu, samo promijenite Hostname (FQDN), ostale opcije ne dirajte, jer je, vrlo vjerojatno sama instalacijska procedura odabrala dobre postavke. Ako dobro poznajete svoju mrežu, možete promijeniti IP adresu, Gateway ili DNS server — ali, moja preporuka je — NE.
  5. Summary ekran prikazuje odabrane opcije, te ako ste slijedili upute, dovoljno je kliknuti na “Install”
  6. I sada kreće instalacija koja može potrajati nekoliko minuta. Pričekajte da sve završi
  7. Nakon što je završila instalacija, miniPC će se restartati i u tom trenutku slobodno možete izvaditi USB.
  8. Nakon reboota pojavit će se GNU GRUB izbornik, na kojem ne morate dirati ništa. Nakon nekog vremena pojavit će se login prompt. Iznad logina će vam pisati URL sa portom na kojem možete doći do web administracije Proxmoxa koji izgleda otprilike ovako:
https://192.168.0.164:8006/
  1. Na drugom računalu u browser upišite tu adresu, prikazat će vam se ekran sa informacijom kako ova veza nije privatna. Ovo se pojavljuje jer se spajate putem httpsa na lokalni server koji nema odgovarajući certifikat. Bez brige, ne treba ga, ovo je lokalni server do kojeg se može doći samo iz lokalne mreže.
  2. Kliknite na “Advanced” pa zatim na link “Proceed to 192.168.0.164 (unsafe)”
  1. Sada nam se pojavljuje Proxmox login ekran na kojem upisujemo pod “User name:” root, a pod “Password” password koji smo unijeli prilikom instalacije.

I to je to. Proxmox je instaliran i radi. Sada, ako, kao i ja, želite ovaj miniPC skloniti daleko od očiju i ušiju, ulogirajte se na miniPCu kao root. Upišite “shutdown” u konzolu te pričekajte da se miniPC ugasi. Nakon što se ugasio, isključite sve iz njega, preselite na željenu lokaciju, te spojite samo mrežni kabel i napajanje pa ga potom uključite. Malo pričekajte i miniPC će opet biti dostupan na lokalnoj mreži i ponovno ćete mu moći pristupiti putem web administracijskog sučelja. Kao i pravi server, radit će bez spojenog monitora, bez tipkovnice, isključivo sa remote pristupom do njega.

Ja sam napravio još nekoliko dodatnih stvari kako bih si olakšao stvari, pa ću navesti i njih. Možda će vam trebati, možda ne, izbor je vaš.

Uključivanje PCI prosljeđivanja

Ova opcija omogućuje prosljeđivanje fizičkog uređaja virtualnoj mašini (VM). Nakon što se uređaj proslijedi VMu više nije dostupan hostu (Proxmoxu). Ovo sam podesio jer želim dozvoliti pristup grafičkoj kartici iz virtualne mašine na koju ću instalirati *arr servise (vidi prethodni članak), a budući da se samom Proxmox pristupa remotly i bez grafičkog sučelja (web administracija ne zahtjeva grafičku na strani servera).

Da bi ovo radilo CPU i matična ploča moraju podržavati virtualizaciju, što naš n100 podržava, kao i većina procesora i matičnih ploča novije generacije.

Da bi omogućili IOMMU potrebno je napraviti slijedeće:

  • spojiti se na Proxmox putem konzole kao root (Datacentar-<ime koje ste dali prilikom instalacije>>_ Shell)
  • u konzolu upisati:
nano /etc/default/grub
  • pronaći liniju na kojoj piše:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
  • zamijeniti je u slijedeće (nakon quiet treba dodati “intel_iommu=on”):
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
  • snimiti promjene
  • u konzolu upisati slijedeće:
update-grub

kako bi se promjene bile ažurirane.

  • napraviti reboot miniPCa naredbom
reboot

Nakon nekog vremena, miniPC će se rebootati, web administracijsko sučelje će biti dostupno, a mi ćemo ubuduće moći raditi PCI Passthrough.

Postavljanje fiksne adrese miniPCu

Za ovo nemam detaljne upute, jer to sve ovisi o routeru koji vam je dao vaš telekom. Ideja je da se ulogirate na uređaj putem web browsera (obično je to adresa http://192.168.0.1, ali ne mora biti) sa login podacima koje vam je dao vaš telekom (pogledajte upute od modema).

Tamo negdje u opcijama sa listom spojenih uređaja trebala bi postojati mogućnost postavljanja fiksne, stalne adrese za spojene uređaje. Pronađite miniPC (u mojem primjeru on je dobio IP adresu 192.168.0.164), te postavite opciju fiksne adrese. Na taj način miniPC će uvijek imati istu IP adresu

Dodavanje u hosts datoteku

Još jedna opcija za ugodniji rad. Umjesto da pamtim IP adresu, lakše mi je upamtiti ime. Stoga sam u hosts datoteku (koja se na windowsima nalazi na lokaciji:

C:\Windows\System32\drivers\etc\hosts

Dodao liniju

192.168.0.164 miniserver.loc miniserver

hosts datoteka se može editirati samo kao Administrator. Nakon toga u browser umjesto IP adrese mogu upisati miniserver i to će mi otvoriti administracijsko web sučelje Proxmoxa.

Remote SSH login

Iako do Proxmox konzole možete doći iz web sučelja (Datacentar-<ime koje ste dali prilikom instalacije>>_ Shell), osobno volim “punokrvnu” konzolu. Na svojim windowsima imam instaliran WSL (Windows Subsystem for Linux), ali oni koji to ne žele, mogu si instalirati putty.

Međutim da bi remote login za roota proradio potrebna je još jedna akcija. Naime, mogućnost remote SSH konekcije kao root je isključena i potrebno ju je uključiti na slijedeći način:

Kliknite na Datacentar-<ime koje ste dali prilikom instalacije>>_ Shell. Pojavit će se konzola u kojoj ste već ulogirani:

Upišite u konzolu:

nano /etc/ssh/sshd_config

Pronađite liniju

#PermitRootLogin password-prohibit

te je promijenite u

PermitRootLogin yes

Snimite promjene, te zatim u konzolu upišite:

systemctl restart ssh

kojom se restarta ssh servis.

I to je to. Ako ste sve dobro odradili sada ćete se moći ulogirati kao root sa bilo kojeg drugog računala iz mreže. Iako, moram ovo napomenuti, opcija koja isključuje mogućnost logiranja kao root sa remote računala nije bila isključena bez razloga. Ovo predstavlja sigurnosni problem. Iako, za mini kućni server, koji nije na internetu, taj problem nije prevelik.

Optimizacija Proxmoxa, dodatni alati

U ovom dijelu sam koristio gotove helper skripte koje se mogu naći na slijedećem URLu: https://tteck.github.io/Proxmox/

Pod Proxmox VE tools koristio sam:

  • “Proxmox VE post Install” skriptu upisivanjem/kopiranjem u konzolu:
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"

te odgovorom “yes” na sve opcije koje su mi bile ponuđene

  • “Proxmox VE Kernel Clean”
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)"
  • “Proxmox VE Netdata” real-time performanse i monitoring alat, koji, među ostalim ima i mjerenje temperature koji nedostaje u dashboardu Proxmoxa. Da bi omogućili mjerenje temperature potrebno je prvo instalirati lm-sensor paket:
apt-get install lm-sensors
  • Nakon toga slijedi instalacija Netdata servisa
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/netdata.sh)"

Nakon što je instalacija završila prikazat će se informacija gdje se možete spojiti putem browsera za prikaz monitoring dashboarda. URL bi se trebao nalaziti na istoj IP adresi kao i Proxmox sa portom 19999. U mojem slučaju je to bilo: http://192.168.0.164:19999

Temperatura se može pogledati ako se u desnoj listi, pri dnu izabere opcija “Sensors”

Puuuuno grafova i informacija

I to je to za ovaj put. U slijedećem postu slijedi kreiranje prve Linux Virtualne mašine unutar Proxmoxa.

Dodatak

Nakon nekog vremena od instalacije na miniPCu primijetio sam povećanje zauzetog prostora na LVM-Thin disku. Razlog tome je što se u mom slučaju koristi SSD disk čiji način rada zahtjeva dodatno održavanje — točnije uklanjanje neiskorištenih blokova na disku. Vrlo kratko objašnjenje: SSD kod brisanja datoteka — fizički ne briše te datoteke sa diska. Za to se koristi program fstrim. Kod Linux Containera fstrim se koristi u obliku:

pct fstrim 101

gdje je 101 ID Linux Containera. Drugi način na koji se to može odraditi jest pomoću helper skripti sa https://tteck.github.io/Proxmox/ (točnije Proxmox VE LXC Filesystem Trim).

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/fstrim.sh)"

Ako vam se LVM-Thin napuni 100% — moglo bi doći do problema sa radom VMa ili LXCa unutar Proxmoxa.

Članci iz serijala:

--

--