Hoe ik een 3-knoops Proxmox-cluster bouwde rond de ZimaCube 2 als gedeelde opslagbackend

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Drie Proxmox-knooppunten. Eén ZimaCube 2. Tien gigabit Ethernet. Alles zit in een Ikea Kallax-plank, draait 24/7, stiller dan de koelkast in de volgende kamer.

Dit is geen hypothetische opstelling. Dit is mijn homelab — een volledig 3D-geprinte 10-inch rack die netjes in een standaard Kallax-kubus past, met de ZimaCube 2 onderaan als het gedeelde opslagbrein voor het hele cluster. Hier is waarom ik de ZimaCube 2 voor deze rol koos, hoe ik het integreerde en wat ik onderweg leerde.


De architectuur

Mijn cluster heeft drie compute-knooppunten die Proxmox draaien met eMMC-bootopslag en ZFS-replicatie tussen hen. Het doel is volledige high-availability HCI — als één knooppunt uitvalt, migreren workloads automatisch en blijft de opslag consistent.

Maar ZFS-replicatie tussen drie knooppunten brengt je maar zo ver. Je hebt nog steeds een gedeelde opslagbackend nodig — iets met genoeg capaciteit, voldoende bandbreedte en voldoende betrouwbaarheid om te dienen als de enige bron van waarheid voor het hele cluster. Daar komt de ZimaCube 2 om de hoek kijken.

🧠 De ZimaCube 2 is het opslagbrein van het cluster. De drie Proxmox-knooppunten verzorgen de compute. De ZimaCube 2 regelt alles wat er verder bij komt kijken — gedeelde opslag, back-ups, mediadatasets en de 100GbE-ruggengraat die alles met elkaar verbindt.

Waarom de ZimaCube 2 als SAN/NAS-backend

Ik heb veel opties bekeken voordat ik bij de ZimaCube 2 uitkwam. Dit is wat het de juiste keuze maakte:

Wat ik nodig had

  • 6+ schijfbays voor gemengde HDD/NVMe-pools

  • 10GbE om het cluster te bedienen zonder bottleneck

  • PCIe-uitbreiding voor toekomstige GPU/NIC-upgrades

  • Docker-native voor het draaien van infrastructuurservices naast opslag

  • Stil genoeg voor een woonruimte (niet een kelder)

  • Compact genoeg om in een Kallax-kubus te passen

Wat de ZimaCube 2 levert

  • 6× SATA3-bays + 4× M.2 NVMe in de 7e bay

  • 10GbE (Marvell AQC113) + 2× 2,5GbE (Intel i226)

  • PCIe x16 Gen4 + PCIe x8 Gen3 slots

  • Vooraf geïnstalleerde ZimaOS met Docker-ondersteuning

  • 240 × 221 × 220 mm — precies Kallax-compatibel

  • Metalen behuizing met actieve koeling, bijna stil in ruststand

De 10GbE-poort was de doorslaggevende factor. Als je opslag aan drie hypervisor-knooppunten tegelijk levert, wordt een enkele gigabit-verbinding vanaf dag één de bottleneck. De ZimaCube 2 10GbE betekent dat ik het clusternetwerk kan verzadigen voordat ik de opslagbackend verzadig.

Strakke zilveren ZimaCube 2 mini-server geplaatst op een houten dressoir in een minimalistische woonkamer naast de televisie

Opslagconfiguratie

Hier is hoe ik de opslagpools op de ZimaCube 2 heb ingedeeld:

Pool

Schijven

Bestandssysteem

Doel

VM-opslag

2× NVMe (RAID 1)

ZFS

Proxmox VM/CT-afbeeldingen, live migratiedoel

Bulkdata

4× HDD (RAID-Z1)

ZFS

Mediamap, back-ups, ISO-archieven, datasets

Snelle cache

1× NVMe

ZFS SLOG/L2ARC

Schrijfcache voor de HDD-pool, metadata-versnelling

OS + Docker

1× NVMe (onboard)

ext4

ZimaOS, Docker-containers, infrastructuurservices

De cluster maakt verbinding met de ZimaCube 2 via een dedicated 10GbE-link. Elke Proxmox-node verbindt via 2.5GbE met een managed switch, met de ZimaCube 2 op de 10GbE-uplinkpoort. VM live-migraties gebeuren via NFS vanaf de NVMe-pool. Media en back-ups staan op de HDD-pool. Alles is ZFS-ondersteund met snapshots.
Opmerking over RAM-upgrade: De ZimaCube 2 wordt geleverd met 8GB DDR5 (Standaard) of 16GB (Pro). Voor een ZFS-gebaseerde opslagbackend is meer RAM beter — ZFS gebruikt ARC (Adaptive Replacement Cache) in het geheugen, en elke gigabyte ARC is een gigabyte opslag die de schijf niet raakt. Ik heb een 32GB DDR5 SODIMM toegevoegd om het totaal op 40GB te brengen, wat ZFS veel ARC-ruimte geeft zonder de Docker-containers uit te hongeren.


De fysieke bouw: alles 3D-geprint

De hele opstelling bevindt zich in een 10-inch rackformaat, 3D-geprint op een Elegoo Centauri Carbon en ontworpen om precies in een standaard Ikea Kallax plankkubus te passen.

