Joacim Melin
Pappa, sysadmin, skribent, poddare, chipsentusiast.

Proxmox-kluster på Raspberry Pi, del 2: konfiguration och slutsatser

(You want this in English? Here you go.)

Så var då det lilla "stativet" för mitt kluster på plats, ihopmonterat och klart för drift. Det är ganska omvälvande att se hur detta lilla paket faktiskt ger mig 16 CPU-kärnor och 32 gigabyte minne att leka med.

Den skarpsynte noterar att det går små sladdar till varje Raspberry Pi på dess vänstra sida, och det är fläktar. Det sitter en liten fläkt ovanför varje Raspberry Pi och detta, utöver kylflänsarna som är monterade på de kretsar som blir varmast under kontinuerlig drift (både fläktar och kylflänsar medföljde i paketet som stativet levererades i).

Jag ska inte hymla med att detta är en aning pilligt att få ihop, och man måste tänka igenom varje steg några gånger innan det sitter i och med att nästa "hylla" ovanför den du just monterat in din Raspberry Pi i ska ha ett antal skruvfästen monterade, och en fläkt.

"Fläktar?!", kanske du tänker. Jo, jag tänkte samma sak. Man ska inte sticka under stol med att det förtar en del av charmen med en Raspberry Pi men samtidigt ser jag hellre att jag förlänger livslängden på varje Raspberry Pi snarare än att köra dem fläkt- och kylflänslösa för en mer estetisk framtoning. Ska man vara ärlig så spelar det estetiska mindre roll eftersom det efter att man kopplat in alla kablar blir en aning rörigt.

Jag kommer, givetvis, att jobba på kabelhanteringen under sommaren när jag har semester och mer tid. Fläktarna är för övrigt inte knäpptysta men det är heller inte så att de stör oerhört mycket. Kopplar man dem till rätt pinnar på GPIO-anslutningen så kan man också kontrollera och styra dem mer effektivt. Jag kör fläktarna på max hastighet tills vidare men här finns det utrymme för justeringar från min sida.

Installera mera

I del ett av denna bloggpost nämnde jag hur installationen av Ubuntu Server tog enormt lång tid:

Man ska ha i åtanke att Ubuntu Server inte är särskilt snabbt att installera även på en snabb maskin med snabb lagring och/eller snabbt nätverk, och det går inte i blixtens hastighet här heller. 90 minuter efter att jag påbörjat installationen pågår den fortfarande. Det är lätt att tro att installationen hängt sig men både CPU-lasten och I/O på hårddisken är aktiv varför man helt enkelt få ha tålamod. Massor med tålamod...

En sak jag hade missat var att ändra vilket typ av processor den virtuella maskinen skulle använda.

Som synes ska den ställas till "host", annars är risken att den virtuella maskinen antingen inte startar alls eller tar extremt lång tid på sig att starta. Som exempel kom jag inte förbi den initiala bootskärmen för Rocky Linux 8 utan att ställa in processortypen korrekt. När det väl var gjort tog det inte många sekunder innan man var inne och kunde börja konfigurera saker på allvar:

Installationen av Rocky Linux tog strax under tio minuter. Under den tiden hade inte Ubuntu Server-installationen kommit förbi "sökning efter tredjeparts-drivrutiner"...

Jag tror det blir Rocky Linux för hela slanten för mig även i fortsättningen. Den startar upp snällt under Pimox och mer än så kan man inte begära.

Blir en stackars Raspberry Pi varm under all last? Jo vars, den är ju inte sval direkt. Extra kylning rekommenderas om den ska köras dygnet runt under längre tid. Intressant nog är det inte så att processorkärnorna i denna fantastiska enkortsdator jobbar ihjäl sig även när den står och installerar tre virtuella datorer samtidigt:

Det ska bli intressant att se hur lasten på systemet ter sig senare när det är igång i vardaglig drift.

Nederlag

Det finns, givetvis, saker som inte fungerar som det var tänkt. Ett exempel är den utmärkta övervakningsprogramvaran Zabbix som i kombination med Grafana är ett riktigt trevligt system att köra när man har ett nät med lite servrar och annat. Zabbix agentprogramvara finns, givetvis, för ARM64-plattformen men serverprogramvaran gör det inte. Åtminstone inte ännu.

