Johdanto
Oma kotilabra tarkoittaa joukkoa laitteita, joiden parissa voi kokeilla uusia teknologioita, palveluita tai harjoitella uusia taitoja. Kotilabran laitteet voi eristää normaalista “tuotannosta” ja niiden poistuminen ei häiritse normaalia elämää. Tässä artikkelissa otetaan ensimmäiset askeleet kohden omaa kotilabraa ja myöhemmissä artikkeleissa seurataan mitä palveluita / palvelimia labraan on otettu käyttöön.
- Tavoite: Pystyttää oma kotilabra virtualisoinnin avulla
- Vaikeus: Keskitaso
- Aika: 1 työpäivä
- Hinta: Noin 700 €
Paljon vinkkejä löydät:
https://www.reddit.com/r/homelab/
Virtualisointi
Virtualisoinnilla tarkoitetaan käyttöjärjestelmätason erottamista rautatasosta, eli sen sijaan että Windows / *nix keskustelisi suoraan prosesorien ja muistin kanssa, keskustelee se virtualisointialustan kanssa. Virtualisointi kotilabrassa mahdollistaa seuraavia:
- Resurssien tehokkaampi käyttö eri palveluiden tai palvelinten välillä
- Nopeampi asentaminen, templaattien ja levykuvien kautta
- Snapshottien ja konetasoisten varmuuskopioiden kautta
- Muistin, prosessorien tai levytilan lisääminen tarpeen mukaan
- Tarpeettomien palvelinten käynnistäminen ja sulkeminen riippumatta muista palveluista
Itselleni virtualisointi on ollut tuttua lähinnä VirtualBoxin ja Kali Linuxin kautta. Tekniikka toimii hyvin, mutta ongelmana on se ettei alusta ole ollut jatkuvaan käyttöön tarkoitettua, joten läppäriä ei ole voinut jättää päälle serverien käyttöön, käyttiksen uudelleenkäynnistykset ovat katkaisseet työt ja verkkopääsy on ollut pelkän wifin varassa. On siis aika hankkia rautaa, joka toimii nimenomaan kotilabran pohjana. Mutta mikä softa-alusta virtualisointiin?
Alusta
Pienen aiheeseen perehtymisen jälkeen karsintalistalleni päätyivät:
- Proxmox, avoimen lähdekoodin virtualisointialusta: https://www.proxmox.com/en/
- VMware ESXI, kaupallisen tuotteen kotilisenssillä: https://www.vmware.com/products/esxi-and-esx.html
- VirtualBox Unbuntun päällä, https://www.virtualbox.org/
- Nutanix, kaupallisen tuotteen kotilisenssillä: https://www.nutanix.com/
Tämän jälkeen ensimmäisenä karsiutui pois VirtualBox, koska halusin melko pelkistetyn ja suoraan raudan päälle asentuvan virtualisoinnin. Nutanix on varsin vakuuttava, mutta harrastajakäytössä siitä ei löytynyt tarpeeksi vinkkejä ja tukea. Lopullinen valinta tapahtui siis Proxmoxin ja ESXIn välillä. Mutta tämän jälkeen pitikin tehdä tarkastus millaista rautaa alustat tukevat.
Kirjallisuuskatsaus
Erittäin hyviä artikkeleita aiheeseen löytyi seuraavilta tahoilta:
https://www.itpro.co.uk/hardware/358412/asus-mini-pc-pn50-review-no-storage-no-problem
https://henvic.dev/posts/homelab/
Vaatimukset
Koska vanhaa laitteistoa ei ollut käytössä, päätin panostaa uuteen settiin ja valita joko Intelin Nucin tai AMD:n barebone-malliston välillä. Nyt pitikin ottaa jo huomioon virtualisointialustan tuki laitteistolle.
Lyhyesti yhteenvedettynä ESXI tukee hyvin Intelin verkkoajureita, mutta ei kovin helposti Realtekin ajureita. Realtekia puolestaan löytyy AMD:n PN50-sarjasta. Tällä hetkellä tehojen suhteen AMD Radeon-sarja menee ohi Intelin vastaavan hinnan tuotteista, joten se puoltaisi investoinnissa AMD PN50-ostosta. Lisäksi jos myöhemmin haluaisin vaihtaa ESXi:iin, voi Intelin piirisarjaa tukevalla USB-Ethernet mokkulalla saada myös ESXin toimintaan. Mutta halusin aloittaa Proxmoxilla, avoimen lähdekoodin ideologiaa tukien. Mikäli se ei toimisi hyvin, olisi ESXi seuraavana vuorossa.
Ostoslista
Budjettini oli pysyä alle 1000 € hankinnoissa
- Kalleimmaksi komponentiksi määräytyi ASUS MiniPC Barebone PN50-BBR545MD-CSM (AMD Ryzen 5 4500U, AX Wi-Fi, DisplayPort, VESA, No OS)
- Siihen tarvitaan muistia, jossa hintaoptimi asettui minulla 32 GB:hen: CORSAIR Vengeance DDR4 SODIMM 3000MHz 2x16GB (32GB)
- Ja lopuksi vielä levytilaa, jota tarjosi 1 Tb verran varsin edullisesti: ADATA SX6000 Lite, 1TB, 3D NAND, PCIe Gen 3.0 x4, NVMe M.2 SSD-levy
Ostohetkellä halvimman setin tarjosi Tietokonekauppa.fi, johon linkit osoittavat, hinnalla 738,10 €.
- Lisäksi varmuuden vuoksi tilasin Amazonista USB3 -> 2x 1Gb verkkomokkulan: StarTech USB 3.0 to Dual Port Gigabit Ethernet Adapter NIC with USB port
Yhteishinnaksi tuli hieman alle 800 €.
Vaihtoehtoja
Vastaavia kokoonpanoja tarjoavat (kiitos Marcus ja Marcus):
Kokoaminen ja asennus
Osien kokoonpanossa ei muuta ongelmaa ollut kuin että en muistia saanut työnnettyä aivan pohjaan, joten ensimmäinen käynnistys ei onnistunut. Tuttuun tapaan 90-luvulta, kone paloiksi ja huolellisesti uudelleenkokoamalla bootti onnistui. Tämän jälkeen proxmoxin ISO-USB kiinni ja käynnistys.
Ohjeet asennukseen löytyvät: https://www.proxmox.com/en/proxmox-ve/get-started
Ikävä kyllä asennus katkesi heti alkuunsa, mutta onneksi muillakin oli sama ongelma tullut vastaan ja siihen löytyi helppo ratkaisu:
“chmod 1777 /tmp apt update Xorg-configure mv /xorg.conf.new /etc/X11/xorg.conf vim /etc/X11/xorg.conf # update Driver -> “fbdev” startx”
Tuore alusta
Proxmox on varsin selkeä valikkoineen.
- Ensimmäisenä aina päivitys ja uusien bugien hakeminen netistä.
- Tuoreelle asennukselle tuli heti laitettua NFS-verkkojako Synologyyn, jotta snapshotit ja ISO:t saa pois paikalliselta tasolta.
- Testi VM:n snapshotin palautuskin sujui hyvin, joka on aina hyvä varmistaa.
- Noden asetukset saa talteen skriptin kautta: https://github.com/DerDanilo/proxmox-stuff
- Seuraavana tein kahdelle StarTechin NICille Bridget, joten minulla on nyt yksi managament-käyttöön ja kaksi varattuna tuotantoon. Koko laite siirtyi kolmella verkkopiuhalla kiinni kytkimeen ja kirjahyllyyn piiloon.
Kotilabran pohja on siis valmiina!
Ideoita jatkoon
Sinisen teamin perusajatuksen mukaisesti voi vaikka kokeilla miten hälytykset generoituvat erilaisista hyökkäyksistä tai monitoroida käytössä olevia palveluita. Tai ehkä Pi-Hole pitäisi virtualisoida? Olisi kiva laittaa Paesslerin PRTG pois wifin päästä. Entä jos katsoisi mitä Infection Monkey löytää?
Päivitys 31.5.2021 Lisätty Noden asetusten kopiointi-skripti
Jatkoa siis seuraa seuraavissa artikkeleissa: