Discutii despre stocare, NAS, DAS, backup-uri

Marius '95

troubleShooter
Se apropie vremea unui upgrade la stocare.

La mine stocarea este pe router. Am un Turris Omnia (armv7 2GB RAM) la care am conectat un DAS Areca ARC-5040 cu 10TB stocare in RAID5 + inca 500GB pe un hard in afara RAID-ului. E conectat pe SATA si merge f. f. bine. Cei 10TB ii folosesc ca arhiva pentru chestii mai rar accesate, dar am nevoie sa fie accesibile remote la nevoie. S-au cam umplut.

Ce optiuni am?

Varianta 1: Inlocuiesc toate hardurile cu unele mai mari in acelasi DAS.
Avantaje:
- Acelasi setup despre care stiu deja ca functioneaza fara probleme.
Dezavantaje:
- Nu pot fi 100% sigur ca noile harduri vor fi compatibile.
- Costuri
- Dintre hardurile actuale, 7 x Seagate ST2000DL003, doua noi si restul SH, n-a picat nici unul, desi unele sunt f. f. vechi (cred ca vreo 15 ani) si cu f. multe ore de functionare. Au fost folosite anterior in serverul x86 in acelasi rol, si naiba stie cum au fost folosite alea SH. Am serioase indoieli ca hardurile mai mari si mai noi rezista asa bine.
- Nu pot copia datele direct. Trebuie sa folosesc unul din backup-uri pentru restore pe noile harduri.
- BTRFS warning (device sdg): due to page cache limit on 32bit systems, btrfs can't access metadata at or beyond 16T ; please consider upgrading to 64bit kernel/hardware Ar trebui sa-mi fac griji?

Varianta 2: Un al doilea DAS, pe USB3, nu neaparat cu RAID
Avantaje:
- Am deja niste harduri nefolosite.
- Usor de instalat. Hardul de 500 GB se muta in noul DAS, iar in Areca fac migrare la 12TB sau RAID6 (nu m-am decis). Migrarea o sa dureze o zi intreaga, dar nu trebuie sa copiez eu manual nimic; migrarea este live si RAID-ul ramane accesibil pe toata durata.
Dezavantaje:
- Am experiente proaste cu USB-ul pe router. Se intampla (rar) sa se deconecteze/reseteze si sa fie detectat din nou ca alt device (/dev/sdg => /dev/sdh). Evident, torentii nu mai functioneaza, site-ul e picat, tvheadend rateaza documentarele puse la inregistrat, etc. etc. Enervant la culme.
- Consum mai mare. Unul dintre motivele pentru care am renuntat la serverul x86 a fost pentru consum. N-am masurat cat consuma acum, dar daca ma extind cu inca un device as putea ajunge tot acolo, si atunci care mai e rostul?

Varianta 3: Pun in functiune vechiul server, dar fac un cache local pe router, ma gandesc la un hard de 2TB special pentru asta, iar serverul sa stea in S3, cu WakeOnLAN la nevoie. Areca ramane ca unul din backup-uri.
Avantaje:
- Consum si mai mic decat acum.
Dezavantaje:
- Nu stiu sa fac acel WOL on-demand de pe router catre server.
- Stocarea de pe server ar putea fi foarte simplu sau foarte complicat de setat.
- Stocarea pe router va fi iar pe USB, cel putin partial, ca imi trebuiesc si alte lucruri pe langa acel cache.

Opinii, pareri?
Voi cum v-ati organizat stocarea datelor si backup-urile?
 
La mine avand cerinte diferite am o solutie diferita. Nu stiu daca te ajuta, dar daca tot ai intrebat, asta e configuratia mea:
- 1 server bare metal cu masini virtuale. Una din masinile virtuale e TrueNAS Core (pe viitor Scale) cu 3 discuri de 8 TB, al 4-lea pe masa asteapta sa il montez, si 1 SSD pe post de read cache, ajuta cand ma uit prin poze si caut ceva. Astea sunt dedicate pentru NAS, ca mai exista alte 2 SSD-uri pentru OS si VM-uri.
- 1 server bare metal offsite cu masini virtuale. Una e TrueNAS cu discuri de 4 TB care fac rsync partial la cel din casa. Performanta momentan e proasta, 5 MB/sec site to site pe rsync, urmeaza sa schimb routerele care fac site to site VPN. Serverul asta e oprit toata saptamana si porneste duminica noaptea (din BIOS, nu WOL) pentru rsync (pull), apoi se opreste.

