RAID

Fals. Tu nu intelegi cum functioneaza un hard azi. Si nici cei care ti-au dat like nu inteleg.

1) Aia cu sincronizarea se facea in anii 80 cand hardurile nu aveau buffer. Sincronizarea se facea fizic; hardurile isi modificau viteza de rotatie astfel incat sa se sincronizeze. Vezi pinul SSync, reutizat apoi pentru CSEL.

2) Intrucat majoritatea operatiilor (in general, nu doar RAID) sunt pe mai multe sectoare consecutive, toate hardurile de azi fac read-ahead la tot cilindrul fizic. Nu conteaza ca sectorul dorit se nimereste sa fie sub cap sau pe diagonala in partea ailalta. Hardul incepe citirea de pe disc in buffer sau scrierea din buffer pe disc imediat ce a ajuns deasupra track-ului, nu conteaza ce sector e acolo. Ori are deja datele de scris pentru sectorul ala in cache si incepe sa scrie cu sectorul care se nimereste sub cap, ori face read-ahead ca foarte probabil sectorul va fi cerut mai tarziu.

3) Sa astepti sa se invarta discul pana la sectorul corespunzator nu e acelasi lucru cu seek (am zis ca face f. mult zgomot, da?).

4) Am activat write cache, deci orice ne-sincronizare devine total irelevanta. Performanta n-a crescut nici pe departe pana la nivelul celui mai lent hard. A facut 1% in 10 min. Si zgomotul ala de seek a devenit ceva mai neregulat si mai putin intens, dar persista.

Intre timp caut un firmware cu RAID pentru controllerul PATA (un CMD 649 sinistru, dar n-am altul). Daca imi reuseste, fac RAID0 din controllere si RAID1 din Windows.
 
Last edited:
Deci sa analizam un pic:
1. Se da un fenomen, viteza HDD mica in RAID.
2. Tu spui ca explicatia este motivul este ca RAID in Windows sux.
3. Vine miahi si zice ca nu-i chiar asa, apoi explica exact de ce se intampla asta.
4. Tu il contrazici, ca nu asa functioneaza HDD-urile in ziua de azi.
5. Totusi fenomenul explicat de miahi continua sa se intample.

Pai daca tu ai dreptate la punctul 4, atunci de ce ai vitezele alea jenante pe RAID? A da, pentru ca Windows sux, explicatia perfecta...

Eu nu stiu care are dreptate, doar zic asa, cum se vede din afara.
 
Bine, sa faca el un test sa-mi demonstreze ca-s hardurile si sistemul meu de vina.
Oh wait! Cineva a testat deja. Bah, da' ce bun e google-ul asta! Si culmea, e si cu Win10!

Imi dai voie sa trag concluzia ca Windows intre 2003 si 10 sux la RAID5?
 
Vorbești de un buffer de 8-16 mega când tu ar trebui să scrii zeci de MB/s. Și n-am zis că performanța va fi cea de la cel mai lent HDD, ci va fi mai proastă. Și știam că o să te legi de accesul la nivel de bloc, dar și dacă vorbim de mai mult, tot ajungi la cache starvation. Ok, windows sux, mult succes cu linux în aceeași configurație. La HDD-urile tale diferențele-s colosale, de la interfață, viteză maximă de accesare a cache-ului, geometrie, număr de platane, totul e diferit, dar e de la windows :smile:. Poți să găsești un articol și pentru buffering-ul ăla deștept, în afară de NCQ care nu există pe PATA (există TCQ, dar nu prea e folosită)?

Eu tot ce pot să-ți spun că am avut performanță peste 100MB/s inclusiv la rebuild pe RAID5 cu 3 HDD-uri de 4TB la fel. Care erau montate ca discuri virtuale într-un VM (esxi). Când am făcut un RAID5 cu cele 3 HDD-uri identice + unul diferit (culmea, mai rapid, 7200rpm în loc de 5900) s-a dus naibii totul, performanța a scăzut sub 30MB/s, ca și tine, nici n-am mai așteptat să se termine rebuild-ul, că dura prea mult. I-am suflat în fund zile, n-am scos nimic din el - și știam că cu 3 identice mersese perfect. Până la urmă am cumpărat încă 2 HDD-uri ca primele și a mers totul ok.

Articolul ăla se referă la SSD-uri; da, la nivelul de viteză al SSD-urilor soluțiile software NU mai au aceeași performanță, pentru că ajungi la CPU bottlenecks. Articolul începe cu disclaimer-ul
Update: Turns out I was pretty wrong about Storage Spaces and have been totally schooled and corrected about them here, on Reddit and at Redmond. I’ll be revising this post heavily, adding some iometer numbers. Stay tuned!
pe care nu l-a mai continuat vreodată, n-a apărut vreun test iometer nicăieri. Și nu înțeleg partea cu "am pierdut un ssd din mirror, și n-aveam backups, așa că am pierdut tot".

