Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Streamy integrity jsou volitelnou funkcí systému souborů ReFS, která ověřuje a udržuje integritu dat pomocí kontrolních součtů. I když ReFS vždy používá kontrolní součty pro metadata, ve výchozím nastavení negeneruje ani neověřuje kontrolní součty pro data souborů. Streamy integrity jsou volitelnou funkcí, která uživatelům umožňuje využívat kontrolní součty souborových dat. Pokud jsou datové proudy integrity povolené, může ReFS jasně určit, jestli jsou data platná nebo poškozená. ReFS a prostory úložiště navíc můžou automaticky opravovat poškozená metadata a data.
Jak to funguje
Streamy integrity lze povolit pro jednotlivé soubory, adresáře nebo celý svazek a nastavení streamu integrity lze kdykoli přepnout. Kromě toho se nastavení streamu integrity pro soubory a adresáře dědí z nadřazených adresářů.
Jakmile jsou streamy integrity povolené, reFS vytvoří a udržuje kontrolní součet pro zadané soubory v metadatech daného souboru. Tento kontrolní součet umožňuje systému souborů ReFS před přístupem k datům ověřit integritu. Před vrácením všech dat, která mají povolené streamy integrity, systém ReFS nejprve vypočítá kontrolní součet:
Tento kontrolní součet se pak porovná s kontrolním součtem obsaženým v metadatech souboru. Pokud se kontrolní součty shodují, data se označí jako platná a vrátí se uživateli. Pokud se kontrolní součty neshodují, jsou data poškozená. Odolnost svazku určuje, jak ReFS reaguje na poškození:
- Pokud je odolný systém souborů (ReFS) připojen k neodolnému jednoduchému prostoru nebo jednotce bez ochrany, vrátí uživateli chybu bez vrácení poškozených dat.
- Pokud je systém souborů ReFS připojen k odolnému zrcadlení nebo paritnímu prostoru, pokusí se o opravu poškození.
- Pokud je pokus úspěšný, ReFS použije k obnovení integrity dat opravný zápis a vrátí platná data do aplikace. Aplikace nemá žádné poškození.
- Pokud je pokus neúspěšný, ReFS vrátí chybu.
ReFS zaznamená všechna poškození v systémovém protokolu událostí a protokol bude odrážet, zda byla poškození opravena.
Performance
I když integritní streamy poskytují systému větší integritu dat, zvyšují nároky na výkon. Existuje několik různých důvodů:
- Pokud jsou povolené integritní streamy, všechny operace zápisu se stanou operacemi alokace při zápisu. Tím se zabrání úzkým místům při operacích čtení-modifikace-zápis, protože ReFS nemusí číst ani upravovat žádná existující data. Nicméně dochází k fragmentaci souborových dat, což způsobuje zpoždění při čtení.
- V závislosti na zatížení a základním úložišti systému můžou výpočetní náklady na výpočetní výkon a ověření kontrolního součtu způsobit zvýšení latence vstupně-výstupních operací.
Vzhledem k tomu, že datové proudy integrity mají výkonnostní náklady, doporučujeme nechat datové proudy integrity zakázané v systémech citlivých na výkon.
Čisticí zařízení integrity
Jak je popsáno výše, ReFS automaticky ověří integritu dat před přístupem k datům. Odolný systém souborů používá také scrubber na pozadí, který umožňuje systému souborů ReFS ověřovat zřídka přístupná data. Tento čistič pravidelně kontroluje svazek, identifikuje latentní poškození a iniciuje opravu všech poškozených dat.
Note
Čistič integrity dat může ověřovat pouze data souborů, u kterých jsou povoleny integritní streamy.
Ve výchozím nastavení se scrubber spouští každých čtyři týdny, i když tento interval lze nakonfigurovat v plánovači úloh v rámci Microsoft\Windows\Data Integrity Scan.
Examples
K monitorování a změně nastavení integrity dat souborů používá ReFS rutiny Get-FileIntegrity a Set-FileIntegrity .
Get-FileIntegrity
Pokud chcete zjistit, jestli streamy integrity jsou povolené pro data souborů, použijte rutinu Get-FileIntegrity.
PS C:\> Get-FileIntegrity -FileName 'C:\Docs\TextDocument.txt'
Pomocí rutiny Get-Item můžete také získat nastavení streamu integrity pro všechny soubory v zadaném adresáři.
PS C:\> Get-Item -Path 'C:\Docs\*' | Get-FileIntegrity
Set-FileIntegrity
Pokud chcete povolit nebo zakázat streamy integrity pro data souborů, použijte rutinu Set-FileIntegrity .
PS C:\> Set-FileIntegrity -FileName 'H:\Docs\TextDocument.txt' -Enable $True
Pomocí rutiny Get-Item můžete také nastavit nastavení streamu integrity pro všechny soubory v zadané složce.
PS C:\> Get-Item -Path 'H\Docs\*' | Set-FileIntegrity -Enable $True
Rutinu Set-FileIntegrity je také možné použít přímo u svazků a adresářů.
PS C:\> Set-FileIntegrity H:\ -Enable $True
PS C:\> Set-FileIntegrity H:\Docs -Enable $True