De ZimaCube 2 staat onderin het rack — zijn gewicht en koelvereisten maken het de natuurlijke basis. Daarboven: drie compute nodes, een dedicated firewall-apparaat en een patchpaneel. Alles is gemonteerd met aangepaste 3D-geprinte beugels en ventilatiepanelen.

📐 De afmetingen van de ZimaCube 2 (240 × 221 × 220 mm) zijn bijna spookachtig perfect voor het 10-inch rackformaat. Het is alsof IceWhale een Kallax-kubus heeft opgemeten voordat ze het chassis ontwierpen. De 220 mm breedte laat net genoeg ruimte voor luchtstroom aan beide zijden van een standaard 10-inch plank.

Alle STL-bestanden en remixes zijn beschikbaar op MakerWorld en Printables. Ik heb aangepaste mounts ontworpen voor de ZimaCube 2, de ZimaBlade units en het firewall-apparaat.

Achterpaneel van ZimaCube 2 mini-server gemonteerd in een houten kast, met multi-Gigabit Ethernet, USB-poorten en ventilatieroosters

Waarom niet TrueNAS of Unraid?

Ik heb ZimaOS op de ZimaCube 2 gehouden in plaats van het te wissen voor TrueNAS of Unraid. Hier is mijn redenatie:

1.Vanaf dag één Docker-native. Geen plugin-systeem om mee te worstelen. docker-compose up en je bent klaar.

2.ZFS-ondersteuning ingebouwd. De ZimaOS opslagbeheerder regelt het aanmaken van ZFS-pools en het plannen van snapshots zonder dat je tijd in de terminal hoeft te besteden.

Linux-terminal op ZimaCube die zpool create-commando's en een gezonde ONLINE ZFS pool1 opslagstatus toont


3.IceWhale ontwikkelt het actief. Ik test een ZimaOS Beta-build rechtstreeks van hun team — de responsiviteit op feedback uit de community is echt goed geweest.

4.Ik wilde het platform testen zoals ontworpen. Je kunt altijd later wissen en iets anders installeren. Maar als ZimaOS de workload aankan, is dat één minder besturingssysteem om te configureren en te onderhouden.

Voor een clusteropslag-backend is stabiliteit belangrijker dan functies. Tot nu toe heeft ZimaOS geleverd.


Wat draait er op het cluster

De drie Proxmox-nodes hosten momenteel:

  • Home Assistant met Zigbee2MQTT — slimme huisautomatisering
  • Frigate NVR op een speciale ZimaBlade met Coral TPU — 4 buitencamera's, objectdetectie uitbesteed aan de TPU
  • Paperless-ngx — documentbeheer
  • Vaultwarden — wachtwoordbeheer
  • Nginx Proxy Manager — reverse proxy en SSL
  • Pi-hole — netwerkbrede DNS-filtering
  • Gitea — zelfgehoste Git voor persoonlijke projecten
  • Meerdere ontwikkel-VM's voor testen en leren

De ZimaCube 2 draait ook een paar infrastructuurcontainers direct: Uptime Kuma voor monitoring, een backup-orchestrator en de ZFS snapshot scheduler.

Bouw je eigen clusteropslag-backend met ZimaCube 2 →


Veelgestelde vragen

Waarom een ZimaCube 2 gebruiken in plaats van een traditionele NAS voor een Proxmox-cluster?

Drie redenen: 10GbE, PCIe-uitbreiding en ZFS-native architectuur. De meeste consumenten-NAS-apparaten worden geleverd met 1GbE, wat meteen een bottleneck vormt bij het bedienen van meerdere hypervisors. De 10GbE-poort van de ZimaCube 2 plus dubbele 2.5GbE geven je de bandbreedte om opslag zonder conflicten te bedienen. En de PCIe-slot betekent dat je later een GPU of snellere NIC kunt toevoegen zonder het hele apparaat te vervangen.

Kan ZimaOS ZFS goed genoeg aan voor clusteropslag?

Ja. ZimaOS bevat het aanmaken van ZFS-pools, het plannen van snapshots en gezondheidsbewaking in zijn opslagbeheerder. Voor een cluster-backend zijn de belangrijkste functies — poolcreatie, NFS/SMB-delen, snapshot-automatisering — allemaal aanwezig zonder dat terminalconfiguratie nodig is.

Hoeveel RAM heeft de ZimaCube 2 nodig voor ZFS?

ZFS gebruikt RAM voor ARC (cache), en meer RAM betekent snellere leesprestaties. De standaard 8GB of 16GB is bruikbaar voor lichte workloads, maar voor het bedienen van meerdere VM's of containers met een grote dataset wordt een upgrade naar 32GB of 64GB aanbevolen. SODIMM DDR5-slots zijn toegankelijk voor de gebruiker — de upgrade duurt slechts enkele minuten.

Wat is het voordeel van het houden van de Coral TPU op een aparte ZimaBlade in plaats van op de ZimaCube 2?

Het uitbesteden van Frigate-objectdetectie aan een speciale ZimaBlade met Coral TPU houdt de inferentielast volledig weg van de CPU en GPU van de ZimaCube 2. De ZimaCube 2 verzorgt opslag en Docker-services; de ZimaBlade verzorgt realtime video-analyse. Het scheiden van deze workloads voorkomt dat cameraverwerking concurreert met VM I/O of AI-inferentie op het hoofd systeem.

Zima Campagnecentrum

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.