Idee NAS Home-Made: Performanta mai ieftina

Un Network Attached Storage (NAS) este o solutia pentru stocarea datelor pe un sistem care are si ceva redundanta, iti tine datele protejate printr-un RAID, mai ai si alte 2-3 feature-uri cum ar fi backup, etc. In loc sa investesc intr-un NAS comercial (Synology, QNAP, etc), am decis sa construiesc unul home-made cu componente custom, dar la un pret mult mai accesibil. Un NAS comercial poate fi mai simplu dar cine nu are chef de un challenge? :))
Asta e faza de documentare.

Componentele Hardware

Pentru acest setup, am ales urmatoarele componente – lista se poate schimba:

  • Carcasa: Jonsbo N2 Mini-ITX Black (cam 20cm/20cm/23cm – e cubica)
  • Placa de baza: Gigabyte H610I DDR4, Intel H610, Socket 1700, mITX
  • Sursa: Sharkoon SilentStorm SFX Bronze 450W – 80Plus Bronze
  • Procesor: Intel Core i3-12100 3.3GHz LGA1700 12M Cache Boxed CPU
  • Memorie RAM: G.Skill Aegis DDR4 32GB (2x16GB) 3200MHz CL16 1.35V XMP 2.0
  • SSD SATA pentru OS: Kingston SSD
  • Hard Disk-uri pentru stocare: 4 x HGST HUH721010ALE604 (10TB fiecare)
  • NVMe pentru caching: Reutilizare NVMe 512GB de pe pve01 si pve02
  • Mai am un adaptor HP Smart Array P420 controller cu 1GB, cu 2 porturi SAS cu split in 8 porturi SATA pentru ca cele 4 porturi onboard ar asigura conectivitate pentru doar 4 disk-uri…. si eu am mai multe.

Sistemul de Operare: TrueNAS Core

Ca sistem de operare am ales TrueNAS Core, pe care l-am mai testat in trecut si mi-a placut ca este customizabil si pare ca acopere cam toate usecase-urile de care am nevoie, un sistem de operare open-source bazat pe FreeBSD, recunoscut pentru fiabilitate si suportul nativ pentru ZFS.
TrueNAS imi va permite sa am si cateva VM-uri always on, sau containere…

Configurarea Disk-urilor cu ZFS

Discurile vor fi setate intr-un raid, un pool ZFS configurat astfel:

  • 3 HDD-uri pentru date
  • 1 HDD pentru paritate

De asemenea, voi utiliza un NVMe pentru caching, ceea ce va imbunatati semnificativ performanta accesului la date. ZFS ofera:

  • Caching – foloseste RAM si SSD pentru accelerarea accesului la date.
  • Redundanta si fiabilitate – configurarea RAID-Z1 permite ca un disc sa pice fara pierderi de date.
  • Snapshots si rollback – in special util daca ai VM-uri…
  • Compresie automata – economiseste spatiu fara impact major asupra performantei.

Cu un impact mare pe RAM pot porni si deduplicare – cam 1GB la 1TB de date. Cu 32GB ram nu prea as putea sa fac asta fara sa consum tot ram-ul, cred ca ram la compresie, mai salveaza acolo un pic de storage.

Utilizarile NAS-ului

NAS-ul nu va fi doar un simplu spatiu de stocare, ci va functiona si ca un home-server:

  1. Server de Plex – pentru streaming media (filme, muzica)
  2. Apache-PHP-MySQL – pentru hostarea site-ului asta sa zicem
  3. Stocare de date pentru media – pentru nr.1
  4. Target iSCSI pentru VM-uri – VM-urile de pe pve00, pve01 si pve02 vor putea folosi NAS-ul ca storage shared, permitand High Availability (HA)
  5. Technitium DNS – pentru gestionarea DHCP si DNS in retea
  6. Servarr Suite – implementare Radarr si Sonarr
  7. Backup Repository – cel mai probabil, un share NFS pentru HomeLab
  8. Nod witness pentru clusterul PVE – va ajuta la mentinerea quorum-ului in cazul clusterului Proxmox

Extindere viitoare: Cluster Kubernetes si upgrade de retea

Daca rezultatele sunt pozitive, voi lua in considerare refolosirea clusterului Proxmox (pve00, pve01, pve02) pentru a crea un cluster Kubernetes bare-metal… si ma gandeam ca as putea adauga o placa de retea de 2.5gbps, ca sa nu am un bottleneck in retea. (+switch ca acum am doar 1gbps)

