Soluţie NAS pentru acasă

Cam prea multa bataie pentru ceva ce nu merge ok ca file server, ci cel mult ca network media player (DLNA). Si media servere sunt pe piata la preturi mai mici de 150 GBP.
 
Evident că dacă vrei doar media player e suficient Pi + alimentator, la ~35 GBP. Care nu e un preţ rău pentru un media player.
 
Upgrades

Upgrade la "nas" (acum la rang de home server middle-range)

Pentru că memoria de 8GB chiar mă limita la mașini virtuale, am înlocuit e35m1-m cu ceva mai serios:
Procesor i3 4130
MB Intel DQ87PG
RAM 8GB (vechi) + încă 16GB noi
SSD-ul Kingston pe care-l mai aveam prin casă (40GB) pentru OS + servicii
2 HDD-uri de 2TB (vechi)
2 HDD-uri de 4TB RAID1 (care au înlocuit 2x2.5TB pe care tocmai le vând)
Sursa veche, Corsair CX400
și dacă tot era bal, am luat și un cooler, Scythe Grand Kama Cross 2, care avea avantajul principal că exista în stoc și secundare că e paralel cu placa de bază (mai suflă și spre ea) și ai loc să schimbi memorii pe sub el fără probleme.

Primul lucru pe care l-am observat a fost că radiatorul e absolut imens, e lat aproape cât placa de bază. A fost ok de instalat, mai ușor decât Mugen 2 cel puțin, și ai loc foarte bine pe sub el pentru alimentări și schimbat memorii. Probabil merge fără probleme pasiv, dar încă n-am încercat. CPU-ul nu trece de 55 de grade în OCCT.

Un lucru extrem de plăcut a fost BIOS-ul Intel. Placa de bază e "desktop/business", dar are tone de opțiuni și tweaks pe care le întâlneai mai mult la gaming/overclocking MBs, de genul "cât de mult să ia în calcul temperatura [CPU/MB/memorii/PWM/etc] la modificarea turației ventilatorului [CPU/front/rear]" sau limitări de interval de multiplicatori pentru CPU, ca să fie mai low-power, setări fine de voltaj pentru toate componentele...

Poze:

"before"
IMG_7206_small.jpg

cooler-ul imens
IMG_7208_small.jpg IMG_7211_Small.jpg

first boot și montat în carcasă (fără toate componentele montate)
IMG_7214_small.jpg IMG_7215_Small.jpg

Windows-ul n-a zis nici pâs la trecerea de pe AMD pe Intel (mi-era cam teamă de AHCI, dar văd că s-a descurcat), iar boot-ul de pe SSD-ul lent (citire ~150-160MB/s, scriere 40MB/s) durează cam 25 de secunde, mult mai bine decât de pe HDD-ul obosit pe care îl foloseam înainte.

Partea faină e că acum nu folosesc chiar toată memoria, așa că VM-urile au I/O porcesc din cauza cache-ului.
vm_perf.png

Ce m-a mirat e că nu a crescut consumul. La boot sau când frec CPU-ul serios se cunoaște (ajunge la 100W la boot, cam 75W cu 2 cores+ utilizate), dar consumul mediu este de 51W, față de 52-53W cât aveam cu AMD-ul low power. Pe de altă parte, diferența de performanță e mare, atât la CPU cât și din cauza caching-ului.
 
Intel au in general power saving foarte bun, indiferent de TDP, ala conteaza practic doar daca le forjezi la maxim.

Intrebare: vreau sa fac un server si pentru parinti. Pe langa NAS ma batea gandul sa le transform jafurile de PC-uri (doua, unul cu Ubuntu, unul cu W7) in thin clients. Utilizare anosta -- office, web -- si nimic local, vrei imprimanta sau stick te duci la server. Ce fel de hardware si bandwidth trebuie sa aiba serverul pentru a duce asta? Si eventual daca puteti recomanda o solutie software -- eu ma gandeam la Xen pentru ca tocmai au scos client pentru Raspberry Pi, care poate locui pe spatele monitorului si alimenta din USB-ul lui.
 
