sabato 15 marzo 2025

DIY Home Server - Racconto dell'esperienza


Quando il PC da gaming oramai da le giuste soddisfazioni ed è tutto in equilibrio, con ogni hardware nuovo che costa unputiferio rendendo ogni voglia dia aggiornamento inutile, ecco che la scimmia si sposta verso un nuovo lido. Un home server/Nas DIY


Ma per far cosa?

Un Computer può essere usato per tante cose. Giocare ai Videogiochi è una delle sue tante funzioni. Può essere adoperato per registrate podcast, montare video per Youtube, scrivere, programmare... ma anche per accumulare dati da riutilizzare. PDF, Video, Musica e chi più ne ha più ne metta.

Il grosso limite è uno: i file sono sul computer e quindi per accedervi è necessario che questo sia acceso. Cosa non sempre ottimale considerando che parliamo di un PC da gaming, non proprio ottimizzato per quello. Inoltre ora i contenuti vengono fruiti sul cellulare,

La soluzione è quindi quella di usare un device specifico per accumulare dati, che consumi poco in quanto deve rimanere acceso 24/7 e che che raggiungibile da tanti device, sia all'interno di casa che all'esterno.

Ci sono diverse alternative per fare ciò. Si possono comprare sistemi già fatti e finiti oppure andare per la strada del DIY, del fai da te. Ho potuto sperimentare con entrambe e sono qui per raccontare la mia esperienza.


ATTO 1: SINOLOGY

Le migliori occasioni per recuperare hardware a poco prezzo o addirittura a costo 0 è quando le aziende devono rinnovare il proprio stack hardware.

E così dopo 9 anni circa di onorata carriera, sono entrato in possesso di un Sinology DS412+, incluso 4 dischi da 2TB l'uno. A 0€. Un NAS, Network Attached Storage.



Questo macchinino in termini hardware può apparire antico, ma i sistemi operativi dei NAS sono molto leggeri e pertanto riescono ad asservire a molte funzioni. Abbiamo un processore Atom Dual Core da 2,13Ghz, 1GB di RAM DDR3 e 4 slot per dischi da 3.5". Il processore è un D2700, annata 2011, processo produttivo a 32nm, nome in codice Cedarview, la terza generazione di Atom in assoluto, con la seconda architetturachiamata Saltwell. 10W di TDP, ed il NAS è praticamente passivo, lavorando consumando poco.

Sinology è bello perché è un sistema chiuso, proprietario dove le applicazioni di Sinology stessa sono curate. tutto funziona al primo colpo, c'è davvero poco da smanettare.

Nel giro di mezza giornata avevo già impostato un Server Plex, un fac simile di Google Drive con Drive di Sinology ed il NAS era diventato storage per dati e sistema di streaming diretto di contenuti audiovisivi.

Ma spendiamo qualche parola per dire perché una soluzione del genere apre le porte verso nuve possibilità nel fruire dei propri contenuti.

Solitamente, robe come film ed altro, si trovano fisicamente in un luogo. Questo può essere un PC o un Hard Disk esterno. Ed ogni volta che voglio farne uso, devo accendere il PC o portarmi il disco esterno in giro. Ma io il film voglio vedermelo casomai sul cellulare mentre sono in giro, sulla TV di casa o a casa di un amico.

La tecnologia moderna permetterebbe di lasciare il proprio PC acceso e poi accedervi in modo remoto, ma non sempre è la cosa più comoda lasciare il PC principale acceso. Inoltre le possibilità di espansione sono limitate. Un sistema all in ONE come un NAS Sinology permette di avere un sistema sempre acceso, che rende i file a disposizione per tutti i device in casa e fuori.

Plex, il software usato per la gestione dei contenuti audio visivi, è fenomenale da questo punto di vista. Ha un costo che può variare da 0€ a 5€ una tantum per sbloccare le app mobile, con pagamenti mensili o una tantum a vita per sbloccare tutte le funzioni avanzate ed è in grado di organizzare le proprie librerie mostrandole come un servizio di streaming. Le applicazioni client, che si connettono al server ovunque esse siano nel mondo, sono disponibili ovunque. Su Android, su Tizen OS, iOS, Windows e così via. Plexamp chiude il cerchio, offrendo un'app ed un'esperienza di ascolto di musica in streaming dal proprio server Plex di alto livello.

