ZFS – Este RAIDZ-1 chiar atât de rău? (Administrarea sistemului, Zfs, Freenas, Raidz)

Andrew Ensley a intrebat.

Am un server NAS cu 4 unități WD RE4-GP de 2TB într-o configurație RAID10 (4TB utilizabili). Nu mai am spațiu (<1TB spațiu utilizabil rămas). Am 0 $ pentru a cheltui pe unități mai mari / mai multe unități / carcase.

Îmi place ceea ce am citit despre caracteristicile de integritate a datelor ale ZFS, care – de una singură – sunt suficiente pentru a trece de la RAID10 XFS (software) existent. Apoi am citit despre implementarea superioară a RAID5 de către ZFS, așa că m-am gândit că aș putea obține chiar și până la 2 TB mai mult spațiu utilizabil folosind RAIDZ-1.

Cu toate acestea, am continuat să citesc mai mult și mai multe mesaje care spun că nu trebuie să folosesc niciodată RAIDZ-1. Numai RAIDZ-2+ este suficient de fiabil pentru a face față defecțiunilor de unități din „lumea reală”. Desigur, în cazul meu, RAIDZ-2 nu are niciun sens. Ar fi mult mai bine să folosiți două vdev-uri în oglindă într-un singur pool (RAID10).

Sunt nebun dacă vreau să folosesc RAIDZ-1 pentru 4 unități de 2TB?

Ar trebui să folosesc doar un pool de două vdev-uri în oglindă (în esență RAID10) și să sper că compresia îmi oferă suficient spațiu suplimentar?

În orice caz, intenționez să folosesc compresia. Am doar 8 GB de RAM (maxim), așa că deduparea nu este o opțiune.

Acest lucru va fi pe un server FreeNAS (pe cale să înlocuiască sistemul de operare Ubuntu actual) pentru a evita problemele de stabilitate ale ZFS-on-Linux.

Comentarii

  • Nu sunt sigur că acest lucru este off-topic. Cer sfaturi despre configurația corectă a sistemului de fișiere pentru un server. –  > Por Andrew Ensley.
  • De asemenea, viteza de scriere a RAIDZ1or2 este nașpa în comparație cu RAID10 –  > Por JamesRyan.
  • Dacă aveți suficient CPU pentru a calcula paritatea fără încetinire, RAIDZ ar trebui să fie la fel de rapid sau mai rapid decât RAID10 pentru majoritatea scrierilor. RAIDZ scrie totul într-o bandă RAID completă, nu există un ciclu de citire-modificare-scriere ca în cazul RAID5. Astfel, veți obține mai multă lățime de bandă pe disc (mai multe date, mai puține cheltuieli generale), iar scrierile ar trebui să fie mai rapide decât RAID10. Cu toate acestea, acest lucru are dezavantajul că citește sfârșesc adesea prin a fi mai lente. „Scrieți o bandă completă de fiecare dată” duce la fragmentare și nu vă oferă avantajul de a citi doar un subset de discuri pentru multe lecturi mici. Aceasta a fost o decizie de proiectare conștientă. –  > Por Dan Pritts.
  • Ceea ce am spus mai sus este doar parțial adevărat. RAID10 va fi mult mai rapid dacă aveți scrieri mici simultane, de exemplu, un server de baze de date. În RAIDZ, toate discurile sunt active pentru toate scrierile; RAID10 le împarte. Ceea ce încercam să subliniez este că RAIDZ elimină ciclul de citire-modificare-scriere, care distruge performanța și poate fi nesigur, din RAID5. –  > Por Dan Pritts.
  • RAIDZ2 este mai fiabil decât RAID10. Cu RAIDZ2, oricare două discuri pot ceda și veți avea în continuare datele dumneavoastră. Cu RAID10, două discuri defecte (într-o matrice de patru discuri) pot cauza pierderea datelor. –  > Por Klaws.
3 răspunsuri
Dan Pritts

Înainte de a intra în detalii, luați în considerare cazul dvs. de utilizare. Stocați fotografii, fișiere MP3 și DVD-uri copiate? Dacă da, s-ar putea să nu vă pese dacă pierdeți permanent un singur bloc din matrice. Pe de altă parte, dacă este vorba de date importante, acest lucru ar putea fi un dezastru.

Afirmația conform căreia RAIDZ-1 „nu este suficient de bun pentru eșecurile din lumea reală” se datorează faptului că este posibil să aveți o eroare de suport latentă pe unul dintre discurile supraviețuitoare atunci când va veni momentul reconstrucției. Aceeași logică se aplică și în cazul RAID5.

