
Diferența CMR vs SMR la HDD: de ce se blochează SMR în NAS și RAID
Diferența dintre CMR și SMR la HDD e felul în care sunt așezate pistele: CMR le scrie una lângă alta, SMR le suprapune ca țiglele, deci orice rescriere cere rescrierea unei benzi întregi. De aici pauzele de zeci de secunde care scot discul din matrice. În NAS, RAID sau NVR pui doar CMR.
Răspunsul rapid
Diferența dintre CMR și SMR la HDD e felul în care discul așază pistele pe platan, iar regula de decizie care rezultă e simplă: în NAS și în orice matrice RAID pui exclusiv CMR, iar SMR doar acolo unde scrii o dată și apoi citești.
CMR (Conventional Magnetic Recording) scrie pistele magnetice una lângă alta, despărțite de o bandă de gardă, deci poate rescrie orice pistă pe loc, fără să atingă vecinele.
SMR (Shingled Magnetic Recording) suprapune pistele parțial, ca țiglele pe acoperiș. Câștigă densitate, dar nu mai poate rescrie o pistă fără să le strice pe cele așezate peste ea, așa că rescrie de fiecare dată o bandă întreagă de piste.
Diferența nu se vede la citire și nici la prima scriere pe un disc gol, ci când discul scrie continuu ore în șir sau rescrie date existente: atunci un disc SMR rămâne fără cache și poate întârzia răspunsul zeci de secunde.
În NAS, în orice matrice RAID, în pool ZFS sau SHR (Synology Hybrid RAID) și în orice recorder de supraveghere, DVR sau NVR, pui exclusiv CMR. Un disc SMR pus la reconstrucția unei matrici transformă o operațiune de ore în una de zile și riscă să fie declarat defect și scos afară.
SMR e o alegere rezonabilă pentru arhivă rece, pentru un disc extern de backup scris o dată pe lună și pentru o bibliotecă media pe care o umpli o singură dată.
Nu te lua după numele gamei și nici după mărimea cache-ului. Singura verificare care contează e codul exact de model în fișa tehnică a producătorului.
Modelele declarate CMR sunt în categoria de hard disk-uri interne, iar carcasele în care ajung, în sisteme de stocare NAS.
Diferența dintre CMR și SMR, în tabel
Diferența se vede în trei locuri care schimbă decizia de cumpărare: rescrierea unui sector, scrierea continuă ore în șir și comportamentul într-o matrice redundantă.
Criteriu | CMR | SMR |
|---|---|---|
Dispunerea pistelor | Paralele, cu bandă de gardă între ele | Suprapuse parțial, grupate în benzi |
Rescrierea unui sector | Direct, pe loc | Citește, modifică și rescrie toată banda |
Scriere pe disc gol | Constantă, scade lin spre interiorul platanului | Rapidă până se umple cache-ul, apoi cade brusc |
Scriere continuă ore în șir | Fără surprize | Sub 20 MB/s, cu pauze de zeci de secunde |
Reconstrucție RAID de 4 TB | Ore | Zile |
Comportament în RAID, ZFS, SHR | Stabil | Risc real de scoatere din matrice |
Unde e potrivit | NAS, RAID, supraveghere, disc de sistem | Arhivă rece, backup extern scris rar |
Cum scrie fiecare tehnologie: piste paralele sau piste suprapuse
Diferența de scriere pornește de la o asimetrie mecanică: capul de scriere e mai lat decât capul de citire. Capul de citire e un senzor de magnetorezistență tunel și poate fi făcut extrem de îngust; capul de scriere e un electromagnet și are nevoie de lățime ca să producă un câmp destul de puternic încât să răstoarne polaritatea unor grăunți magnetici stabili termic.
La CMR, pista are lățimea capului de scriere, iar între piste rămâne o bandă de gardă, deci capul poate reveni oricând peste o pistă și o poate rescrie fără să atingă vecinele. Previzibil, dar limitează densitatea. La SMR, discul suprapune pistele parțial, așa că din fiecare rămâne expusă doar o fâșie îngustă, exact cât are nevoie capul de citire: mai multă capacitate pe același platan, cu aceleași capete și același motor, deci un cost mai mic per terabyte.
Prețul se plătește la rescriere. Dacă vrei să modifici un sector de 4 kiloocteți dintr-o pistă aflată la mijlocul „acoperișului", capul lat de scriere ar trece peste pistele așezate deasupra ei și le-ar distruge. Ca să evite asta, discul grupează pistele în benzi (sau zone) de zeci până la sute de megaocteți și, la orice modificare, citește banda întreagă, aplică schimbarea și o rescrie de la capăt.
Ca să nu se vadă asta la fiecare salvare de fișier, un disc SMR de consum are pe platane și o zonă scrisă convențional, folosită drept cache persistent (numită de producători media cache), de la câțiva la câteva zeci de gigaocteți. Scrierile aterizează întâi acolo, la viteză normală, iar discul le mută în zonele suprapuse mai târziu, când are răgaz. Cât timp scrii mai puțin decât încape în ea, nu observi nimic.
Mai contează și cine pilotează suprapunerea. La discurile pilotate de disc (drive-managed) firmware-ul ascunde totul, iar sistemul de operare vede un hard disk obișnuit: astea sunt discurile din magazine și tot ele cad din matrice. La cele pilotate de gazdă (host-managed) software-ul de deasupra e scris special pentru ele, deci SMR e o alegere deliberată, nu o surpriză.
De ce cade un disc SMR la reconstrucția unei matrici RAID
O reconstrucție (rebuild la RAID clasic, resilver la ZFS) e cel mai prost scenariu posibil pentru un disc SMR: scriere continuă, pe toată suprafața, ore sau zile în șir, fără pauze de respiro. Cache-ul convențional se umple în primele minute, iar de acolo discul scrie în zonele suprapuse în timp ce încă primește date noi: viteza se prăbușește și, mai grav, latența devine imprevizibilă.
De aici pleacă deconectarea. Controlerele RAID hardware lucrează cu praguri de ordinul a câtorva secunde pe comandă, iar Linux, deci și un Synology cu SHR sau un QNAP, are implicit un timeout de 30 de secunde pe comandă la nivel de bloc. Când un disc ocupat cu rescrierea unei benzi depășește pragul, stratul de tratare a erorilor resetează legătura, iar matricea marchează discul ca defect. Nu e defect: e ocupat.
Aici trebuie corectat un mit care circulă mult. TLER (Time-Limited Error Recovery), numit ERC la Seagate, nu rezolvă problema SMR. TLER limitează cât timp încearcă discul să recupereze un sector citit greșit, tipic 7 secunde, ca matricea să reconstruiască sectorul din paritate în loc să aștepte. E o funcție legată de erorile de citire, nu de reorganizarea benzilor: un disc poate avea TLER și tot poate întârzia din cauza rescrierilor SMR.
Pe ZFS situația e cu un grad mai rea. Resilverul nu e un flux liniar curat: parcurge arborele de blocuri și amestecă scrieri de metadate cu cele de date, deci seamănă cu scrieri împrăștiate, exact ce suportă SMR cel mai prost. În plus, un disc care returnează erori în timpul resilverului e scos din pool. Episodul din 2020 a fost fix acesta, iar Synology a scos ulterior din lista de compatibilitate modelele WD20EFAX și WD60EFAX.
Aritmetica reconstrucției explică de ce nu e doar o problemă de răbdare. Un disc de NAS la 5.400 rpm scrie secvențial cu un vârf de ordinul a 150-210 MB/s pe pistele exterioare și cu aproape jumătate din valoare pe cele interioare, unde viteza liniară a suprafeței e mai mică, deci media pe tot discul iese la 120-160 MB/s.
CMR, 4 TB la 130 MB/s medie: 4.000.000 MB împărțit la 130 MB/s înseamnă circa 30.800 de secunde, adică sub 9 ore. Pe un NAS folosit în tot acest timp, socotește 12-20 de ore.
SMR, aceiași 4 TB la 8-15 MB/s: între 267.000 și 500.000 de secunde, adică 3 până la 6 zile.
La 8 TB dublezi ambele cifre.
Consecința nu e disconfortul, ci fereastra de risc: cât timp matricea e degradată nu mai ai redundanță, iar discurile rămase citesc integral, la sarcină maximă, zile în șir. Cu cât fereastra e mai lungă, cu atât e mai mare șansa ca un al doilea disc, de aceeași vârstă și din același lot, să te lase exact atunci. Ce înseamnă „degradat" la fiecare nivel de RAID găsești în ghidul despre nivelurile RAID 0, 1, 5, 6, 10 și SHR.