Några tips

  1. Slå av all swappning på SD-kortet med kommandot swapoff -a. Därefter skriver du sync följt av apt-get purge -y dphys-swapfile. Därefter raderar du swapfilen med rm /var/swap och slutligen ger du sync igen.

  2. Sätt upp en server som tar emot loggfiler via syslog och se till att din(a) Proxmox-pajer skickar ALLA loggar dit genom att lägga till raden *.* @@ip-adress-till-syslogserver:port längst ned i /etc/rsyslog.conf. Det innebär att du kommenterar ut raden $IncludeConfig /etc/rsyslog.d/*.conf i samma fil och ser till att Rsyslog körs med kommandot systemctl status rsyslog. Är den inte igång, starta den och se till att den startar automatiskt när systemet bootar med kommandot systemctl enable rsyslog.

Dessa två manövrar kan tyckas vara en aning extrema men om det är något man alltid kan räkna med så är det att ett SD-kort, oavsett om det är det billigaste du hittade på Biltema eller det dyraste som gick att köpa på Webhallen så kommer det gå sönder hyfsat snabbt då SD-kort inte klarar särskilt många skrivningar. Detta innebär också, givetvis, att du under inga som helst omständigheter ska köra några virtuella maskiner direkt på SD-kortet. Har du inte möjlighet att sätta upp en NFS-server hemma kan du ansluta en SSD eller snurrdisk via USB-3-porten och skriva allt du behöver skriva där istället. Se bara till att hårddisken du ansluter har en separat strömmatning. Se även mina noteringar i frågan här.

Summering och framtiden

Ska man summera detta projekt så kan det göras så här: detta är inte svårt. Det är några småsaker man måste lära sig men i det stora hela är det verkligen småsaker, varken mer eller mindre.

Än så länge har jag, förutom i fallet Zabbix, inte stött på en enda programvara som inte låter sig installeras. Att man byter arkitektur från X86 till ARM64 är egentligen en ganska stor grej men i praktiken är det som att sitta med en vanlig PC med en AMD- eller Intel-processor under skalet. Fast nu är det betydligt tystare, betydligt billigare och oerhört mer strömsnålt (kör man en Raspberry Pi 4 model b i 400% belastning, det vill säga alla fyra processorkärnorna i max belastning, drar den 6,4 watt).

Framför allt är det en oerhört trevlig känsla att köra ett hyfsat snabbt virtualiseringskluster för drygt 4000 kronor som gör mitt elbolag lite mer ledsna och i det längre perspektivet min plånbok betydligt gladare. Inte är det helt dumt för miljön heller.

Vad innehåller då framtiden för mitt lilla kluster? Troligen köper jag fler Raspberry Pi och expanderar klustret med.

Möjligen får en av dem hantera lagring åt resten av "pajjerna" i klustret men om det blir snabbt nog vågar jag inte sia om ännu men det blir intressant att testa.

Det vore också trevligt att slippa SD-korten i varje Raspberry Pi och det ska, med lite handpåläggning, fungera att man bootar dem och kör hela operativsystemet över nätverket istället för från en lokal lagringsenhet via PXE-protokollet. Om det är en särskilt smart ide med tanke på all annan nätverkstrafik som redan går över samma nätverksport kan man ju fundera över.

Att mata mina "pajer" med ström via nätverkskabeln a'la PoE är minst sagt tilltalande. Detta kräver dock att man köper ett extra litet kort till varje Raspberry Pi, och en switch som stödjer PoE. Kostnaden för detta kontra att köpa en vanlig strömadapter som fungerar med USB-C är sannolikt högre men kabelröran blir garanterat mer hanterbar. En "PoE-hatt" för en Raspberry Pi 4 model b kostar drygt 300 kronor stycket, och en switch 600-1300 kronor, så drygt 2500 kronor får man räkna med för det kalaset.

En tanke som också slog mig är att jag nu använder ARM-processorer i min Apple Watch, min iPhone, min iPad, mina högtalare och i min Mac. Framtiden anlände snabbare än vad jag hade räknat med, och det känns rätt trevligt för det är kul att hålla på med Raspberry Pi. Man överraskas ständigt med vad den här lilla datorn faktiskt klarar av och än så länge har jag inte "slagit i taket" så att säga.



© 2003 - 2022 Joacim Melin