ZFS atenuează într-o oarecare măsură acest eșec. În cazul în care un dispozitiv RAID5 nu poate fi reconstruit, nu prea aveți noroc; copiați datele (rămase) și reconstruiți de la zero. Pe de altă parte, cu ZFS, acesta va reconstrui totul, cu excepția părții defecte, și va permite administratorului să „elimine” erorile. Veți pierde un fișier/porțiune de fișier, dar nu veți pierde întreaga matrice. Și, bineînțeles, verificarea parității de către ZFS înseamnă că veți fi informat în mod fiabil că există o eroare. În caz contrar, cred că este posibil (deși puțin probabil) ca mai multe erori să ducă la o reconstrucție care aparent reușește, dar care vă va returna date eronate.

Deoarece ZFS este un sistem „Încălcarea flagrantă a stratificării,” știe, de asemenea, ce zone nu au date pe ele și le poate sări în reconstrucție. Prin urmare, dacă matricea este pe jumătate goală, există jumătate din șansele de a avea o eroare de reconstrucție.

Puteți reduce probabilitatea acestor tipuri de erori de reconstrucție la orice nivel RAID prin efectuarea regulată a următoarelor operațiuni „zpool scrubs” sau „verificări mdadm” ale matricei. Există comenzi/procese similare pentru alte RAID-uri; de exemplu, cardurile RAID LSI/dell PERC PERC numesc acest lucru „patrulă de citire”. Acestea citesc totul, ceea ce poate ajuta unitățile de disc să găsească sectoarele care nu funcționează și să le realoce, înainte ca acestea să devină permanente. În cazul în care acestea devin permanente, sistemul RAID (ZFS/md/carte RAID/ceva) poate reconstrui datele din paritate.

Chiar dacă folosiți RAIDZ2 sau RAID6, este important să efectuați periodic scrubs.

O notă finală – RAID de orice fel nu este un substitut pentru copiile de rezervă – nu vă va proteja împotriva ștergerilor accidentale, ransomware etc. Deși instantaneele ZFS regulate pot face parte dintr-o strategie de backup.

Comentarii

  • Mulțumesc pentru această explicație. Are mult sens și se potrivește cu ceea ce am învățat până acum despre ZFS. De fapt, mi-am reîncărcat deja serverul cu FreeNAS și am optat pentru configurația RAIDZ-1. L-am setat pentru a face scrub o dată pe lună. Credeți că este suficient de des sau ați recomanda o curățare mai frecventă? Încălcarea galopantă a stratificării este caracteristica mea preferată a ZFS 🙂 –  > Por Andrew Ensley.
  • Am un raidz1 care rulează pe 7 unități de consum de diferite vârste. Îl pun să facă scrub la fiecare 2 săptămâni. Adesea găsește o eroare și o corectează. Recent, am pierdut o unitate și am pierdut un fișier care avea o eroare latentă. Din fericire, a fost un fișier media pe care îl pot înlocui cu ușurință. Pentru datele mele importante, am în continuare, bineînțeles, copii de rezervă. –  > Por Dan Pritts.
  • Voi sublinia – unitățile „de uz casnic” au o rată de eroare de biți nerecuperabili cu 2 ordine de mărime mai mică decât cele de tip „enterprise”. Sunt încă destul de mulțumit de faptul că rata de eroare compusă pe RAID-5 este acceptabilă pe unități FC/SAS decente. Totuși, nu aș face acest lucru pe SATA. –  > Por Sobrique.
  • Doar un ordin de mărime comparând două unități Seagate: Seagate ST2000DM001: 1 în 10E14. ST2000NM0033: 1 în 10E15. Într-adevăr, totuși, greu de spus cu siguranță dacă mecanismele de unitate sunt diferite. Am auzit surse credibile dând răspunsuri opuse. –  > Por Dan Pritts.
  • Am descoperit un cablu SATA defect la sistemul meu – de când a fost înlocuit, scruberile mele au găsit zero erori. –  > Por Dan Pritts.
Sobrique

Există o mică concepție greșită la mijloc aici. Multe dintre sfaturile pe care le vedeți se bazează pe o presupunere care poate să nu fie adevărată. Mai exact, rata de eroare de bit irecuperabilă a unității dvs.

Un disc ieftin pentru „utilizatori casnici” are o rată de eroare nerecuperabilă de 1 la 10^14.

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

Aceasta este la un nivel la care există o probabilitate semnificativă de eroare irecuperabilă în timpul unei reconstrucții RAID și, prin urmare, nu ar trebui să faceți acest lucru. (Un calcul rapid și murdar sugerează că un set RAID-5 de 5 discuri de 2 TB va avea de fapt o probabilitate de aproximativ 60 %).

Cu toate acestea nu este adevărat pentru discurile mai scumpe:http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 la 10^16 este de 100x mai bun – ceea ce înseamnă că 5x 2TB este <1% șanse de reconstrucție eșuată. (Probabil mai puțin, deoarece pentru utilizarea în cadrul întreprinderilor, axele de 600 GB sunt în general mai utile).