Din păcate nu mai am 3 HDD-uri la fel nefolosite, ca să pot testa corect. Aș putea testa o struțocămilă ca a ta cu unul din controllerele M5015 de backup, dar trebuie să fac rost de cabluri.

BTW, și Windows 2000 avea RAID5.

Uite, am făcut niște teste într-o mașină virtuală pe laptop. Situația e cam așa:
2 SSD-uri de 1TB fiecare, Samsung 960/970, care merg cam așa pe host
crystal_host.png
Windows 2008 într-o mașină virtuală (asta foloseam și la RAID-ul meu software de pe NAS), cu 4 core-uri alocate și 4GB RAM, cu 5 discuri virtuale (plus unul de boot), 3 pe un SSD, 2 pe celălalt SSD, de 40GB prealocate. Făcut RAID5 din ele, resync-ul se face cu ~700+200MB/S.

2.png
Acum văd că am uitat că la RAID rebuild nu se rescriu toate stripe-urile, ci se rescriu doar CRC-urile bazat pe ce citește (whatever it is) de pe celelalte HDD-uri. Nu schimbă logica din precedentul post, doar poate explica mai bine de ce apar seek-uri, că nu face full write ci alternează read/write, cam așa.

Code:
HDD1 WRRRRWRRRRWRRRRWRRRRWRRRRWRRRR
HDD2 RWRRRRWRRRRWRRRRWRRRRWRRRRWRRR
HDD3 RRWRRRRWRRRRWRRRRWRRRRWRRRRWRR
HDD4 RRRWRRRRWRRRRWRRRRWRRRRWRRRRWR
HDD5 RRRRWRRRRWRRRRWRRRRWRRRRWRRRRW
timp -->

Anyway, pornit crystal diskmark pe RAID5, rezultatul e ăsta:

E_RAID5.png

La testul al treilea se întâmplă lucruri ciudate cu vmware-ul, nu mai răspunde perioade lungi (kindof se blochează toată mașina virtuală, aparent fără să facă nimic, își revine după minute), așa că nu pot spune dacă este corect (presupun că nu-i place că trebuie să facă multe request-uri). Asta face indiferent dacă rulez pe acel RAID sau pe câte un singur HDD, deci nu e de la RAID.

Apoi am împărțit iar hdd-urile într-un mirror, un simplu și un striped. Astea-s rezultatele (fără testul ăla al treilea, pe care l-am abandonat).

striped.png mirror.png simple.png

Mie mi se pare că performanța RAID5-ului e suficient de apropiată de performanța unui HDD simplu ca să zic că nu de la RAID e limitarea majoră (da, în RAID5 scierea e la jumătate, dar asta e normal în RAID5, e chiar bine). Iar faptul că performanța stripe-ului e cam tot pe-acolo mă îndreaptă spre concluzia că atât poate VM-ul, nu neapărat RAID-ul. Pe durata testelor un core din VM e folosit 100% cu kernel time, presupun că așteaptă la vmware să-i facă traducerea către fișierul de pe SSD.
 
Bine, hai sa incheiem cu dovada suprema ca windows sucks: Gentoo a facut 12% in 30 min., adica vreo 40MB/s per hard.
:zbang:
 

Attachments

  • 2020-04-29 20.45.25.jpg
    2020-04-29 20.45.25.jpg
    218.4 KB · Views: 30
Interesant, cu Win 2003 x64 aceleași HDD-uri virtuale cu care am făcut testul ieri merg la mai puțin de jumătate din performanță. Pare că ceva-ceva au modificat între Win 2003 și 2008.
 
Mi-a sosit controllerul. Am ~110MB/s RAID 10 cu toate 4 hardurile. Din nefericire, controllerul nu suporta sa adaug discurile intr-o anumita ordine. Nu am de unde sa stiu cum le-a imperecheat.
Combinatia buna ar fi RAID1 cu 2x SATA , RAID1 cu 2x PATA, si RAID0 cu 2x RAID1
Combinatia proasta ar fi RAID0 cu 2x SATA, RAID0 cu 2x PATA si RAID1 cu 2x RAID0
Mai exista varianta sa fac doua RAID1 pe controllere separate (cel onboard pentru SATA si asta pentru PATA) si sa fac RAID 0 din Windows. TEORETIC, daca pica vreun disc, scot discul ramas din RAID1 (trec controllerul in mod non-RAID) si RAID0 ar trebui sa ramana accesibil. Varianta asta nu-mi place pentru ca trebuie sa renunt la unitatea optica. Nu mai am SATA libere.
 