Inainte de a muta pe cineva pe thin clients as face intai o proba. Nu am folosit decat Win TS pe post de server, asa ca nu as putea spune care e configuratia optima pentru un server Xen, dar orice computer actual (gen dual-core, 4+ GB de RAM) ar trebui sa faca fata fara probleme. Nu conteaza ce retea este atata timp cat e LAN, eu ma conectam la un server TS in SUA din Bucuresti fara probleme (si latenta era peste 100ms).

Miahi, eu am pus un SSD de 60 GB pe post de disk cache in NAS (FreeNAS + ZFS) si pe LAN Gigabit cu un singur client nu s-a vazut diferenta, cu mai multi nu am testat pentru ca desi NAS-ul este shared concurenta e mica. Face boot de pe un stick USB asa ca pana la urma nu am avut ce face cu SSD-ul in NAS, l-am dat afara. In schimb am pus discurile in RAID5, ca nu mai aveam spatiu (acum sunt 3x4GB).
 
Deci cam ce recomandări ar fi la sisteme de operare pentru NAS? Mă tot dau pe sites cu configurații diverse, dar mă interesează în general ce ar fi cel mai ok pentru siguranța datelor. Am auzit din anumite surse că ZFS fără ECC RAM este cam disaster waiting to happen, dar nu-mi prea arde de căutat RAM ECC registered sau chestii de genul plus mobo compatibilă etc.

Mulțumesc.
 
So don't. :smile: Eu ţin array-ul pe ext4 şi rulez din când în când chestii de genul ăsta:

Code:
echo check > /sys/block/md0/md/sync_action

Code:
tar c /dir/of/raid/filesystem > /dev/null

Nu confunda RAID, adică redundanţa, cu siguranţa. Nu cred că are rost să exagerezi cu măsurile de genul ăsta pe NAS. Pentru siguranţă şi backup pe care te poţi baza ai nevoie de soluţii incrementale, pe medii multiple, stocate în alt loc decât cele principale. De exemplu copiat periodic fişierele cele mai importante pe suport optic (sau pe bandă, e considerată varianta cea mai durabilă pe termen lung), stocate la altă locaţie decât sistemul NAS.

Ca sistem de operare folosesc Debian stable, dar nu te ajută dacă nu "ştii" Linux, eu îmi fac toată treaba din linia de comandă.
 
Deocamdată învăț *nix, că m-a mâncat să-mi iau un Mac :smile: It's p. cool, multe comenzi sunt comune între Linux și OS X, deja mă gândesc cum să trec complet pe așa ceva OS-wise (merge și Mac OS pe PC, dar e ceva mai complex, mai degrabă ar intra un Linux, dar virtualizarea este mult mai varză).

Nu prea înțeleg eu cum se petrece treaba când se adaugă HDDuri în diversele situații (RAID, ZFS), din umilele mele cunoștințe RAID 0 trebuie reconstruit complet, RAID 1 nu știu.

Mă uitam la UnRaid, care mi se pare o soluție foarte interesantă, deși trebe plătit pentru >3 HDDuri, am fix 3 HDDuri de 1TB de care nu mai am nevoie și pe care pot testa soluția.

Mă interesează să am un loc de stocare cât mai sigur. Cu mediile suplimentare tot caut o soluție, blurayurile de 50GB sunt scumpe cu spume și nici alea de 25GB nu au scăzut prea mult în preț. Suna bine discuri de 100GB, dar alea costă cât un HDD, deci soluția este oarecum evidentă în prezent.
 
Un disc de 25 GB e ~6 lei, deci 0.24/GB, comparativ cu HDD unde e 0.18.

În altă ordine de idei, nu-mi plac soluţiile cu elemente proprietare. De asta nu am apelat niciodată la o incintă dedicată, pentru că au surse proprietare, sisteme de operare proprietare, uneori soluţia RAID e proprietară. Prefer variantele DIY cu componente ATX, pentru că-s disponibile oricând şi ieftin, mai ales la SH.
 
Miahi, eu am pus un SSD de 60 GB pe post de disk cache in NAS (FreeNAS + ZFS) si pe LAN Gigabit cu un singur client nu s-a vazut diferenta, cu mai multi nu am testat pentru ca desi NAS-ul este shared concurenta e mica. Face boot de pe un stick USB asa ca pana la urma nu am avut ce face cu SSD-ul in NAS, l-am dat afara. In schimb am pus discurile in RAID5, ca nu mai aveam spatiu (acum sunt 3x4GB).

