Megosztás a következőn keresztül:


Mirror-accelerated parity

A tárolóhelyek két alapvető technikával, a tükrözéssel és a paritásossággal biztosítják az adatok hibatűrését. A Storage Spaces Direct rendszerben a ReFS bevezeti a tükrösen gyorsító paritást, amely lehetővé teszi olyan kötetek létrehozását, amelyek egyaránt használják a tükrözés és paritás rugalmasságát. A tükrözött gyorsított paritás olcsó, helytakarékos tárolást biztosít a teljesítmény feláldozása nélkül.

A tükörrel gyorsított paritásos kötetet ábrázoló diagram.

Background

A tükrözési és paritásos rugalmassági sémák alapvetően eltérő tárolási és teljesítménybeli jellemzőkkel rendelkeznek:

  • A tükrözött tárolási rugalmasság lehetővé teszi a felhasználók számára a gyors írási teljesítményt, de az egyes másolatok adatainak replikálása nem hatékony a tárhely szempontjából.
  • A paritásnak viszont újra kell számítania a paritást minden egyes íráskor, ami képes rontani a véletlenszerű írási teljesítményt. A Parity azonban lehetővé teszi, hogy a felhasználók nagyobb helyhatékonysággal tárolják az adataikat. További információ: Tárolóhelyek hibatűrése.

Így a tükrözés hajlamos a teljesítményérzékeny tárolás biztosítására, míg a paritás jobb tárkapacitás-kihasználtságot biztosít. A tükrözéssel gyorsított paritásban a ReFS az egyes rugalmassági típusok előnyeit kihasználva kapacitás-hatékony és teljesítményérzékeny tárolást is biztosít azáltal, hogy mindkét rugalmassági sémát egyetlen köteten belül egyesíti.

Tükrözés-gyorsított paritáson végzett adatforgás

A ReFS aktívan elforgatja az adatokat a tükrözés és a paritás között valós időben. Ez lehetővé teszi, hogy a bejövő írások gyorsan a tükörbe kerüljenek, majd a paritásba forgatva hatékonyan tárolódjanak. Ennek során a bejövő I/O-k gyorsan, tükrözéssel vannak kiszolgálva, míg a hideg adatok hatékonyan, paritással vannak tárolva, ezáltal optimális teljesítményt és alacsony költségű tárolást biztosítanak ugyanazon a köteten belül.

Az adatok tükrözés és paritás közötti elforgatásához a ReFS logikailag 64 MiB régiókra osztja a kötetet, amely az elforgatás egysége. Az alábbi képen egy tükrözés-gyorsított, régiókra osztott paritáskötet látható.

Diagram, amely a tárolókkal ellátott tükrözött gyorsított paritáskötetet ábrázolja.

A ReFS megkezdi a teljes régiók tükrözésről paritásosra való elforgatását, miután a tükrözési szint elérte a megadott kapacitásszintet. Az adatok tükrözésről paritásosra való azonnali áthelyezése helyett a ReFS megvárja és a lehető legtovább megőrzi a tükrözött adatokat, így a ReFS továbbra is optimális teljesítményt nyújt az adatokhoz (lásd az "IO-teljesítményt" alább).

Amikor az adatok tükrözésről paritásosra kerülnek, az adatok beolvashatók, a paritáskódolások ki lesznek számítva, majd az adatok paritásosra lesznek írva. Az alábbi animáció ezt egy háromirányú tükrözött régióval szemlélteti, amely a forgatás során törléssel kódolt régióvá alakul:

A tükrözött gyorsított paritás elforgatását bemutató animáció.

I/O a tükrözött gyorsított paritáson

IO behavior

Writes: ReFS services incoming writes in three distinct ways:

  1. Ír a Mirror-be:

    • 1a. Ha a bejövő írás módosítja a meglévő adatokat a tükörben, a ReFS a helyén módosítja az adatokat.
    • 1b. Ha a bejövő írás új, és a ReFS sikeresen talál elegendő szabad helyet a tükörben az írás végrehajtásához, akkor a ReFS a tükörbe fog írni. Képernyőkép arról, hogyan ír a ReFS szolgáltatás tükrözésre.
  2. Írás a Parityből áttelepített Mirrorba:

    Ha a bejövő írás módosítja a paritásban lévő adatokat, és a ReFS sikeresen talál elegendő szabad helyet a tükörben a bejövő írás kiszolgálásához, a ReFS először érvényteleníti az előző adatokat a paritásban, majd a tükörbe ír. Ez az érvénytelenítés egy gyors és olcsó metaadat-művelet, amely segít érdemben javítani a paritásos írási teljesítményt. Képernyőkép arról, hogy a ReFS szolgáltatás hogyan ír a tükrözésbe, a paritásból áttelepítve.

  3. Ír Paritybe:

    Ha a ReFS nem talál elegendő szabad helyet a tükörben, akkor új adatokat ír a paritásba, vagy módosítja a meglévő adatokat közvetlenül a paritásban. Az alábbi "Teljesítményoptimalizálások" szakaszban található útmutató segít minimalizálni a paritásra történő írásokat. Képernyőkép a ReFS szolgáltatás paritásos írási módjáról.