Last edited:
HA! Mi-a murit un hard! Era unul din alea doua PATA identice. RAID-ul m-a salvat.
Din cauza ca n-am inca un hard de 500GB, si nici nu mai vreau sa cumpar unul, mut acum datele pe un RAID 1 cu hardul de laptop si hardul PATA. Poate-poate moare si celalat PATA...
Al treilea hard care era in RAID, ala "de server", ramane ca hard de rezerva.

Se cam apropie momentul cand chiar o sa trebuiasca sa dau o caruta de bani pe un hard mare.
 
Uitandu-ma aiurea pe OLX dupa un rack esata ordinar, am dat peste un d-asta cu 1000 RON, incluzand 3x HGST de 2TB si 1x Hitachi de 2TB. N-am rezistat si am facut un drum la Baia Mare sa-l iau. Numa' hardurile ar face 1/2 din bani.
Fac niste teste sa vad cat de bine se misca si daca totul e in regula, il conectez la router. Pe eSATA! :jumpy: Poate reusesc sa conving si Samba sa treaca de 14 MB/s :facepalm:... cine stie...

Pot sa-l umplu cu harduri de 2TB, si sa-mi ramana niste harduri si pentru backup offline. Deci teoretic ar fi 16TB, dar o sa vreau un RAID.
RAID 0 nu-i nevoie. RAID 1 / 1E este prea risipitor la 8 harduri. As putea una din astea:
- RAID5 de 14TB,
- RAID5 de 12TB cu un hot-spare,
- RAID6 de 12TB,
- ignor RAID-ul lui hardware (care cica e accelerat), fac toate discurile pass-thru si fac RAID-ul (md, btrfs, orice) din router (care are si el 2x acceleratoare XOR cu DMA). Nu mi-e inca clar daca pot vedea toate 8 discurile prin SATA port multiplier.

Opinii, pareri?
 
Last edited:
Dacă vrei musai capacitate maximă, atunci probabil RAID6 ar fi cea mai bună alegere. Ca performanță, aș zice că cu RAID10 ai ieși cel mai bine.
Dacă faci pass-through și device-ul nu știe FIS-based switching, cred că vei avea parte de un impact major asupra performanței. Pe de altă parte, dacă folosești RAID-ul hardware și crapă măgăoaia, nu știu ce șanse mai ai să vezi datele alea.
 
Go RAID6. RAID5 cu HDD-uri de acum 15 ani e cam trist. RAID5 cu hot spare e util atunci când ai mai multe RAID5 și ai un spare pentru toate, îl primește care RAID crapă primul.

Nu cred că e nevoie să vorbim de performanță când e vorba de legat la un router, iar speranța producătorului e oricum 210MB/s pe un eSATA cu RAID 0; mă aștept să nu treacă de 100MB/s cu un RAID mai serios.

RAID is not backup anyway. În caz de crăpat hardware ai șanse mai mari cu un RAID software, dar în cazul tău (OS-uri dubioase customizate) șansele să citești ceva pe alt OS sunt mai mici.
 
- ignor RAID-ul lui hardware (care cica e accelerat), fac toate discurile pass-thru si fac RAID-ul (md, btrfs, orice) din router (care are si el 2x acceleratoare XOR cu DMA). Nu mi-e inca clar daca pot vedea toate 8 discurile prin SATA port multiplier.
:popa:
 
Niste teste cu cele 4 harduri din NAS in diverse configuratii:
dd if=/dev/zero of=/dev/sda bs=1M count=4096 oflag=direct
RAID6: 61.7MB/s
RAID5: 91.6MB/s
RAID10: 61.9MB/s

Am incercat si un btrfs RAID5 pe discurile pass-thru, dar cand am vrut sa fac testul de mai sus, s-a umplut memoria (vazut live pe htop, dar n-am inteles de ce), a inceput sa faca swap in disperare si dupa 30s i-a dat reset watchdog-ul.

Pana la urma cred ca aleg un RAID5 cu 7 harduri si las un slot liber pentru necesitati ulterioare.
 
BTRFS face la fel ca ZFS, folosește RAM ca și cache, doar că-i ceva mai nebun. ZFS are plafon la 50% din RAM.

BTRFS și ZFS nu ar trebui să le faci peste RAID hardware, pentru că OS pierde acces la informația SMART. Dacă crapă ceva, controllerul va ști dar OSul nu.

RAID5 pare să-ți ofere cea mai bună performanță.
 
Back
Top