Při povoleném ukládání do mezipaměti je disk pomalý

Překlady článku Překlady článku
ID článku: 332023 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při určitých typech zápisu na pevný disk může být výkon nižší, než byl očekáván, pokud pevný disk podporuje během zápisu ukládání do mezipaměti a do počítače je nainstalován některý z následujících operačních systémů:
  • Windows 2000 Service Pack 3 (SP3),
  • Windows 2000 Service Pack 2 (SP2) s nainstalovanou opravou hotfix, která je popsána v následujícím článku znalostní báze Microsoft Knowledge Base:
    281672 Po povolení zápisu do mezipaměti hrozí ztráta dat (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
  • Windows XP.
Konkrétně mohou být pomalejší operace zápisu na pevný disk ve srovnání s verzemi systému Windows 2000 nižšími než SP3. V počítačích tvořených clustery mohou také operace zápisu na pevné disky sdílených disků působit velké rozdíly ve výkonu zápisu u jednotlivých uzlů.

Příčina

Verze systému Windows 2000 nižší než SP3 obsahují chybu, která brání v provedení určitých diskových příkazů. Tyto příkazy jsou používány pouze pro disky, pro které je povolen zápis do mezipaměti. Tyto příkazy vynucují okamžitý zápis důležitých dat na disková zařízení namísto jejich dočasného uchování v mezipaměti disku.

Další informace o této chybě získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
281672 Po povolení zápisu do mezipaměti hrozí ztráta dat (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Oprava hotfix popisovaná v článku 281672 znalostní báze Microsoft Knowledge Base tuto chybu opravuje a zajišťuje, aby při povoleném ukládání do mezipaměti byly tyto příkazy používány podle očekávání. Tato oprava je součástí aktualizace Windows 2000 SP3. Podobná oprava je také součástí systému Windows XP.

Z podstaty těchto příkazů vyplývá, že mírně snižují výkon ve prospěch bezpečnosti důležitých dat. Zajišťují, že důležitá data jsou na pevný disk zapsána okamžitě. Tyto příkazy jsou používány, pouze pokud je povolen zápis do mezipaměti pro určité diskové zařízení, které je možné rozpoznat standardními mechanismy. Jestliže je toto bezpečné chování vynuceno pro disky používající zápis do mezipaměti, sníží se při určitých diskových operacích rychlost. Podrobnosti naleznete v části Další informace na konci tohoto článku. V počítačích tvořených clustery nemusí být informace z pevného disku přeneseny na uzel, který přebírá clusterový prostředek v okamžiku jeho selhání. Z toho důvodu dochází k rozdílu ve výkonu operací při zápisu mezi jednotlivými uzly.

Řešení

Pro počítače se systémem Windows 2000

Upozornění: Pokud implementujete tuto opravu (instalací aktualizovaných ovladačů a zapnutím možnosti Power Protected pro mezipaměť pro zápis), je odebrána ochrana integrovaná do ovladačů disků v systému Windows 2000, která zajišťuje zápis důležitých dat okamžitě na disk namísto do mezipaměti disku. Tuto opravu neimplementujte, pokud nejsou váš počítač a připojené pevné disky chráněny proti náhodnému či neočekávanému přerušení napájení pomocí hardwarového zařízení, jako je bateriové zálohování. Hardwarem podporovanou úroveň ochrany vašeho počítače a zařízení pro ukládání dat zjistíte u výrobce. Tuto opravu neimplementujte, pokud dobře nerozumíte nebo nechcete přijmout zvýšené riziko, které tato oprava přináší, a pokud si nejste jisti, že je takové riziko dobře ošetřeno vhodnou hardwarovou ochranou napájení. Také rozdíly ve výkonu při operaci zápisu na pevné disky sdílených disků mezi jednotlivými uzly lze vyřešit nastavením možnosti Power Protected pro mezipaměť pro zápis během zápisu u jednotlivých uzlů.

Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
281672 Po povolení zápisu do mezipaměti hrozí ztráta dat (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Část 1: Instalace aktualizace systému Windows 2000

Společnost Microsoft má nyní k dispozici podporovanou funkci, která mění výchozí chování produktů. Tato funkce je však určena pouze ke změně chování popsaného v tomto článku. Tuto funkci použijte pouze u konkrétních systémů, které ji potřebují.

Pokud je tato funkce k dispozici ke stažení, na začátku tohoto článku znalostní báze Knowledge Base naleznete oddíl Hotfix download available (Oprava hotfix ke stažení). Pokud zde tento oddíl není uveden, požádejte o poskytnutí této funkce středisko technické podpory a péče o zákazníky společnosti Microsoft.

Poznámka: Máte-li jakékoli další dotazy nebo je-li třeba vyřešit nějaké potíže, je možné, že pro ně bude nutné vytvořit samostatný požadavek na služby. Další dotazy a žádosti o podporu, které se netýkají této konkrétní funkce, podléhají běžným sazbám za poskytnutí podpory. Úplný seznam telefonních čísel služeb technické podpory a péče o zákazníky společnosti Microsoft a možnost vytvoření samostatného požadavku na služby naleznete na tomto webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Ve formuláři Hotfix download available (Oprava hotfix ke stažení) jsou uvedeny jazyky, v nichž je tato funkce k dispozici. Pokud seznam neobsahuje váš jazyk, znamená to, že daná funkce v tomto jazyku není k dispozici. Anglická verze této opravy má následující atributy souborů (nebo novější). Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Při zobrazení informací o souboru jsou data a čas převedeny na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo na panelu Datum a čas v okně Ovládací panely.
   Datum         Čas   Verze            Velikost    Název souboru
   -------------------------------------------------------
   15. 1. 2003  19:42  5.0.2195.6655  34 832  Classpnp.sys
   15. 1. 2003  19:43  5.0.2195.6655  30 768  Disk.sys
				
Poznámka: Soubory, které jsou součástí této opravy hotfix, mají čísla verze následující po aktualizaci SP3, ale lze je použít v počítačích s aktualizací Windows 2000 SP2 i Windows 2000 SP3. Balíček opravy hotfix lze nainstalovat do počítačů se systémem Windows 2000 SP2 i Windows 2000 SP3.

Část 2: Nastavení možnosti Power Protected pro mezipaměť pro zápis

Po instalaci této aktualizace pro systém Windows 2000 a následném restartování počítače, které zajistí načtení aktualizovaných ovladačů, musíte také zapnout funkci Power Protected, a to pro každý disk, u nějž je povoleno ukládání do mezipaměti a jehož mezipaměť pro zápis je chráněna před náhodným výpadkem napájení. Pokud není možnost Power Protected pro mezipaměť pro zápis zapnuta, neimplementuje tato aktualizace žádnou změnu v chování či výkonu diskových operací.

Ke konfiguraci možnosti Power Protected pro mezipaměť pro zápis použijte u vybraných disků nástroj Dskcache.exe. Nástroj Dskcache.exe je k dispozici samostatně. Další informace o nástroji Dskcache.exe a povolení možnosti Power Protected pro mezipaměť pro zápis naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
811392 Nástroj Dskcache.exe ke konfiguraci možnosti Power Protected pro mezipaměť pro zápis (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Poznámka: Možnost Power Protected pro mezipaměť pro zápis je možné povolit pouze pro disky, které jsou přítomny v počítači. Ve výchozím nastavení je možnost Power Protected pro mezipaměť pro zápis zakázaná. Výsledkem je, že je tato možnost zakázána pro všechny disky, které jsou přidány po nastavení této možnosti. Jsou-li přidány další disky, povolte pro ně možnosti Power Protected pro mezipaměť pro zápis, aby bylo možné nastavení použít.

Pro počítače se systémem Windows XP

Z důvodu odlišnosti systémů Windows 2000 a Windows XP není v současnosti plánováno vydání podporované aktualizace, která by řešila toto chování v systému Windows XP.

Prohlášení

Toto chování je záměrné.

Další informace

Řada diskových zařízení nabízí zvýšení výkonu díky integrované mezipaměti, která umožňuje přednačtení dat z disku a opožděný zápis dat na disk. V některých případech je důležité, aby byla data zapsána na fyzický disk okamžitě a nikoli později v okamžiku nižší aktivity přes integrovanou mezipaměť pro zápis. Takový postup zabraňuje ztrátě či poškození dat v případě, že disk či řadič (podle toho, kde je mezipaměť integrována) například náhle ztratí napájení.

K vynucení okamžitého zápisu dat uložených v mezipaměti na fyzický disk jsou k dispozici dva příkazy:
  • Příkaz k vyprázdnění vyrovnávacích pamětí, který je k dispozici pro disková zařízení SCSI a IDE/ATAPI, přikazuje disku okamžitě zapsat všechna data uložená v mezipaměti na disk. Pro disky SCSI je toto chování implementováno příkazem SYNCHRONIZE CACHE. Pro disky IDE/ATAPI je implementováno příkazem FLUSH CACHE. Tento příkaz je obvykle odeslán jako výsledek volání funkce FlushFileBuffers rozhraní API programem pro systém Windows. Zápis do registru představuje příklad operace, jejímž výsledkem je volání funkce FlushFileBuffers rozhraní API a odeslání příkazu SYNCHRONIZE CACHE na disk.
  • Příkaz k okamžitému zápisu, který je k dispozici pouze pro disková zařízení SCSI, je implementován odesláním příkazu WRITE na disk s nastaveným příznakem ForceUnitAccess (FUA). Tento typ příkazu přikazuje disku okamžitě zapsat aktuální paket dat a obejít tak integrovanou mezipaměť. K tomu obvykle dochází jako výsledek volání funkce WriteFile rozhraní API programem pro systém Windows, aby byl zapsán soubor otevřený voláním funkce CreateFile rozhraní API s nastaveným příznakem FILE_FLAG_WRITE_THROUGH. S příznakem FILE_FLAG_WRITE_THROUGH otevírá soubory obvykle antivirový software. Podpora příznaku FUA je nepovinná a implementují ji pouze některá zařízení SCSI a Fiber Channel (FC), obvykle jednotlivé jednotky (oproti polím RAID).
Z principu tyto příkazy obětují určitý výkon (který obvykle poskytuje na disku integrovaná mezipaměť) ve prospěch bezpečnosti dat, která jsou zapisována na disk. Pokud nejsou data pomocí těchto příkazů okamžitě zapsána na disk a pokud dojde k náhlému výpadku napájení disku, dojde ke ztrátě dat a zapisovaný soubor může být poškozen.

Ve verzích systému Windows 2000 nižších než SP3 nejsou tyto příkazy správně odesílány na disková zařízení, jak je očekáváno. Například příkaz SYNCHRONIZE CACHE není odeslán na disk, jestliže program zavolá funkci FlushFileBuffers, a příznak FUA není nastaven pro příkazy WRITE, když je soubor otevřen s nastaveným příznakem FILE_FLAG_WRITE_THROUGH. Oprava hotfix popisovaná v článku 281672 znalostní báze Microsoft Knowledge Base tuto chybu opravuje a zajišťuje, že jsou tyto příkazy odesílány podle očekávání a poskytují tedy požadovanou ochranu před ztrátou důležitých dat.

Poznámka: Microsoft SQL Server používá často příznak FILE_FLAG_WRITE_THROUGH u místních databázových dat, souborů protokolu a záložních souborů. Místní databázová data mohou obsahovat data z jednotek SCSI a SAN, ale ne data z jednotek NAS. Není-li povolena funkce Power Protected Storage u hardwaru s ochranou mezipaměti pro průběžný zápis, může být výkon serveru SQL ovlivněn během kontroly rozsáhlých databází.

Je-li pro diskové zařízení v modulu snap-in Správa disků konfigurována možnost zápisu mezipaměti, dojde ke dvěma akcím:
  • Na diskové zařízení je odeslán příkaz k zapnutí či vypnutí zápisu do mezipaměti.
  • Je uložena hodnota registru, kterou ovladač disku používá k určení, zda má na disk odeslat příkazy související se správou mezipaměti pro zápis (Flush, Write-Through).
Oprava hotfix popisovaná v tomto článku poskytuje další možnost konfigurace, kterou je možnost Power Protected pro mezipaměť pro zápis. Jsou-li zapnuty možnosti Write Caching i Power Protected, je povolena mezipaměť disku pro zápis a rozpoznána ovladačem disku, který ale na disk neodesílá příkazy související se správou mezipaměti pro zápis (Flush, Write-Through). Nedochází proto k omezení výkonu disku, ke kterému by jinak došlo zapsáním dat z mezipaměti na médium, vzniká ovšem riziko ztráty či poškození dat v případě výpadku napájení v situacích, kdy data uložená v mezipaměti ještě nebyla zapsána na disk.

Následující tabulka shrnuje funkce možností Write Caching a Power Protected:
Zmenšit tuto tabulkuRozšířit tuto tabulku
Write Caching Power Protected
Účinek
Zakázáno Není k dispozici Disk neukládá zapisovaná data do mezipaměti.
Ovladač neodesílá příkazy Flush/Write-Through.
(Toto chování je možné pouze u jednotek, jejichž hardware nepovoluje zápis do mezipaměti.)
Povoleno Zakázáno Disk ukládá zapisovaná data do mezipaměti.
Ovladač odesílá příkazy Flush/Write-Through.
(Výchozí chování aktualizace SP3 a v případě použití této aktualizace také jednotek, jejichž hardware povoluje zápis do mezipaměti.)
Povoleno Povoleno Disk ukládá zapisovaná data do mezipaměti.
Ovladač neodesílá příkazy Flush/Write-Through.
(Chování, které vyplývá z chyby ve verzích před aktualizací SP3, u jednotek, jejichž hardware povoluje zápis do mezipaměti.)

Vlastnosti

ID článku: 332023 - Poslední aktualizace: 1. prosince 2008 - Revize: 12.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Service Pack 3
Klíčová slova: 
kbautohotfix kbhotfixserver kbfix kbbug kbqfe KB332023

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com