Păi e clar că n-are rost SSD cache dacă n-ai o bază de date cu utilizatori concurenți pe storage-ul ăla (și în cazul ăsta mai bine pui direct redo/transaction logs pe SSD, măcar cu 2 membri fiecare). Performanța HDD-urilor mari oricum e suficient de bună ca să fii limitat de rețea, nu de storage, dacă n-ai acces concurent - și chiar și atunci, dacă nu e random access.

OS-ul meu e Windows, și dacă vreau backup bare metal din OS trebuie să am grijă să țin toate serviciile pe C:, pentru că vrea să facă backup la toate discurile care au servicii pe ele. A mai fost o fază faină cu o bază de date Oracle, se pare că-și pune niște servicii care să asigure un backup cât de cât consistent atunci când faci backup la Windows, adică dacă ai un Oracle DB pe o mașină Windows și vrei să faci un backup bare metal, trebuie ori să oprești baza înainte de backup, ori să bagi baza în archivelog mode - altfel Win îți zice că nu poate să facă backup (cu un cod de eroare obscur, am săpat vreo oră să înțeleg ce are). Dacă am tot frecat la HDD-uri, mai trebuia câte un reboot, și pe HDD-ul vechi de boot stăteam o groază (mai ales că, fiind headless, nici nu îmi puteam da seama dacă bootează corect sau n-am pus bine vreun cablu sau altceva). Am tot încercat să găsesc o altă utilitate SSD-ului de 40, dar e prea mic pentru un desktop OS, prea lent pentru chestii serioase și oricum celelalte PC-uri care puteau avea un SSD au cel puțin unul. La vremea lui a fost ok, dar acum un SSD de 2-300 lei e mult mai rapid+mare.

Cu 4+2+2TB încă n-am probleme de spațiu (cele de 2TB n-au redundanță, dar pe ele am chestii temporare care pot să dispară). Scăpam mai ieftin dacă ar fi cooperat HDD-urile de dimensiuni diferite într-un RAID5 de 2.5x3 (+1.5 rămași din cel de 4TB), dar n-a fost să fie. Când o să fie cazul mai pun și eu un 4TB pentru RAID5 (dar având în vedere experiența curentă, ar fi bine să iau un hdd la fel cât mai curând, să nu dispară de pe piață, că poate modelele noi de aceeași dimensiune merg tot prost împreună).

wirespot, bine spui de siguranță. RAID-ul te ferește cât de cât de bușeli hardware, dar dacă îți corupi datele cu mâna ta (sau cu vreun virus/etc) nu te ajută la nimic. Un RAID accesibil tuturor nu e un backup, e doar redundant storage - backup-ul trebuie protejat la scrieri accidentale și ar fi foarte bine să fie și versionat. Eu sincronizez RAID-ul în CrashPlan cloud (100% din disc), pe un HDD băgat în calculatorul alor mei (chestiile mai importante) și pe HDD-uri externe (câteva discuri de 1.5T-750GB). Încă nu am un plan perfect, dar în principal folosesc HDD-urile non-RAID pentru temporary work, mașini virtuale, etc, iar de pe ele se fac backup-uri (versionate, când se poate) pe RAID. Din păcate nu sunt suficient de ordonat ca să folosesc numai acces read-only pe backups, mai lucrez la asta.
 
Un disc de 25 GB e ~6 lei, deci 0.24/GB, comparativ cu HDD unde e 0.18.

În altă ordine de idei, nu-mi plac soluţiile cu elemente proprietare. De asta nu am apelat niciodată la o incintă dedicată, pentru că au surse proprietare, sisteme de operare proprietare, uneori soluţia RAID e proprietară. Prefer variantele DIY cu componente ATX, pentru că-s disponibile oricând şi ieftin, mai ales la SH.

UnRAID merge instalat fără probleme pe hardware pe care-l ai tu acasă, nu văd care-i treaba aici :smile:

