Primul publicat pe TECHNET pe 11 aug 2017
Bună ziua! Sunt Cosmos. Urmăriți-mă pe Twitter @cosmosdarwin.
Context
Storage Spaces Direct din Windows Server 2016 și Windows Server 2019 dispune de o memorie cache de citire și scriere încorporată, persistentă, pentru a maximiza performanța de stocare. Puteți citi totul despre aceasta la Înțelegerea cache-ului din Storage Spaces Direct . În implementările all-flash, unitățile NVMe cachează, de obicei, pentru SSD-urile SATA/SAS; în implementările hibride, SSD-urile NVMe sau SATA/SAS cachează pentru HDD-uri.
În orice caz, unitățile de cache vor servi majoritatea covârșitoare a IO, inclusiv 100% din scrieri. Acest lucru este esențial pentru a oferi performanța de neegalat a Storage Spaces Direct, indiferent dacă măsurați acest lucru în milioane de IOPS , Tb/s de debit IO sau latență constantă de sub o milisecundă.
Dar nimic nu este gratuit: aceste unități cache sunt susceptibile să se uzeze rapid.
Recenzie: Ce este uzura flash
Ce este uzura flash
Unitățile de stocare solid-state de astăzi sunt aproape în mod universal compuse din flash NAND, care se uzează odată cu utilizarea. Fiecare celulă de memorie flash nu poate fi scrisă decât de un număr limitat de ori înainte de a deveni nesigură. (Există numeroase scrieri excelente online care acoperă toate detaliile sângeroase – inclusiv pe Wikipedia .)
Puteți urmări cum se întâmplă acest lucru în Windows uitându-vă la contorul de fiabilitate Wear în PowerShell:
PS C:\> Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Wear
Iată rezultatul de pe laptopul meu – SSD-ul meu este uzat în proporție de aproximativ 5% după doi ani.
Nota: Nu toate unitățile raportează cu exactitate această valoare către Windows. În unele cazuri, contorul poate fi gol. Verificați cu producătorul dumneavoastră pentru a vedea dacă are unelte proprietare pe care le puteți utiliza pentru a prelua această valoare.
În general, citirile nu uzează flash-ul NAND.
Cuantificarea rezistenței flash-ului
Măsurarea uzurii este un lucru, dar cum putem prezice longevitatea unui SSD?
„Rezistența” flash este măsurată în mod obișnuit în două moduri:
- Drive Writes Per Day (DWPD)
- Terabytes Written (TBW)
Ambele abordări se bazează pe perioada de garanție a producătorului pentru unitate, așa-numita „durată de viață” a acesteia.
Drive Writes Per Day (DWPD)
Drive Writes Per Day (DWPD) măsoară de câte ori ați putea suprascrie întreaga dimensiune a unității în fiecare zi din durata de viață a acesteia. De exemplu, să presupunem că unitatea dvs. are 200 GB și perioada de garanție este de 5 ani. Dacă DWPD este 1, înseamnă că puteți scrie 200 GB (dimensiunea sa, o singură dată) în ea în fiecare zi în următorii cinci ani.
Dacă înmulțiți această valoare, înseamnă 200 GB pe zi × 365 zile/an × 5 ani = 365 TB de scrieri cumulate înainte de a fi nevoie să o înlocuiți.
Dacă DWPD ar fi 10 în loc de 1, ar însemna că puteți scrie 10 × 200 GB = 2 TB (dimensiunea sa, de zece ori) în ea în fiecare zi. În mod corespunzător, asta înseamnă 3.650 TB = 3,65 PB de scrieri cumulate pe parcursul a 5 ani.
Terabytes Written (TBW)
Terabytes Written (TBW) măsoară în mod direct cât de mult puteți scrie cumulativ în unitatea de disc pe parcursul duratei sale de viață. În esență, include doar înmulțirea pe care am făcut-o mai sus în măsurarea propriu-zisă.
De exemplu, dacă unitatea dvs. este evaluată pentru 365 TBW, înseamnă că puteți scrie 365 TB în ea înainte de a fi nevoie să o înlocuiți.
Dacă perioada sa de garanție este de 5 ani, asta înseamnă 365 TB ÷ (5 ani × 365 zile/an) = 200 GB de scriere pe zi. Dacă unitatea dvs. a avut o dimensiune de 200 GB, acest lucru este echivalent cu 1 DWPD. În mod corespunzător, dacă unitatea dvs. a avut o capacitate nominală de 3,65 PBW = 3.650 TBW, aceasta înseamnă 2 TB de scrieri pe zi sau 10 DWPD.
După cum puteți vedea, dacă știți dimensiunea unității și perioada de garanție a acesteia, puteți obține întotdeauna de la DWPD la TBW sau viceversa cu câteva înmulțiri sau diviziuni simple. Cele două măsurători sunt într-adevăr foarte asemănătoare.
Care este diferența?
Singura diferență reală este că DWPD depinde de dimensiunea unității, în timp ce TBW nu depinde.
De exemplu, să luăm în considerare un SSD care poate prelua 1.000 TB de scrieri pe durata sa de viață de 5 ani.
Să presupunem că SSD-ul are 200 GB:
1.000 TB ÷ (5 ani × 365 zile/an × 200 GB) = 2,74 DWPD
Să presupunem acum că SSD-ul are 400 GB:
1.000 TB ÷ (5 ani × 365 zile/an × 400 GB) = 1,37 DWPD
DWPD-ul rezultat este diferit! Ce înseamnă acest lucru?
Pe de o parte, unitatea mai mare de 400 GB poate efectua exact aceleași scrieri cumulate pe durata sa de viață ca și unitatea mai mică de 200 GB. Dacă ne uităm la TBW, acest lucru este foarte clar – ambele unități sunt proiectate pentru 1.000 TBW. Dar dacă ne uităm la DWPD, unitatea mai mare pare să aibă doar jumătate din rezistență! Ați putea argumenta că, deoarece, în condițiile aceleiași sarcini de lucru, performanțele ar fi „aceleași”, utilizarea TBW este mai bună.
Pe de altă parte, ați putea argumenta că unitatea de 400 GB poate oferi spațiu de stocare pentru mai multe sarcini de lucru, deoarece este mai mare și, prin urmare, cei 1.000 TBW se răspândesc mai bine, iar aceasta are într-adevăr doar jumătate din rezistență! Prin acest raționament, utilizarea DWPD este mai bună.
Concluzia
Puteți utiliza măsura pe care o preferați. Este aproape universal să vedeți astăzi atât TBW, cât și DWPD să apară pe fișele tehnice ale unităților. În funcție de ipotezele dumneavoastră, există un caz convingător pentru oricare dintre ele.
Recomandare pentru Storage Spaces Direct
Recomandarea noastră minimă pentru Storage Spaces Direct este listată pe pagina Cerințe hardware. De la jumătatea anului 2017, pentru unitățile de memorie cache:
- Dacă alegeți să măsurați în DWPD, recomandăm 3 sau mai mult.
- Dacă alegeți să măsurați în TBW, recomandăm 4 TBW pe zi de viață. Fișele de specificații furnizează adesea TBW cumulat, pe care va trebui să îl împărțiți la durata de viață. De exemplu, dacă unitatea dvs. are o perioadă de garanție de 5 ani, atunci 4 TB × 365 zile/an × 5 ani = 7.300 TBW = 7,3 PBW în total.
De multe ori, una dintre aceste măsurători se va dovedi a fi puțin mai puțin strictă decât cealaltă.
Puteți folosi oricare dintre măsurători preferați.
Nu există o recomandare minimă pentru unitățile de capacitate.
Addenda: Amplificarea scrierii
Ați putea fi tentat să raționați despre anduranță pornind de la numerele IOPS, dacă le cunoașteți. De exemplu, dacă volumul dvs. de lucru generează (în medie) 100.000 IOPS care sunt (în medie) 4 KiB fiecare dintre care (în medie) 30% sunt scrieri, ați putea gândi:
100.000 × 30% × 4 KiB = 120 MB/s de scrieri
120 MB/s × 60 secs/min × 60 min/oră × 24 ore = aprox. 10 TBW/zi
Dacă aveți patru servere cu câte două unități cache fiecare, asta înseamnă:
:
10 TBW/zi ÷ (8 unități cache în total) = aprox. 1,25 TBW/zi pe unitate
Interesant! Mai puțin de 4 TBW/zi!
Din păcate, acesta este un calcul eronat, deoarece nu ia în considerare amplificarea scrierii.
Amplificarea scrierii este atunci când o scriere (la nivelul utilizatorului sau al aplicației) devine mai multe scrieri (la nivelul dispozitivului fizic). Amplificarea scrierii este inevitabilă în orice sistem de stocare care garantează reziliența și/sau consistența în caz de accident. Cel mai flagrant exemplu în Storage Spaces Direct este oglinda cu trei căi: scrie totul de trei ori, pe trei unități diferite.
Există și alte surse de amplificare a scrierii: lucrările de reparare generează IO suplimentare; deduplicarea datelor generează IO suplimentare; sistemul de fișiere, și multe alte componente, generează IO suplimentare prin persistența metadatelor și a structurilor de jurnal; etc. De fapt, unitatea însăși generează amplificare la scriere din activități interne, cum ar fi colectarea gunoiului! (Dacă vă interesează, consultați metodologia standardului JESD218 pentru a afla cum să luați în considerare acest lucru în calculele de anduranță).
Toate acestea sunt necesare și bune, dar fac dificilă derivarea activității IO la nivel de unitate în partea de jos a stivei din activitatea IO la nivel de aplicație în partea de sus a stivei într-un mod coerent. Acesta este motivul pentru care, pe baza experienței noastre, publicăm recomandarea minimă DWPD și TBW.
Să ne spuneți ce părere aveți! 🙂