Reads: ReFS will read directly from the tier containing the relevant data. Ha a paritás HDD-kkel van létrehozva, a Storage Spaces Direct gyorsítótára tárolja ezeket az adatokat a későbbi olvasások gyorsítása érdekében.

Note

Az olvasások soha nem okozzák, hogy a ReFS visszaforgassa az adatokat a tükrözési szintre.

IO performance

Writes: Each type of write described above has its own performance characteristics. Nagyjából a tükrözött rétegbe történő írások sokkal gyorsabbak, mint az áttelepített írások, és az újratelepített írások jelentősen gyorsabbak, mint a közvetlenül a paritásszintre írt írások. Ezt a kapcsolatot az alábbi egyenlőtlenség szemlélteti:

  • Tükrözött réteg > áthelyezett írások >> paritásszint

Reads: There is no meaningful, negative performance impact when reading from parity:

  • Ha a tükrözés és a paritás azonos médiatípussal van létrehozva, az olvasási teljesítmény egyenértékű lesz.
  • Ha a tükrözés és a paritás különböző médiatípusokkal lettek kiepítve—például tükrözött SSD-k és paritásos HDD-k—a Közvetlen tárolóhelyek gyorsítótára segít a forró adatok gyorsítótárazásában, ezzel felgyorsítva a paritásból történő olvasást.

ReFS compaction

A ReFS tömörítése a Windows Server 2019 és újabb verziókban érhető el, ami jelentősen javítja a teljesítményt a tükrözött paritásos kötetek esetében, amelyek több mint 90%-ban% telítettek.

Background: Previously, as mirror-accelerated parity volumes became full, the performance of these volumes could degrade. A teljesítmény csökken, mert az idővel a forró és a hideg adatok keverednek a kötetben. Ez azt jelenti, hogy kevesebb forró adat tárolható a tükörben, mivel a hideg adatok olyan helyet foglalnak el, amelyet egyébként a gyakori elérésű adatok használhatnának. A forró adatok tükrözés során történő tárolása kritikus fontosságú a magas teljesítmény fenntartása szempontjából, mivel a közvetlen tükrözött írások sokkal gyorsabbak, mint az újraallokált írások, és nagyságrendekkel gyorsabbak, mint a közvetlen paritásos írások. Így a hideg adatok tükörben való használata rossz hatással van a teljesítményre, mivel csökkenti annak a valószínűségét, hogy a ReFS közvetlenül a tükörbe írhat.

A ReFS tömörítése ezeket a teljesítményproblémákat úgy oldja meg, hogy helyet szabadít fel a tükörben a gyakori elérésű adatok számára. A tömörítés először összesíti az összes adatot – a tükrözéstől és a paritástól kezdve – paritásossá. Ez csökkenti a kötet töredezettségét és növeli a tükrözésben lévő címezhető tér nagyságát. Ennél is fontosabb, hogy ez a folyamat lehetővé teszi a ReFS számára, hogy a gyakran használt adatokat visszakonszolidálja tükörüzemmódba.

  • Amikor új írások érkeznek, azok a tükörben lesznek kiszolgálva. Így az újonnan megírt, gyakori adatok a tükörben találhatók.
  • Amikor módosító írást hajtanak végre a paritásos adatokra, a ReFS egy áthelyezett írást végez, így ez az írás tükörben is elvégezhető. Következésképpen a tömörítés során paritásba helyezett forró adatok visszahelyezik a tükörbe.

Performance optimizations

Important

Javasoljuk, hogy írásintenzív VHD-kat helyezzen el különböző alkönyvtárakban. Ennek az az oka, hogy a ReFS a címtár és a fájlok szintjén írja a metaadatok változásait. Így ha írási nehéz fájlokat oszt szét könyvtárak között, a metaadat-műveletek kisebbek, és párhuzamosan futnak, csökkentve az alkalmazások késését.

Performance counters