Pe serverul din casa am diverse VM care imi trebuie 24x7, inclusiv server de SQL si Gitea, asa ca partea de NAS costa in plus doar la curentul electric consumat de discuri, care nu e tocmai mult.

Accesul la cele 2 servere e posibil doar din casa, nu remote. Desi echipamentele sunt Cisco si cele noi vor fi Ubiquity, nu am incredere si nici prea multa nevoie de acces remote. Daca o sa fie nevoie pe viitor exista optiunea si o sa o fac, deocamdata prefer sa nu.
 
Câteva subiecte de gândire legate de DAS:
  • SMART e una din cele mai bune metode de a preveni și detecta devreme un potențial dezastru, atât prin raportarea parametrilor cât și prin executarea periodică a unui SMART Short Test (gen o dată pe săptămână) și a unui SMART Long Test (o dată pe lună); poate controllerul ăla DAS să facă așa ceva sau nu?
  • Cât e de inteligent și fiabil controllerul RAID de la DAS? Raportează cumva starea discurilor, poți testa ce se întâmplă dacă scoți un disc simulând picajul lui? Dar dacă pică controllerul, poți conecta discurile alea altundeva și să citești datele de pe ele, sau sunt pierdute?
La acest moment, dacă n-ai nevoie de mașini virtuale și chestii care să necesite computing power și multă memorie, eu m-aș uita după embedded computers făcute pentru routing și/sau NAS, adică 1+ porturi de rețea și 4+ porturi SATA, poate și 1 NVMe, în jurul unui procesor x86 low-power (care probabil are un singur lane PCIe și de-aia nu poate mai multe NVMe-uri). Nu ar consuma înfiorător de mult comparativ cu routerul actual, dar ar fi un x86 pe care poți pune un linux pe 64 biți cu rol de NAS, cu acces complet la SMART, cu ZFS și ce mai vrei tu care să-ți dea flexibilitate mai mare decât un RAID hardware. Dacă are și SATA și NVMe atunci poți grupa SATA-urile încât să se și oprească la nevoie și rămâi doar cu NVMe-ul pentru chestii active (torrente și fișiere curente) și mai scazi din consum. Ai avea avantaje față de router+DAS, dar și față de serverul vechi care probabil consumă mai mult chiar și în idle.
 
Rsync doar dupa data modificarii. Sunt modificari destul de clare, nu am nevoie de mai mult. De obicei mai descarc poze pe un NAS si se replica pe al doilea, uneori mai modific documente dar cu modificare de timestamp, nu exista riscul sa nu le ia in seama.
 
DAS-ul e destept. Daca pica un disc, tipa alarma, il marcheaza cu LED rosu si poate sa dea si email, dar nu l-am setat. Cand bag disc nou, rebuild-ul incepe automat. Stie SMART, dar nu si teste SMART. Afiseaza astea:

IDE Channel2
Model NameST2000DL003-9VT166
Serial Number5YD26VP7
Firmware Rev.CC32
Disk Capacity2000.4GB
Current SATA ModeSATA300
Supported SATA ModeSATA300+NCQ(Depth32)
Error Recovery Control (Read/Write)N.A.
Device StateNormal
Timeout Count0
Media Error Count0
SMART Read Error Rate118(6)
SMART Spinup Time93(0)
SMART Reallocation Count100(36)
SMART Seek Error Rate76(30)
SMART Spinup Retries100(97)
SMART Calibration RetriesN.A.(N.A.)

Dar degeaba. Din cate discuri moarte subit am avut (vreo 3?), nici unul n-a avertizat inainte. Dintre cele care au semnalat probleme cu SMART, toate sunt functionale - au realocat sectoarele defecte si asta a fost tot - tot astept sa moara, dar nimic.
N-am incercat sa citesc discurile in alta parte, dar nici n-am nevoie. Acum am 2 copii de backup pe care le actualizez alternativ. Singura problema este ca sunt in acelasi loc - n-am un server in alta locatie precum AB1.