Ci sono tante altre funzioni che possono essere sfruttate su un NAS. Possono diventare i gestori della a VPN casalinga, possono eseguire istanze di Home Assistant per gestire la domotica e tanto altro. 

Però non su un DS412+. Per fare tante belle cose serve un po'più di potenza e soprattutto RAM. Inoltre i 6TB a disposizione dell'originale erano esauriti (2+2+2 per storage e 2Tb per ridondanza) ed aumentare la grandezza del volume in RAID5 non è una cosa facile. Non basta togliere un disco ed aggiungerne uno più grande. 

Quindi, per lanciarmi verso utilizzi più ambiziosi ed imparare a fare casini su un mini server casalingo, era tempo di pensare a qualcosa di nuovo. Più flessibile.

Solo che un S423+ nuovo, con un Celeron J4125(annata 2019) e 2GB di RAM, viene sui 550€. Un 923+ sui 600€. Senza alcun disco. Un Terramaster F4-212 basato su chip ARM viene sui 330€

Tempo di farselo da se.

ATTO 2  DIY - LA BUILD

Fare un server è come fare un computer alla fine. L'importante è capirne lo scopo, quali sono i limiti attorno ai quali stare e quindi acquistare di conseguenza. Vediamo proprio punto per punto come ho risposto ai vari requisiti.



1) Case che sembri un NAS, con la possibilità di aggiungere e rimuovere dischi con facilità.

Qui la ditta Cinese Jonsbo arriva in nostro soccorso, con la sua linea dedicata ai NAS. C'è lo stiloso N1, il grande N3, le vie di mezzo N2 ed N4. Io ho optato per un N2 bianco. Ha lo spazio per 5 Hard Disk da 3.5", supporta schede madri Mini ITX, alimentatori SFX, ed ha uno spazio per un SSD, utile per installare le parti veloci del sistema. Non ci sono tanti altri design così.

Un'altra soluzione popolare è il Fractal Node 304 o 804 ma ha gli hard disk interni, quindi va aperto per ogni espansione. Non mi facevano impazzire. Comunque, la scelta del case ci forza la dimensione della scheda madre, che deve essere Mini ITX. 

2) Il sistema deve essere parco di consumi ma versatile. Richiesta capacità di codifica hardware per il server Plex. Deve essere in grado di supportare 6 dischi SATA. Formato mini ITX.

Qui uniamo quattro requisiti interessanti. Il Formato mini ITX ed il supporto a 6 dischi dipendono dalla scelta del case di sopra.

Il basso consumo serve per non impattare particolarmente sulla bolletta visto che dovrà rimanere sempre acceso. Ricordiamo che un consumo di 10W in idle, porta a 10x24x365 = 87,6 kWh/anno, ad un prezzo di 30 centesimi al kWh sarebbero 26,28€ l'anno. Sbagliando parti è molto facile anche quadruplicare questo valore, quindi alcune scelte che possono sembrare economiche ora possono costare di più dopo qualche anno in operazione.

La capacità di decodificare formati video attraverso l'uso di GPU serve per poter sfruttare al massimo le potenzialità di Plex, ovvero la possibilità di prendere un film in 4k, ricodificarlo al volo in 720p per inviarlo ad un cellulare attraverso l'internet, salvaguardando banda di upload e dati in streaming dalla connessione mobile. Questo è fattibile in tempo reale solo se il server ha una CPU molto potente oppure una GPU moderna con dei moduli hardware dedicati che fanno questo lavoro per pochissima energia.

Soluzioni come queste tentano molto. Per 64€ ci si porta a casa 16Gb di ram, 4 slot Sata ed un processore a 12 core da server. Ha slot di espansioni semplici, ci si mette una ARC A310 che è in grado di decodificarvi e codificarvi anche la mamma, qualche adattatore per Sata in più e via. Qui però alziamo di molto il consumo in idl avendo uno Xeon e una GPU dedicata.


