Julkaistu ensimmäisen kerran TECHNET-sivustolla 11.8.2017
Hei! Olen Cosmos. Seuraa minua Twitterissä @cosmosdarwin.
Taustaa
Storage Spaces Direct Windows Server 2016:ssa ja Windows Server 2019:ssä on sisäänrakennettu, pysyvä luku- ja kirjoitusvälimuisti, joka maksimoi tallennussuorituskyvyn. Voit lukea siitä kaiken osoitteessa Understanding the cache in Storage Spaces Direct . All-flash-käyttöönotoissa NVMe-asemat ovat tyypillisesti SATA/SAS SSD -levyjen välimuistissa; hybridikäyttöönotoissa NVMe- tai SATA/SAS SSD -levyt ovat kiintolevyjen välimuistissa.
Joka tapauksessa välimuistissa olevat asemat palvelevat valtaosaa IO:sta, mukaan lukien 100 % kirjoituksista. Tämä on olennaista Storage Spaces Directin vertaansa vailla olevan suorituskyvyn tarjoamiseksi, mitattiinpa sitä sitten miljoonina IOPS-operaatioina , Tb/s IO-läpimenosuorituskykynä tai johdonmukaisena alle millisekunnin viiveenä.
Mutta mikään ei ole ilmaista: nämä välimuistiasemat saattavat kulua nopeasti.
Review: Mitä on flash-kuluminen
Solid-state-asemat koostuvat nykyään lähes poikkeuksetta NAND-flashista, joka kuluu käytön myötä. Jokaiseen flash-muistisoluun voidaan kirjoittaa vain tietty määrä kertoja, ennen kuin se muuttuu epäluotettavaksi. (Verkossa on lukuisia loistavia kirjoituksia, jotka kattavat kaikki veriset yksityiskohdat – myös Wikipediassa .)
Voit seurata tämän tapahtumista Windowsissa katsomalla Wear reliability -laskuria PowerShellissä:
PS C:\> Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Wear
Tässä on tuloste kannettavastani – SSD-levyni on noin 5 % kulunut kahden vuoden jälkeen.
Huomaa: Kaikki asemat eivät ilmoita tätä arvoa tarkasti Windowsille. Joissakin tapauksissa laskuri voi olla tyhjä. Tarkista valmistajalta, onko heillä omia työkaluja, joilla voit hakea tämän arvon.
Yleensä lukukerrat eivät kuluta NAND-flashia.
Flash-keston määrittäminen
Kulumisen mittaaminen on yksi asia, mutta miten voimme ennustaa SSD-aseman pitkäikäisyyttä?
Flash-”kestävyyttä” mitataan yleisesti kahdella tavalla:
- Drive Writes Per Day (DWPD)
- Terabytes Written (TBW)
Kumpikin lähestymistapa perustuu kiintolevyn valmistajan myöntämään takuuaikaan, niin sanottuun ”käyttöikään”.
Drive Writes Per Day (DWPD)
Drive Writes Per Day (DWPD) mittaa, kuinka monta kertaa voisit ylikirjoittaa aseman koko koon sen elinkaaren jokaisena päivänä. Oletetaan esimerkiksi, että asemasi on 200 Gt ja sen takuuaika on 5 vuotta. Jos sen DWPD on 1, se tarkoittaa, että voit kirjoittaa siihen 200 Gt (sen koko, kerran) joka ikinen päivä seuraavien viiden vuoden ajan.
Jos kerrot tämän, se on 200 Gt päivässä × 365 päivää/vuosi × 5 vuotta = 365 TB kumulatiivisia kirjoituksia, ennen kuin joudut ehkä vaihtamaan sen.
Jos sen DWPD olisi 1:n sijasta 10, se merkitsisi, että voit kirjoittaa siihen 10 × 200 Gt = 2 Tb:tä (sen koko, kymmenkertaisesti) joka päivä. Vastaavasti se on 3650 TB = 3,65 PB kumulatiivisia kirjoituksia viiden vuoden aikana.
Terabytes Written (TBW)
Terabytes Written (TBW) mittaa suoraan sitä, kuinka paljon voit kirjoittaa kumulatiivisesti kiintolevylle sen käyttöiän aikana. Pohjimmiltaan se sisältää vain edellä tekemämme kertolaskun itse mittauksessa.
Jos esimerkiksi asemasi on mitoitettu 365 TBW:lle, se tarkoittaa, että voit kirjoittaa siihen 365 TB ennen kuin joudut ehkä vaihtamaan sen.
Jos sen takuuaika on 5 vuotta, se tarkoittaa 365 TB ÷ (5 vuotta × 365 päivää/vuosi) = 200 Gt kirjoituksia päivässä. Jos asemasi oli 200 GB kokoinen, se vastaa 1 DWPD:tä. Vastaavasti, jos asemasi mitoitus oli 3,65 PBW = 3 650 TBW, se vastaa 2 TB:n kirjoitusmäärää päivässä eli 10 DWPD:tä.
Kuten näet, jos tiedät aseman koon ja takuuajan, pääset aina DWPD:stä TBW:hen tai päinvastoin muutamalla yksinkertaisella kerto- tai jakolaskulla. Nämä kaksi mittausta ovat todella hyvin samankaltaisia.
Mitä eroa niillä on?
Ainoa todellinen ero on, että DWPD riippuu aseman koosta, kun taas TBW ei.
Tarkastellaan esimerkiksi SSD-levyä, joka kestää 1 000 TB kirjoituksia 5 vuoden käyttöiän aikana.
Emme oleta, että SSD-levyn koko on 200 Gt:
1 000 TB ÷ (5 vuotta × 365 päivää/vuosi × 200 Gt) = 2,74 DWPD
Emme nyt oleta, että SSD-levyn koko on 400 Gt:
1 000 TB ÷ (5 vuotta × 365 päivää/vuosi × 400 Gt) = 1,37 DWPD
Tuloksena saatava DWPD eroaa! Mitä se tarkoittaa?
Toisaalta suurempi 400 Gt:n asema voi tehdä elinkaarensa aikana täsmälleen samat kumulatiiviset kirjoitukset kuin pienempi 200 Gt:n asema. TBW:tä tarkasteltaessa tämä on hyvin selvää – molemmat asemat on mitoitettu 1000 TBW:lle. Mutta kun tarkastellaan DWPD:tä, suuremmalla asemalla näyttää olevan vain puolet vähemmän kestävyyttä! Voisit väittää, että TBW:n käyttäminen on parempi, koska samassa työmäärässä se toimisi ”samalla tavalla”.
Toisaalta voit väittää, että 400 Gt:n asema voi tarjota tallennustilaa suuremmalle työmäärälle, koska se on suurempi, ja siksi sen 1 000 TBW jakautuu ohuemmin, ja sillä on todella vain puolet kestävyydestä! Tällä päättelyllä DWPD:n käyttäminen on parempi.
Lopputulos
Voit käyttää haluamaasi mittausta. Nykyään on lähes yleistä nähdä sekä TBW- että DWPD-arvojen esiintyvän asemien teknisissä tiedoissa. Oletuksistasi riippuen kummallekin on olemassa vakuuttavat perusteet.
Suositus Storage Spaces Directille
Vähimmäissuosituksemme Storage Spaces Directille on lueteltu Laitteistovaatimukset-sivulla. Vuoden 2017 puolivälistä lähtien välimuistiasemien osalta:
- Jos päätät mitata DWPD:nä, suosittelemme vähintään 3:aa.
- Jos päätät mitata TBW:nä, suosittelemme 4 TBW:tä käyttöpäivää kohden. Tekniset tiedot ilmoittavat usein TBW:n kumulatiivisesti, joka sinun on jaettava käyttöiällä. Jos asemasi takuuaika on esimerkiksi 5 vuotta, 4 TB × 365 päivää/vuosi × 5 vuotta = 7300 TBW = 7,3 PBW yhteensä.
Usein toinen näistä mittaustavoista osoittautuu hieman vähemmän tiukaksi kuin toinen.
Voit käyttää kumpaa mittausta haluat.
Kapasiteettiasemille ei ole olemassa vähimmäissuositusta.
Lisäys: Kirjoitusvahvistus
Voi olla kiusaus päätellä kestävyyttä IOPS-lukujen perusteella, jos tiedät ne. Jos esimerkiksi työmääräsi tuottaa (keskimäärin) 100 000 IOPS:ia, jotka ovat (keskimäärin) 4 KiB:n suuruisia, joista (keskimäärin) 30 % on kirjoituksia, saatat ajatella:
100 000 × 30 % × 4 KiB = 120 MB/s kirjoituksia
120 MB/s × 60 sek/min × 60 min/tunti × 24 tuntia = n. 10 TBW/vrk
Jos sinulla on neljä palvelinta, joissa kussakin on kaksi välimuistilevyä, se on:
10 TBW/vrk ÷ (8 välimuistiasemaa yhteensä) = noin 1,25 TBW/vrk asemaa kohti
Interenkiintoista! Alle 4 TBW/päivä!
Valitettavasti tämä on virheellistä matematiikkaa, koska se ei ota huomioon kirjoitusvahvistusta.
Kirjoitusvahvistus on sitä, kun yksi kirjoitus (käyttäjä- tai sovelluskerroksessa) muuttuu useammaksi kirjoitukseksi (fyysisessä laitekerroksessa). Kirjoitusten vahvistuminen on väistämätöntä kaikissa tallennusjärjestelmissä, jotka takaavat häiriönsietokyvyn ja/tai törmäyskonsistenssin. Storage Spaces Directin räikein esimerkki on kolmitiepeilaus: se kirjoittaa kaiken kolme kertaa kolmelle eri asemalle.
Kirjoitusvahvistuksen lähteitä on muitakin: korjaustyöt tuottavat ylimääräistä IO:ta, datan deduplikointi tuottaa ylimääräistä IO:ta, tiedostojärjestelmä ja monet muut komponentit tuottavat ylimääräistä IO:ta säilyttämällä metatietojaan ja lokirakenteitaan jne. Itse asiassa itse asema tuottaa kirjoitusvahvistusta sisäisistä toiminnoista, kuten roskienkeruusta! (Jos olet kiinnostunut, tutustu JESD218-standardin menetelmiin, joilla tämä otetaan huomioon kestävyyslaskelmissa.)
Tämä kaikki on tarpeellista ja hyvää, mutta se vaikeuttaa johdonmukaisesti asematason IO-aktiivisuuden johtamista pinon alaosassa sovellustason IO-aktiivisuudesta pinon yläosassa. Siksi julkaisemme kokemuksemme perusteella DWPD- ja TBW-minimisuosituksen.
Kertokaa meille mielipiteenne! 🙂