Crashplan l-am folosit, nu mă simt teribil de încântat de el, caut o soluție hardware + software care să fie cât mai low power și care să permită în primul rând stocare foarte sigură (motiv pentru care am amintit de ZFS) și în al doilea rând poate mașini virtuale cu care să mă joc (deși am SSD de 1TB pe MBP, am doar vreo 50GB liberi pe el după ce am transferat tot ce-mi trebe). Dar aș putea supraviețui fără probleme cu ceva de stocare și backup bun pentru că urmează un upgrade la 4G și conexiunea de acasă este relativ rapidă pentru transfer de fișiere care ar putea deveni necesare urgent.
 
Deci cam ce recomandări ar fi la sisteme de operare pentru NAS?
Nu ma prind care e intrebarea concreta pentru ca din discutia ulterioara nu pare a fi despre OS, ci despre siguranta datelor. OS conteaza probabil cel mai putin.

Vad ca nici variantele de RAID nu iti sunt prea clare. Pe scurt, RAID0 inseamna zero redundanta (nu de acolo vine zeroul, dar se potriveste la fix), RAID1 inseamna 2 copii pe 2 discuri ale fiecarui bit, RAID3 si 4 sunt precursori nu prea straluciti de RAID5 care ofera raportul cel mai mare de date utile per total storage. ZFS e un filesystem, nu un sistem RAID, care aduce o oarecare siguranta prin jurnalizare si alte masuri (pentru detalii tehnice Google e prietenul tau), RAID-Z este un sistem RAID similar cu RAID5 sub ZFS; cred ca e una din cele mai sigure combinatii posibile.

Daca vrei ZFS ai de ales orice OS care are suport ZFS, gen FreeBSD, OpenSolaris, sau un pachet de software NAS bazat pe unul din aceste sisteme de operare, gen FreeNAS. Eu personal folosesc FreeNAS cu RAIDZ si ZFS, dar nu pretind ca detin adevarul absolut despre nimic :tongue:

Povestea cu ZFS fara ECC RAM este adevarata doar daca prin comparatie accepti ca orice OS fara ECC RAM e un atentat la siguranta oricaror date din Univers. Da, e mai bine cu ECC dar probabil iti salveaza vreo 1 MB la fiecare 100 TB de date stocati pe o perioada de vreo 5 ani (cifre din burta, guestimate).
 
În legătură cu ZFS și non-ECC, mie mi s-a dat linkul ăsta și m-a cam convins :smile:

Variantele de RAID îmi sunt oarecum clare, oricum n-aș folosi controllerul din placa de bază, ci ceva separat, PCIe, care să ducă RAID hardware.

Sistemul de operare mi se pare cel mai important tbqh, pentru că ZFS nu este suportat decât de câteva cu care n-am avut niciodată tangențe, dar modul în care lucrează cu datele mi se pare că oferă cam cea mai faină protecție (acele alte măsuri, că jurnalizarea este întâlnită la orice sistem de fișiere modern).

Motivul pentru care Unraid mi se pare atât de atractiv:
output_8lynnT.gif

output_Owaq60.gif


Până la urmă cred că-i tot trial and error :frown:
 
Daca citesti toata discutia descoperi ca nu prea are ce sa te convinga: fara ECC orice computer cu orice filesystem poate sa aibe probleme, chiar si ZFS, dar nu cred ca ZFS e mai vulnerabil decat altele ci mai putin vulnerabil; mai adaugi un scrub periodic si e chiar mai putin vulnerabil decat altele. Singurul care poate avea probleme serioase e FAT32 al lui Marius'95 cu un singur FAT, daca ai o eroare intr-un bloc de allocation table ai pus-o.

UNRAID din ce vad e o gogomanie, doar trebuie sa stii cum functioneaza RAID si de ce. E o gogomanie care functioneaza partial ca RAID1, dar pe dos, si daca nu esti atent nu te prinzi cat de aiurea e conceptul. As stupid as it does.
 
Păi explică, eu din ce am înțeles poți avea de exemplu 6 HDDuri de 4TB și să folosească doar unul pentru paritate, C/D? (confirm/deny) Din asta eu trag concluzia că este mai puțin hrăpăreț cu datele decât un RAID 5, fiind în același timp la fel de sigur. Ce nu prea pricep este ce se întâmplă dacă îți crapă discul de paritate?
 
