▤ Homelab

Pianificare un homelab partendo dagli obiettivi, non dall'hardware

Come progettare un homelab: definire cosa si vuole imparare o ospitare, stimare risorse, budget, consumi e spazio prima di comprare qualsiasi macchina.

Un homelab è un piccolo laboratorio informatico in casa: una o più macchine su cui installare sistemi, provare configurazioni, ospitare servizi e soprattutto imparare senza il timore di rompere qualcosa di importante. L'errore più comune è partire dall'acquisto: si trova un server usato a buon prezzo, lo si porta a casa e solo dopo ci si chiede che cosa farci. Il risultato, spesso, è una macchina rumorosa che consuma molto e resta spenta in un angolo.

Conviene fare il percorso inverso: prima gli obiettivi, poi le risorse necessarie, infine l'hardware.

Primo passo: scrivere gli obiettivi

Un homelab può servire a cose molto diverse, e ognuna porta a scelte diverse. Prima di tutto, conviene mettere per iscritto le risposte a poche domande.

  • Voglio imparare o voglio servizi stabili? Un laboratorio per studiare virtualizzazione, reti e sistemi va distrutto e ricostruito spesso. Un servizio di cui la famiglia dipende, come l'archivio delle foto, deve invece restare acceso e aggiornato. Mescolare le due cose sulla stessa macchina crea attriti: ogni esperimento rischia di spegnere qualcosa che serve.
  • Quali tecnologie voglio provare? Studiare un cluster richiede almeno tre nodi o tre macchine virtuali. Provare il passthrough di una scheda video richiede una piattaforma che lo supporti. Un ambiente di container leggero gira anche su un mini PC.
  • Quanto tempo posso dedicargli? Un laboratorio complesso richiede manutenzione: aggiornamenti, backup, controllo dei dischi. Meglio un progetto piccolo e curato che uno grande e abbandonato.

Secondo passo: stimare le risorse

Una volta chiari gli obiettivi, si elencano i carichi previsti e si stimano le risorse di ciascuno.

Carico Processore Memoria Disco
Container leggeri (DNS locale, dashboard) basso poche centinaia di MB pochi GB
Macchina virtuale Linux di test 1-2 core 2-4 GB 20-40 GB
Macchina virtuale Windows 2-4 core 4-8 GB 60 GB o più
Archivio file e foto basso 2-4 GB quanto serve, con ridondanza
Transcodifica video alto o accelerazione hardware 2-4 GB variabile

La risorsa che finisce per prima, quasi sempre, è la memoria RAM. Il processore di una macchina domestica resta inattivo per gran parte del tempo, mentre ogni macchina virtuale occupa la sua quota di memoria anche quando non fa nulla. Per questo è sensato privilegiare piattaforme che accettano molta RAM o che permettono di aggiungerla in futuro.

Il secondo collo di bottiglia è lo storage: non solo lo spazio, ma la velocità. Molte macchine virtuali su un unico disco meccanico diventano lente in modo frustrante. Un SSD per sistemi e macchine virtuali e dischi meccanici per gli archivi è una combinazione equilibrata.

Terzo passo: vincoli di casa

Un homelab vive in un'abitazione, non in un datacenter.

Rumore

Un server da rack progettato per una sala macchine ha ventole piccole e veloci, pensate per spostare molta aria senza badare al rumore. In un ufficio domestico o in una camera può diventare insopportabile. Prima di comprare, conviene chiedersi dove verrà fisicamente collocata la macchina.

Consumi

Una macchina accesa giorno e notte consuma energia ogni ora dell'anno. Il calcolo è semplice: i watt medi moltiplicati per 8.760 ore danno i wattora annui; dividendo per mille si ottengono i kWh. Un watt continuo vale circa 8,8 kWh l'anno. Con questo numero e il prezzo della propria bolletta si capisce subito se un server vecchio e potente costa più di un mini PC moderno nel giro di pochi anni.

Spazio e calore

Ogni watt consumato diventa calore. In un ripostiglio chiuso, senza ricambio d'aria, la temperatura sale e i componenti ne risentono. Serve un posto ventilato, con prese elettriche adeguate e, idealmente, vicino al router o a una presa di rete cablata.

Quarto passo: un'architettura minima

Per la maggior parte delle persone una buona partenza è:

  1. Una macchina principale con un hypervisor, su cui far girare macchine virtuali e container.
  2. Uno storage separato o almeno dischi dedicati per i dati, distinti da quelli di sistema.
  3. Un sistema di backup che copi i dati importanti fuori dalla macchina principale.
  4. Un gruppo di continuità che protegga dalle interruzioni brevi e permetta uno spegnimento ordinato.

Questa base si può ampliare con un secondo nodo, uno switch gestito o una macchina dedicata ai backup.

Un esempio concreto

Supponiamo di voler imparare a gestire macchine virtuali Linux, ospitare un archivio di documenti di famiglia e provare un piccolo cluster di container. Le stime portano a circa 32 GB di RAM, 6-8 core e un SSD da 1 TB per sistemi e macchine virtuali, più due dischi in mirror per l'archivio. Un mini PC recente o una workstation usata rispondono bene a queste esigenze, con consumi contenuti e rumore basso. Un server da rack a doppio processore sarebbe sovradimensionato per questo uso, e il suo costo si vedrebbe soprattutto in bolletta.

Nel mio lavoro vedo spesso laboratori nati grandi e poi ridimensionati: è più economico e più istruttivo crescere per gradi, aggiungendo un pezzo solo quando si è davvero esaurito quello che c'è.

In sintesi

  • Si parte dagli obiettivi: imparare e ospitare servizi stabili richiedono approcci diversi.
  • La RAM è quasi sempre la prima risorsa a esaurirsi, seguita dalla velocità dei dischi.
  • Rumore, consumi e calore contano quanto le specifiche: un watt continuo vale circa 8,8 kWh l'anno.
  • Una macchina con hypervisor, dischi dati separati, backup e UPS sono una base solida e ampliabile.
  • Conviene crescere per gradi, aggiungendo hardware solo quando quello esistente non basta più.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche