Hardware usato per il server docker, Project Ryuko


Informatica / giovedì, Agosto 19th, 2021

Riassunto di project Ryuko

Siamo al terzo capitolo del esperimento Project Ryuko, nato per provare docker sfruttando l'hardware che avevo in casa, per creare un server pieno di docker utili per un server domestico in grado di riunire tutti i dati che negli anni ho sparso nei vari cloud, da google photo a github, nonchè un backup in realtime delle foto degli smartphone di famiglia e la domotica.

Leggi la prima e seconda parte:
Il mio nuovo server domestico con Docker
Scegliere il case per il server Project Ryuko

Premetto che il mio, è un hardware scelto per il prezzo economico, ma si è dimostrato attualmente in grado di gestire molti docker senza fatica.

Scheda Madre

Anni fa usavo un nas synology per archiviare e scaricare video da guardare via rete, ma con l'avanzare delle tecnologie di codifica video, l'app Plex non fu più in grado di gestire decentemente lo streaming con il processore ARM integrato.

Decisi cosi di passare ad una scheda madre mini ITX in grado di darmi la possibilità di installare qualsiasi cosa volessi, con la potenza di un processore intel, schede pciex, usb3 e abbastanza Ram.

La scelta cadde su AsRock Q1900-ITX .

Premetto che una volta concluso il progetto, tenterò di replicarlo sul Raspberry Pi 4 8GB acquistato da MeloPero.

  • Processore Intel® Quad-Core J1900 + Mini-ITX Scheda Madre
  • Design condensatore compatto
  • Supporta la memoria DDR3/DDR3L a 1333, 2 SO-DIMM
  • 1 PCIe 2.0 x1, 1 mini-PCIe
  • Opzioni di uscita scheda grafica : D-Sub, DVI-D, HDMI
  • Scheda grafica Intel® di 7° generazione (Gen 7) integrata, DirectX 11.0, Pixel Shader 5.0
  • Audio HD a 7.1 canali con protezioni contenuti (Codec audio Realtek ALC892)
  • 2 SATA3, 2 SATA2, 4 USB 3.1 Gen1 (2 frontali, 2 posteriori), 4 USB 2.0 (2 frontali, 2 posteriori)
  • 1 x collettore porta stampante, 1 x collettore porta COM
  • Supporta A-Tuning, XFast LAN, XFast RAM, USB Key

Devo ammettere che ad oggi usarlo come server, da grandi soddisfazioni, poi ovviamente, come tutte le cose, dipende da che uso ne fai. Immagino che streaming di film in 8K HDR, sia un pelino difficile farglielo fare 😁 .

Le porte sata 3, usb 3 e pciex permettono di gestire dischi ad alta velocità, mentre le porte Pci express sono in grado di gestire schede di rete aggiuntive per un eventuale firewall pfsense o bilanciamento del carico di rete.
Non ho ben chiaro il senso di mettere due porte sata 2 invece 🤔 .

Mi piace anche la possibilità di installare fino a 16GB di Ram, perfetta per il mio mini server, anche se lo scopo è vedere quanti software posso condensare nel minor spazio possibile.

Memoria RAM per il server docker

Il nome, DDR3L, sta a significare DDR3 Low Voltage e descrive chip di memoria capaci di operare alla tensione di 1,35V rispetto ai dispositivi tradizionali che operano a 1,5V.

Con lo standard DDR3L, sarà possibile ottenere una riduzione nel consumo energetico del 15% rispetto alle tradizionali memorie DDR3 (e del 40% rispetto alle DDR2), considerate ovviamente a parità di frequenza operativa. Questo contenimento dei consumi si traduce in benefici consistenti, specialmente in sistemi (server, in primis) che fanno massiccio uso di memoria.

In poche parole,

Massima resa, minima spesa

Per il progetto attuale, avevo due banchi da 4GB, e dopo aver installato portainer, jellyfin, nextcloud, vpn wireguard, duckdns, heimdall, PiHole e backup non sta superando 1GB di ram usata. Tieni conto che l'host docker è Ubuntu Server 20.04.3 LTS (Focal Fossa) .

Hard Disk per il server Docker Container

La scelta dei dischi attualmente è in fase di cambiamento. Essendo nato tutto come esperimento, mi ritrovavo con molti ssd di piccola taglia ed un solo vecchio disco da 1TB sata.

L'attuale scelta è stata usare il disco SSD più grande che avevo per il sistema operativo ed i dati, un PNY CS900 240GB, mentre il disco lento, un Seagate / Samsung ST1000LM024, per il backup.

Per eseguire il benchmark dei due dischi ho usato hdparm.

sudo hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   3352 MB in  1.99 seconds = 1681.66 MB/sec
 Timing buffered disk reads: 1060 MB in  3.00 seconds = 353.22 MB/sec
sudo hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:   3550 MB in  1.99 seconds = 1780.51 MB/sec
 Timing buffered disk reads: 342 MB in  3.02 seconds = 113.40 MB/sec

Alimentatore per l'host docker container

Lasciamo perdere 😅...

L'ho recuperato da un pc che avevo abbandonato in mansarda da almeno 10 anni...

Un giorno forse troverò qualcosa di più efficente ed adeguato.

Case per il mini server

Il case attuale lo abbiamo già visto nel post precedente, so che bruciano gli occhi solo a guardarlo, quindi stavo pensando di comprare questo.

Thermaltake Core V1 Snow Edition - Chassis Mini ITX con ventola da 200 mm, Bianco, 27.6 x 26 x 31.6 cm

Core V1 Snow è diviso in due camere principali: la camera superiore è realizzata per le prestazioni di raffreddamento e l'efficienza, e la camera inferiore è realizzata per l'alimentatore e la gestione dei cavi. Con l'aiuto dei rack per unità disco rimovibili da 2,5"/3,5", gli utenti possono godere della libertà di ottenere il massimo spazio interno per prestazioni di raffreddamento avanzate o per la creazione di sistemi a liquido.

Esteticamente lo trovo fantastico, e ci sta un sacco di roba, può contere un ssd per il sistema operativo, un disco da 3,5" per i dati e il disco per i backup.

Devo solo decidermi se sforare il mio budget di zero euri e prendere questo splendore, che però dovrà restare nascosto per sua natura, visto che sarà un server a cui accederò solo tramite ssh e web.

Il case può contenere schede video da gaming, quindi potrebbe diventare un fantastico mini pc da gaming con le giuste accortezze. Un alimentatore modulare, raffreddamento a liquido, solo hard disk NVME...

Vedremo come si evolverà Project Ryuko.

Seguimi per scoprire se esploderà ogni cosa 😋, i link li trovi a destra.