Deci, personal – cred că atât RAID-5, cât și RAID-4 sunt încă eminamente utilizabile, pentru toate motivele pentru care RAID-0 este încă destul de comun. Nu uitați – problema cu RAID-6 este penalizarea mare la scriere. Puteți atenua parțial acest lucru cu o mulțime de cache, dar tot aveți o anumită durere încorporată, mai ales atunci când lucrați cu unități lente în primul rând.

Și, în mod fundamental, nu vă încredeți NICIODATĂ NICIODATĂ în RAID pentru a vă oferi o reziliență completă. Veți pierde date mai des din cauza unei „oops” decât din cauza unei defecțiuni a unei unități, așa că aveți NEVOIE de o strategie de backup decentă dacă vă pasă de datele dumneavoastră.

Comentarii

  • Eu folosesc 4 unități WD RE4-GP, care au <1 din 10^15 erori de citire nerecuperabile. –  > Por Andrew Ensley.
  • Penalizarea RAID6 la scriere este foarte reală. Cu toate acestea, RAID-Z2 nu suferă de ea; zfs face toate scrierile full-stripe. Totuși, acest lucru are și alte efecte negative – tinde să reducă performanța la citire din mai multe motive. –  > Por Dan Pritts.
  • Oau, o atenționare excepțională cu privire la ratele de eroare irecuperabile, în mod normal, gândindu-mă la asta mi-ar da fiori în cap, dar acesta este un avertisment foarte important! –  > Por Tmanok.
ewwhite

Hmmm, niște informații proaste aici. Pentru 4 discuri, nu e chiar nimic în neregulă cu XFS. Tind să evit ZFS RAIDZ din motive de performanță și de extensibilitate (lecturi/scrieri reduse, nu pot fi extinse). Folosiți oglinzi ZFS dacă puteți. Cu toate acestea, cu 4 discuri și fără a avea unde să vă plasați sistemul de operare, fie veți pierde o mare parte din capacitate, fie va trebui să treceți prin jocuri ciudate de partiționare pentru a vă potrivi sistemul de operare și datele pe aceleași patru discuri.

Probabil că nu v-aș recomanda ZFS pentru cazul dvs. de utilizare. Nu este nimic în neregulă cu XFS aici.

Comentarii

  • Ați uitat să menționați că sistemul de operare locuiește pe o unitate separată. Îmi pare rău. Ceea ce îmi doresc de la ZFS și pe care XFS RAID10 nu îl are este o verificare a sumelor de control a datelor care poate detecta (și repara în mod transparent) erorile de date silențioase (un bit răsturnat pe unitatea de disc, iar HDD-ul nu are nicio idee). Nu cred că XFS este capabil să facă acest lucru. –  > Por Andrew Ensley.
  • Pentru patru discuri, utilizați oglinzi ZFS dacă există vreo șansă să aveți nevoie de extindere sau dacă performanța este importantă. De asemenea, aș evita FreeNAS și aș folosi doar ZFS direct pe Linux. –  > Por ewwhite.
  • Eu sunt un tip de terminal, așa că în mod sigur nu voi schimba pentru GUI. În mare parte, am nevoie doar de un sistem de fișiere stabil care (pe cât posibil) garantează integritatea fișierelor stocate pe el. Și speram să câștig ceva spațiu în acest proces. Am văzut o mulțime de probleme raportate pentru ZoL, multe dintre ele legate de actualizările sistemului de operare Ubuntu. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… Nu încerc să fiu o pacoste. Doar explic de ce cred ceea ce cred. Cu siguranță sunt deschis la corecții. –  > Por Andrew Ensley.
  • Nu-i nimic. Am văzut mult mai multe probleme cu FreeNAS (nu cu FreeBSD), așa că este valabil în ambele sensuri. Există informații. Eu nu folosesc Ubuntu, dar folosesc cunosc ZFS. ZFS-ul meu pe Linux este de obicei cu RHEL sau CentOS. Iată un exemplu de flux de lucru. –  > Por ewwhite.
  • Folosesc ZFS pe Linux și Centos 6. Nu permit actualizări automate ale kernelului sau ale ZFS. Am avut probleme cu borking-ul ZFS/SCL, dar nu am avut niciodată pierderi de date. Pentru înregistrare, btw, FreeBSD are un set similar de rutine de compatibilitate cu Solaris, dar acestea și ZFS sunt complet integrate în distribuție, ceea ce face mult mai simplu să faci lucrurile să funcționeze împreună. Dacă aș fi vrut doar ZFS și serviciul de fișiere, probabil că aș fi rulat FreeBSD. De fapt, asta obișnuiam să fac, dar folosesc cutia pentru alte lucruri aleatorii, ceea ce a făcut ca ZoL să fie mai atrăgătoare. –  > Por Dan Pritts.