Pai asta e exact ce face RAID5 - foloseste doar un disc pentru paritate. Foloseste un disc pentru paritate e oarecum impropriu spus, paritatea este distribuita egal pe toate discurile, nu este un disc dedicat exclusiv doar pentru paritate.

Nu inteleg ce vrei sa spui pring "hrăpăreț cu datele" - daca asta inseamna ca orice bloc este scris pe toate dscurile atunci asta nu este un bug ci un feature pentru ca folosesti toate spindle-urile disponibile deci ai performante superioare.
 
Am luat o VM de unRAID v5 să înțeleg cum funcționează, că nu mi-era clar din ce pălărie ar putea scoate datele picate. Concluzia e simplă: nu le scoate de nicăieri.

Fiecare disc e văzut separat (nu unifică storage-ul) și pune kindof parity pe discul de parity. Cum discul de parity poate fi la fel de mare cât celelalte, e clar că nu poate să copieze 100% datele pe parity (deci nu e chiar RAID1), așa că nu mi-era clar, dacă pică un disc de date, de unde le recuperează. Pe de altă parte, dacă freci câteva discuri cu writes în paralel, discul de paritate o să se dea cu capetele de toți pereții (deci șanse mai mari să pice discul de paritate în principal). Presupun că de-aia e marketed ca media storage, că la altceva nu ține. Înțeleg că se poate pune un cache disk SSD, să facă buffering la parity pe ăla.

Acum ce văd eu în VM:
- când scrii, scrie pe parity și pe discul pe care scrii.
- când citești, citește doar de pe discul de date, nu pare să verifice dacă a citit corect. Aici e posibil să fie totuși o chestie de VM, poate dacă face RAM caching nu se mai aprinde "becul" de la HDD.

Am scris niște date pe unul din discuri (SMB share), cu verificare MD5
unraid_1_ok.png

după care am dat cu toporul, să vedem unde crapă:
Code:
dd if=/dev/zero of=/dev/hdc bs=51200

Ce s-a întâmplat a fost că datele s-au bușit:
unraid_2_changed.png

Am dat check parity din interfață, mi-a zis că a reparat 56800 de erori. Aici mai e o chestie, singura opțiune la check parity e "Correct any Parity-Check errors by writing the Parity disk with corrected parity." - din asta înțeleg că dacă datele-s bușite, vrea să updateze parity disk și cam atât.
unraid_3_parity.png

Am încercat să calculez iar MD5-ul, dar mi s-a bușit și programul cu care făceam MD5, iar device-ul s-a cam dus:
unraid_4_err.png

I-am dat un reset, după reboot zice că discul respectiv e unformatted, singura opțiune fiind format.

Concluzia: îi zice unRAID pentru că n-are vreo legătură cu redundanța; tot nu mi-e clar cu ce are legătură, pentru că un singur disc de paritate de, să zicem, 1TB nu are cum să țină date pentru a recupera 2 discuri de 1TB. Dar se pare că nici măcar dacă ai date mai puține nu merge. Poate am fost eu prea dur cu sistemul :biggrin:.
 
Miahi la datorie ca de obicei, excelentă treabă ai făcut acolo, mulțam frumos!

Niște teste cu un RAID-Z în aceleași condiții? :biggrin:
 
Well, oricum vroiam să fac o VM cu Solaris, că nu m-am mai jucat de vreo 3 ani cu așa ceva, dar e ceva mai mult de muncă.

BTW, am făcut aceleași teste cu RAID 5 din Win 2008 înainte să încerc în mașină fizică, și a supraviețuit la:
- suprascriere 1 disc
- dispariție 1 disc
- mutare pe altă mașină (N discuri)
- mutare pe altă mașină (N-1 discuri)
- mutare înapoi pe mașina inițială

N-am făcut teste de write hole, dar e clar că e mai bine cu RAID-Z în cazul ăsta (copy on write), dacă nu te roade performanța prea rău.

Cu RAID1 din Windows am făcut testele direct pe mașina fizică, pentru că nu contează ce crapă, tot le recuperezi cumva :smile:.
 
Back
Top