Un sistem embedded care sa faca tot ce face acum router-ul, dar sa aiba si multe SATA n-am vazut/gasit. Inca mai caut. Din principiu, daca are multe SATA, n-are 4+ ethernet, iar daca are 4+ ethernet, atunci este un router si n-are SATA, nici mini-PCIe / M2, si nici memorie destula. Iar daca pun un sistem separat ca NAS, atunci de ce sa nu pun direct al doilea DAS? Consumul e probabil semnificativ mai mic la DAS (doar doua cipuri: o interfata USB-SATA si un SATA port-multiplier).
Sunt constient ca Turris Omnia e o struțo-cămilă care face de toate si nu exceleaza la nimic, dar mi se potriveste.

De x86 nu ma mai ating de cand au introdus UEFI, Intel ME si AMD PSP.

PS: Mi-am dat seama ca pot elibera un mini-PCIe (am instalat saptamana trecuta un MT7916AN cu DBDC) si pot sa pun un controller SATA acolo. Asta inseamna ca imi trebuie un DAS (e)SATA, cum este si Areca pe care il am, alta ciudatenie care nu se gaseste nicaieri. Mi-ar cam place un al doilea DAS Areca.
 
Last edited:
Pot sa confirm ca nici eu nu am avut vreun ajutor din partea SMART sa prezica decesul subit la peste 20-30 de discuri pe care le-am vazut murind in timp ce erau monitorizate. Il consider un nice feature, dar nu de incredere.
 
NAS-ul meu rulează un SMART long test lunar. Durează aproape juma de zi la fiecare disc, da' așa poate detecta mai din timp dacă un disc o ia razna. Mai face încă ceva - disk scrubbing. Tot cam o dată pe lună, cred - nu-mi amintesc de vreo setare pentru asta, dar pare să fie o idee bună să reîmprospăteze stocarea magnetică ocazional, și cu asta verifică și mai amănunțit dacă toate datele sunt citibile.

Momentan n-am timp să caut, da' am văzut acum câteva săptămâni un fel de miniPC-uri cu dotări de-astea. Dacă-s gata încapsulate într-o carcasă atunci sunt maxim routere cu poate 1 SATA și un NVMe, dar dacă te uiți după plăci de bază atunci mai apar și alte opțiuni, însă acolo e scârbă să găsești vreo carcasă decentă. Și din cauză de procesor alde N97 sau N100 nici nu poți să te întinzi foarte mult; nu au dual channel, nu au decât 1 lane PCIe, etc. Mă îndoiesc că au Intel ME dacă nu-s măcar Core, dar posibil să mă înșel. Era pe AliExpress un miniPC din ăsta care se lăuda cu 4 NVMe-uri sub capac, dar surpriză: nu merge decât cu 4 instalate, nu 3, nu 1, e o ciudățenie acolo.

Mai comercial/spălat așa e probabil un Odroid H4 Plus care are un N97 Alder Lake cu 4 core-uri și 4 thread-uri la 12W TDP și răcire pasivă, maxim 48GB memorie într-un singur modul DDR5, 1 NVMe gen3 cu 4 lane-uri, 4 SATA3, 2 porturi Ethernet de 2,5Gbit. Not bad, dar ei au mai pus accentul și pe a avea 3 monitoare, dual BIOS cu buton, etc. Astea costă și nu le vei folosi. Se găsesc combinații mai de nișă, dacă n-ai temeri legate de riscul producătorilor obscuri chinezi.
 
Am uitat sa mentionez, TrueNAS face scrubbing - citeste tot si verifica checksums pentru RAIDz. E configurat sa o faca lunar, se poate face si mai des dar depinde si de performanta discurilor, la 14 TB dureaza o mare parte dintr-o zi. Nu stiu daca rescrie ceva pe disc, dar cred ca nu.
 