Altra soluzione potenzialmente golosa ma ad alto budget è la scheda Q670Mini ITX. Queste schede madri bianche hanno 8 slot Sata, supportano i processori di 12a generazione Intel esono belle compatte. Un Alder Lake come un 12400 ha una GPU integrata in grado di lavorare benecon plex ed è parca nei consumi. Il costo di acquisto è un po' alto.

Un altro acquisto goloso via di mezzo potrebbe essere queste board cinesi. Montano un N100 Intel integrato, quindi 4 e cores di Alder Lake, GPU integrata e ben 6 slot Sata. Potrebbero essere la soluzione ideale, ma le 6 porte sata sono ottenute con un chip dedicato. Nulla di male, ma il chip di quasi tutte queste schede è un JMB585, che non manda la CPU in modalità basso consumo.

Ho quindi optato per una soluzione un po' ibrida. 

Una Asus Prime N100I-D4 + Nvme to Sata Adapter con chipset AMS1166 che supporta i livelli di basso consumo della CPU + 16GB di RAMformato SO-DIMM. La porta ethernet è da 1Gbps, qualcuno potrebbe vederla come limitante in un uso server, ma non ho previsioni di utilizzo di banda così elevata costantemente. Lo slot di espansione pci potrà essere usato in futuro per una 10 gig nel caso.

Alimentatore ho preso un Be Qiuet da 300W. Non il massimo visto che è un 80 Bronze, quindi a basso carico non è efficientissimo ma aveva abbastanza connettori per dare energia a tutto.


3) Array flessibili

Avendo 5 baie a disposizione vanno sapute usare in modo saggio. L'ideale è avere flessibilità nei tipi di hard disk da usare e ridondanza. Ecco che si affaccia alla mia attenzione il software Unraid, un sistema operativo per NAS/Serverche offre un sistema flessibile per gestire dei "non raid". Un disco principale viene usato come disco della Parità dei dati. Poi il Raid sotto questo disco può essere composto da quanti device si vuole di ogni dimensione e verranno usati tutti al 100%, con limite massimo della dimensione del disco di parità. Esi possono aggiungere e togliere dischi quasi a piacere.

Un classico RAID 5, se composto da 1 drive da 8 TB, un drive da 4TB ed uno da 1TB, andrà ad avere 2TB di capacità, 1 TB di protezione e 10TB di sprecato, quindi serve comprare tutti dischi uguali. La stessa configurazione in Unraid userebbe il disco da 8TB come protettore, con 5TB di spazio usabile, la somma dei due rimanenti.

Ho quindi deciso di prendere due dischi da 12TB, uno per la parità ed uno per i dati ed affiancargli dischi che mi avanzano. Presi da TrueBase in offerta ricondizionati. Qui l'offerta che speriamo duri un po'. Ho recuperato un SSD da 512GB formato 2.5" a costo 0, ma oramai si trovano a prezzi davvero popolari.

Mettere tutto insieme è stato semplice. Unica accortezza, la ventola va collegata alla scheda madre perché messa nel connettore simpatico davanti agli hard disk la fa girare a cannone ed è rumorosissima in quel caso.

ATTO 2 DIY - SET UP SOFTWARE

Unraid è un sistema operativo a pagamento. È possibile provarlo per un periodo di prova, e così sta girando il mio server al momento, ma poi andrà acquistato.

Il loro modello di business è organizzato in questo modo. Si paga per una licenza perpetua, con diversi tier di limitazione. Quella da 50$ prevede massimo 6 sistemi di archiviazione collegati (ed il Jonsbo N2 ha esattamente 6 spazi) ed aggiornamenti per 1 anno inclusi. Feature tutte disponibili. Con 36$ si accede agli aggiornamenti per 1 altro anno. Pagando 109$ si ottiene infiniti dischi di storage collegati. Pagando 249$ si ottiene aggiornamenti a vita.

Tutto sommato una spesa sostenibile di fronte alla flessibilità che offre nel costruire il proprio array, di aggiornarlo nel tempo e di mescolare drive di diversa capacità. Unraid inoltre non si installa da nessuna parte. Risiede in una chiavetta USB, la licenza è associata al codice identificativo della chiavetta. Quando si accende il server, Unraid si carica sulla RAM e lavora da lì.

