Proxmox-kluster på Raspberry Pi del 4: vad som inte fungerar

15 Jul 2022

Kluster

I mina tidigare texter om mitt Pimox-kluster (del 1 ,del 2 och del 3) har jag konstaterat att det mesta faktiskt fungerar riktigt bra. Det finns dock saker som inte fungerar och det är väl inte mer än rätt att ta upp dessa i en text till.

Det första är vilka operativsystem som inte fungerar i Pimox. Åtminstone inte just nu.

Eftersom detta är en portering av x86-versionen av Proxmox som sedan körs på ARM64-artkitekturen ställer det till det en del. Exempelvis fungerar ingenting som har med IDE eller SATA att göra i de virtuella maskinerna vilket gör att vissa operativsystem vägrar låta sig installeras. Det finns exempelvis speciella versioner av FreeBSD för Raspberry Pi-plattformen men de går inte att installera FreeBSD från till en virtuell maskin under Pimox. Den “vanliga” ARM64-varianten av FreeBSD låter sig inte heller installeras, och det av en ganska irriterande anledning: CD/DVD-ROM-spelare (fysiska eller virtuella) som ansluts med SCSI kan inte starta upp installationsprogrammet eller installera FreeBSD på ARM64-plattformen. Endast IDE eller SATA stöds. Detta upptäckte jag dessutom efter att ha lagt till en serieport till en virtuell FreeBSD-maskin och sedan anslutit till denna serieport via kommandot qm terminal id-nummer (där id-nummer är numret på den virtuella maskin som du försöker installera FreeBSD på).

Jag testade också att installera FreeBSD på en äldre Raspberry Pi 3, vilket stöds av operativsystemet, och efter en första omstart efter att ha installerat alla uppgraderingar så ville inte operativsystet boota upp igen. Till det var det oerhört långsamt (långsammare än Linux på samma hårdvara) så jag kan (kanske orättvist) bara utgå från att gänget bakom FreeBSD fortfarnade har en del jobb att göra på denna plattform.

OpenBSD finns även det för ARM64. Det finns en större chans för att detta kan fungera men jag är inte överdrivet hoppfull. Tyvärr finns ingen ISO-distribution av ARM64-versionen av OpenBSD utan de distribueras endast i en .img-fil vilken säkert går att konvertera till motsvarande fil i ISO-format men jag har inte funderat närmare på det eftersom jag inte är överdrivet förtjust i OpenBSD. Jag har också funderat på att installera Windows 10 för ARM men inser snabbt att den skulle kräva på tok för mycket minne och andra resurser för att köra i ett Pimox-kluster. Windows Server för ARM har till och från kunnat laddas ned från Microsoft men just nu går det inte att få fatt på och jag vet i ärlighetens namn inte vad jag skulle med det till – det vore trevligt att köra Active Directory för alla datorerna här hemma men det är ju verkligen inte nödvändigt. Kanske skulle jag testa att sätta upp det med Samba 4?

Det andra är som inte fungerar är en, kanske, mer allvarlig historia: livemigreringar.

För att vara tydlig: livemigreringar fungerar om du är beredd att i princip grilla SD-kortet som sitter i respektive Raspberry Pi. När en livemigrering av en virtuell maskin görs mellan två noder så skrivs data temporärt på den lokala lagringen i respektive Proxmox-maskin. Jag ville inte att livemigreringen skulle göra det.

Kluster

Jag ville inte att Proxmox skulle röra SD-kortet i varje Raspberry Pi över huvudtaget varför jag helt sonika slog av SD-kortets funktion i Proxmox. Detta gör att alla virtuella maskiner fungerar utmärkt, och migrering av virtuella maskiner går utmärkt om de är avstängda, men att göra migreringen medan en virtuell maskin är igång fungerar inte. Det gör mig egentligen ingenting men det kan vara bra att veta.

Det är säkerligen fullt möjligt att koppla på en USB-ansluten hårddisk eller USB-ansluten sticka som man lägger /var/lib/vz på, men jag har inte orkat tänka mer på saken.

Kluster

En annan sak som inte fungerar är att slå på hotplug (lägga till eller ta bort) av minne och/ eller processorer. Koden i KVM och därmed Proxmox tycks vara anpassad för x86-arkitekturen.

Som bilden högst upp i denna bloggpost visar så sitter det USB-minnen i varje Raspberry Pi numera. Dessa är formatterade med ext4 och hanterar enbart loggfilerna och är monterade under /var/log och det gör ingenting om USB-minnena går sönder. De sitter enkom där för att minimera skrivningarna till SD-korten på varje Raspberry Pi.

Jag kommer uppdatera denna text vartefter mer saker dyker upp som kan vara värda att hålla koll på – du får gärna titta till den då och då om du som jag experimenterar med Pimox i ett kluster.