Topton ITX, Intel N100 (4 core 4 threads, 6W TDP dar are și un spârc de ventilator pe radiator), 1 DDR5 SO-DIMM maxim 16GB, 2 NVME 2280 (deși unul e inscripționat SSD și celălalt NVMe, n-am idee de ce), 6 SATA3 (nu văd și nu scrie ce controller), 4 Intel 226 NIC 2,5Gbps, plus un slot pentru un PCIe x1, are și header pentru port serial, 2 USB2 + 2 USB3 la exterior, 1 USB2 intern + header pentru încă 4 USB2. Jumper pentru auto power on la alimentare, header pentru TPM (modulul pare a fi opțional). 136€ + TVA ca taxă vamală. Nu pare a fi rău deloc, carcasă ITX pentru până la 6 discuri nu e chiar imposibilă, Topton nu e chiar necunoscut...


Sau în varianta cu 2x 2,5Gbit + 1x 10Gbit, de data asta cu radiator pe controllerul SATA și cele două sloturi M.2 M-key dispuse perpendicular, făcând loc la o mufă dublă USB pe placa de bază (pentru boot de pe un stick USB de exemplu), și cu un slot microSD în spate, la 164€.


N100 are 9 lane-uri PCIe și duce maxim 16GB memorie. Cumva au împărțit lane-urile alea între rețea, NVMe și SATA încât probabil nu trag toate la maximul posibil, da' de la o placă de-asta de bază nici nu poți să te aștepți la mai mult.
 
Am adaugat la router un hdd-dock USB3 ordinar (non-UASP) cu 2 harduri SATA de 500 GB. La dock am pus alimentare separata fata de hub-ul USB3 la care e conectat, in caz ca se deconecteaza sa vad daca e problema la router/hub sau la dock. Am scris zerouri pe ambele simultan cap-coada si nu s-au deconectat.

Ca o prima incercare de a le folosi, dar fara sa risc ceva important, am vrut sa vad daca pot sa fac un cache la Areca pe ele ca sa nu mai frec toate cele 7 harduri din RAID (30s pana pornesc toate) cand mai am cate ceva minor de accesat de acolo.
Rezultat: fail maxim. Exista bcache, bcachefs, cachefs, fs-cache, dm-cache, si inca vreo 2 pe care nu le-am retinut. Nimic din astea nu-i aplicabil. Majoritatea necesta formatarea storage-ului de baza (Areca), nu doar a hardurilor cu cache-ul propriu-zis. Restul sunt pentru NFS exclusiv.
 
M-am jucat un pic cu layered caching pe ZFS, situatia pare mult mai buna decat ce ai patit tu. Cache la citire functioneaza binisor, am pus un disc SATA de 480 GB de prin sertar, l-am configurat intr-un pool existent si aia a fost tot. In versiunea mai veche de software il reseta la reboot, acum nu mai face asta si e util fix la accesat chestii minore. Cache de scriere nu imi trebuie, asa ca nu am incercat, dar din ce am auzit e la fel de simplu.
 
Doar a discului de cache, ca e dedicat, nu a celor cu datele. Nu face in temp folder amarat, OS vrea control total.
 
Google "truenas add cache to existing pool", sunt si articole si video. E specific pentru TrueNAS GUI, posibil sa aibe si CLI, pe Linux pariez ca e similar pentru ca TrueNAS migreaza si ei pe Linux, in productie din toamna trecuta.
 
Pai si cu ce ma ajuta daca n-am GUI-ul TrueNAS? Sau crezi ca eu ma uit la click-click pe un ecran si "vad" comenzile din spate?
 
Gasesti comenzile CLI prin tutoriale. Eu am folosit GUI, de-aia nu mi-am notat comenzi de CLI si nici linkuri, dar prin CLI se pot face chiar mai multe decat prin GUI. Asta daca folosesti ZFS, daca folosesti altceva ... eu povesteam strict de ZFS, nu de cele 42,000 de file systems si forks existente prin Linux.
 
Am spus clar: "M-am jucat un pic cu layered caching pe ZFS, situatia pare mult mai buna decat ce ai patit tu". Nu am zis ca am solutie pentru problema ta, ci ca in ZFS e mai simplu, ca folosesc asta si merge bine. Era o informatie despre stocare NAS si DAS.
 
Back
Top