Basta scaricare il loro creatore USB dal sito e creare la chiavetta eseguibile. Nella fase di creazione ci viene chiesto di impostare già l'indirizzo IP di partenza del device, così da poterlo raggiungere attraverso la rete. Io ho comprato questa chiavetta della Samsung per ospitarlo, oramai chiavette da pochi GB non si trovano. Inserita nella porta a velocità 2.0, solitamente più stabili e meno prone a scaldarsi.

Dal Bios della scheda madre Asus bisogna disabilitare il fast boot, selezionare l'USB come device dal quale avviarsi e poi il sistema parte in automatico.


Una volta nella sezione Main, verranno visti tutti i dischi collegati e si dovrà costruire il proprio gruppo di dischi in un Array. Questo viene fatto in una semplice interfaccia grafica dove ogni disco viene assegnato al suo ruolo. Nel mio caso uno dei due dischi da 12TB è stato assegnato al compito di Parity, per proteggere il resto dell'array. Il secondo da 12TB ed un disco da 1TB che mi avanzava formano disk 1 e 2 del gruppo, dandomi 13TB combinati di spazio usabile.

L'SSD viene invece assegnato come disco cache. Siccome è da solo, non è ridondato dalsistema in automatico. Su di lui verranno assegnati tutti i programmi e le interfacce grafiche dei programmi che gireranno sul server, così da essere veloci e reattivi e potendo permettere ai dischi rigidi di disattivarsi quando non in uso pur mantenendo la possibilità di visionare i programmi.

Nella Sezione Shares si costruiscono le cartelle per organizzare i propri dati. Io per esempio ho una per i file multimediali per Plex sull'array ed una con i file dei Torrent sulla cache, così da poter lavorare a dischi spenti. Questi array possono essere condivisi nella rete locale per accedervi da PC.

A questo punto, si va nel paese delle meraviglie e si iniziano a prendere le APP che servono.


Ogni app ha una pagina di installazione dove andargli a dire che porte dovrà usare e dove dovrà salvare i dati e poi si installerà e verrà eseguita in un Docker, un contenitore dove il programma è sempre in esecuzione. 

Al momento ho installato Tailscale, un plug in per creare una rete VPN tra device con tailscale installato sopra per accedere ai propri device in modo sicuro e ovunque senza esporre il sistema ad Internet, Plex per la libreria multimedia di audio e video, e sto cercando di capire quale sia meglio tra Kavita, Komga e Ubooquity per gestire i libri e fumetti. 

Consiglio il canale Youtube The Uncast Show ma soprattutto il due Spaceinvader One e Alientech42 per videoguide per impostare un po' di tutto su Unraid.

Il pocciarci sopra non finirà mai. Attualmente sono soddisfatto della scelta hardware effettuata. i 16GB di RAM sono occupati per 1GB dal sistema e per un altro giga e mezzo dai docker, lasciando per ora ampio margine per installare macchine virtuali come per Home Assistant.




Lato consumi, sfruttando un wattmetro ho effettuato alcune misurazioni.

Ho rilevato spike di 77W spike durante l'accensione del sistema. A pieno carico sul processore vediamo consumi per 39 W. Quando invece il processore va in idle, entrando negli stati C7 di bassa potenza, il consumo maggiore deriva dagli hard disk. Ricordiamo abbiamo 2x12TB Seagate, 1x1TB WD Black ed 1 SSD da 512GB Lexar. Consumiamo tra i 33 ed i 26W. Comporterebbero una spesa annua di alettricità, sempre assunta a 30 centesimi al kWh tra i 64€ e gli 83€. Spegnendo i dischi meccanici quando non sono in uso, il consumo si attesta sui 18W, ovvero un 47€ all'anno.

Mission Accomplished? Direi per ora sì e vediamo dove questo ci porterà. Di sicuro sto osservando Immich come Google Foto in locale e NextCloud al posto di Drive by Sinology per archiviare i dati.

Stay Classy, Internet.



01 09 10