Dezavantaje:

Desi un NAS home-made ofera flexibilitate si performanta la un pret mai mic, exista cateva dezavantaje fata de un sistem NAS comercial:

  • Consum mai mare de energie – sistemul asta poate sa consume mai mult curent decat un NAS comercial
  • Factorul de forma si zgomotul – poate nu la fel de compact si de silentios

Estimari consum (W)

Voi face o estimare aproximativa a consumului de energie in regim idle pentru ca 80% din timp sa fie idle, parerea mea:

  • Procesor Intel Core i3-12100 – ~10W in idle
  • Placa de baza + RAM 32GB DDR4 – ~8-10W
  • SSD SATA Kingston (pentru OS) – ~2W
  • NVMe SSD pentru caching – ~3W
  • HDD-uri 4x HGST HUH721010ALE604 – ~5W per HDD in idle → ~20W total
  • Sursa Sharkoon SilentStorm SFX Bronze 450W – Eficienta ~85%, deci pierderi de ~5W in idle
  • HP Smart Array P420 controller cu 1GB,– ~30W

Estimare totala in idle: ~80-85W

Cel mai mare consumator este HP Smart Array. In functie de activitatea discului si a procesorului, consumul poate creste, mai ales in load (unde poate ajunge la peste 100W, lejer as spune 150W in load mai serios). Daca HDD-urile intra in sleep mode, consumul poate scadea cu 20W in total (si asta e doar teoretic pentru ca o sa avem ZFS si o sa doarma din parti).

Un NAS QNAP TS-464 are un consum in idle de aproximativ 18-25W fara HDD-uri si in jur de 45-55W cu 4 HDD-uri HGST HUH721010ALE604. In load, consumul poate ajunge la 65-80W (are o sursa de 90W) in functie de utilizare. Prin comparatie, NAS-ul home-made de mai sus consuma ~80-85W in idle si poate ajunge la 110-115W+ in load.

Cost si concluzie

Costul total al componentelor a fost de aproximativ 2500 RON, o suma sub pretul unui NAS comercial cu discuri si performante similare. Prin aceasta abordare DIY, am obtinut un sistem scalabil (mai pot adauga / schimba ram-ul, pana la 64GB cat imi permite placa de baza), performant (cu i3-ul ala generatia 12 poti face multe) si adaptat exact nevoilor mele. Consumul lunar ar putea fi de aproximativ 65-70KWh, transformat in minim 50 de lei in plus pe factura de curent, pentru sistemul home made, si un pic mai mic pentru un sistem comercial (pentru qnap, 25 de lei in plus pe luna la factura de curent).
Cel mai mare consumator sunt disk-urile si adaptorul SAS. 4 disk-uri sata, 1 disk ssd sata, 1 nvme. loc de expansiune pentru 1 disk dar as avea incredere aproape totala in sistem.

Mai am statia mea de lucru, cu 64GB ram, i7-12700K, 4 nvme-uri (1x1TB+3x2TB) si are deja 6 porturi sata. Daca ii adaug 4 disk-uri sata ajunge la un consum idle asemanator cu ce vreau eu sa construiesc 🙂 oare se merita sa fac un sistem nou? (approx 45W idle + 20W de la 4 sata…)

Pentru a reduce consumul:

  • Adaptorul HP Smart Array P420 poate fi inlocuit cu altceva – ceva gen „pciexpress to 4*sata adapter” sau as putea folosi m2-ul de wifi sa conectez 2 sata. ar scadea cu 30w consumul in idle…
  • As putea lua o placa itx cu procesor mai slab integrat (sunt unele cu Celeron J sau N100) – dar tradeoff e performanta mai mica si ne limitam doar la NAS, nu si VMs si nebunii)
  • As putea schimba procesorul cu Intel Pentium Gold G7400…
  • As putea sa-l tin oprit.

Concluzie

E prea mult

adaptor m2-sata (merge pe m2-ul de wifi)
adaptor m2 la 6 sata (merge pe m2-ul de nvme)
adaptor pciexpress la 4 sata, pe singurul pciexpress (sunt si versiuni cu mai multe sata)

HP Smart Array P420, 30W!

Lasă un comentariu

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.