A ReFS teljesítményszámlálókat tart fenn a tükrözéssel gyorsított paritás teljesítményének kiértékeléséhez.

  • A Fent leírt Írás paritásos állapotba című szakaszban leírtak szerint a ReFS közvetlenül a paritásba ír, ha nem talál szabad helyet a tükörben. Ez általában akkor fordul elő, ha a tükrözött réteg gyorsabban töltődik fel, mint amennyit a ReFS képes paritásosra forgatni az adatokat. Más szóval a ReFS-rotáció nem képes lépést tartani a betöltési sebességgel. Az alábbi teljesítményszámlálók azonosítják, hogy a ReFS mikor ír közvetlenül a paritásba:

    # Windows Server 2016
    ReFS\Data allocations slow tier/sec
    ReFS\Metadata allocations slow tier/sec
    
    # Windows Server 2019
    ReFS\Allocation of Data Clusters on Slow Tier/sec
    ReFS\Allocation of Metadata Clusters on Slow Tier/sec
    
  • Ha ezek a számlálók nem nullák, az azt jelzi, hogy a ReFS nem forgatja elég gyorsan az adatokat a tükörből. Ennek enyhítése érdekében módosíthatja a forgatás agresszivitását, vagy növelheti a tükrözött szint méretét.

Rotation aggressiveness

A ReFS megkezdi az adatok rotálását, miután a tükrözés elérte a megadott kapacitásküszöböt.

  • A forgatási küszöbérték magasabb értékei miatt a ReFS hosszabb ideig őrzi meg az adatokat a tükrözési rétegben. A hot data tükrözött rétegben hagyása optimális a teljesítmény szempontjából, de a ReFS nem lesz képes hatékonyan kiszolgálni a nagy mennyiségű bejövő I/O-t.
  • Az alacsonyabb értékek lehetővé teszik a ReFS számára az adatok proaktív áthelyezését és a bejövő IO hatékonyabb feldolgozását. Az adatbevitel-igényes feladatokra, például az archiválási tárolásra alkalmazható. Az alacsonyabb értékek azonban csökkenthetik az általános célú számítási feladatok teljesítményét. Az adatok tükrözési szintből való szükségtelen elforgatása teljesítménybeli büntetést von maga után.

A ReFS egy beállítható paramétert vezet be a küszöbérték módosításához, amely beállításkulcs használatával konfigurálható. Ezt a beállításkulcsot konfigurálni kell a Közvetlen tárolóhelyek központi telepítésének minden csomópontján, és újraindításra van szükség a módosítások érvénybe lépéséhez.

  • Key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Policies
  • ValueName (DWORD): DataDestageSsdFillRatioThreshold
  • ValueType: Percentage

Ha ez a beállításkulcs nincs megadva, a ReFS az alapértelmezett 85%értéket fogja használni. Ez az alapértelmezett érték a legtöbb üzemelő példány esetében ajánlott, és az 50% alatti értékek nem ajánlottak. Az alábbi PowerShell-parancs bemutatja, hogyan állíthatja be ezt a beállításkulcsot 75%értékkel:

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Policies -Name DataDestageSsdFillRatioThreshold -Value 75

Ha ezt a beállításkulcsot a Közvetlen tárolóhelyek központi telepítésének minden csomópontjára szeretné konfigurálni, használja az alábbi PowerShell-parancsot:

$Nodes = 'S2D-01', 'S2D-02', 'S2D-03', 'S2D-04'
Invoke-Command $Nodes {Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Policies -Name DataDestageSsdFillRatioThreshold -Value 75}

A tükrözött réteg méretének növelése

A tükrözött réteg méretének növelése lehetővé teszi, hogy a ReFS a munkakészlet nagyobb részét megtartsa a tükrözött formában. Ez javítja annak a valószínűségét, hogy a ReFS közvetlenül a tükrözés tárhelyére tud írni, amely jobb teljesítmény elérését segíti. Az alábbi PowerShell-parancsmagok bemutatják, hogyan növelhető a tükrözött réteg mérete:

Resize-StorageTier -FriendlyName "Performance" -Size 20GB
Resize-StorageTier -InputObject (Get-StorageTier -FriendlyName "Performance") -Size 20GB

Tip

Make sure to resize the Partition and Volume after you resize the StorageTier. További információkért és példákért lásd: Alapkötet kiterjesztése.

Tükrözött gyorsított paritáskötet létrehozása

Az alábbi PowerShell-parancsmag egy tükrözéssel gyorsított paritáskötetet hoz létre 20:80-as Tükrözés:Paritás aránysal, amely a legtöbb számítási feladathoz ajánlott konfiguráció. További információkért és példákért lásd: Kötetek létrehozása a Közvetlen tárolóhelyekben.

New-Volume -FriendlyName "TestVolume" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName "StoragePoolName" -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes 200GB, 800GB

Additional References