記事
· 2024年6月14日 5m read

Windows の書き込みキャッシュ

(この記事は 2021 年 2 月にレビューされたものです。現在でも Caché ベースのインストールに関連性があり、同様に IRIS ベースのインストールに適用されます。)

この記事では、停電やオペレーティングシステムのクラッシュが発生した場合にシステムをデータ損失または破損の危険にさらす可能性のある Windows の書き込みキャッシュ設定について説明しています。この設定は一部の Windows 構成においてデフォルトでオンになっています。

Windows のディスク書き込みキャッシュを有効にしておくと、(Caché が書き込みフェーズのある重要な時点で OS キャッシュからディスクへの書き込みをフラッシュする場合でも)、Caché(またはその他のプログラム)がそのディスクに書き込む内容の一部は耐久ストレージに必ずしも直ちにコミットされません。コンピューターへの電源が失われた場合、そのデバイスにキャッシュ済みの物は、そのデバイスのキャッシュが非揮発性であるか電源バックアップが備わっていない限り、失われます。Caché はデータの耐久性の保証をオペレーティングシステムに頼っています。このシナリオの場合、その保証が崩れてしまいます。Caché においては、データベースの破損やデータベースまたはジャーナルファイルのデータの欠損という結果に繋がる可能性があります。

InterSystems のドキュメントによると、書き込みイメージジャーナリングによって提供される保証を崩す可能性があるものの 1 つは、ライトバックキャッシュのコンテンツの損失です(http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCDI_wij#GCDI_wij_limits を参照)。InterSystems Worldwider Response Center のデータ整合性チームは、この設定の値が原因でライトバックキャッシュのコンテンツが失われたことを示す、Windows プラットフォームでのデータ損失または破損の事例を多数調査しました。

ディスクには、この種の問題に対する堅牢性を提供するキャッシュを含むことができることに言及しておく価値があります。問題のディスクのキャッシュが非揮発性であるか、電源バックアップが備わっている場合、この設定がオンである場合でも、そのディスクへの書き込みは安全です。問題のストレージが直接接続されたディスクよりも複雑である場合は、このリスクを評価するために、そのストレージインフラストラクチャのどこに書き込みがキャッシュされており、それらのキャッシュが揮発性であるか電源バックアップを備えているかを理解する必要があります。

この設定は「デバイスマネージャー」に移動し、「ディスクドライブ」セクションを展開して特定のディスクのプロパティで確認することができます。関心のある設定は「ポリシー」タブにあります。

書かれている内容は必ずしもここに示すものと同じではなく、デバイスの種類によって異なる場合があります。ただし、これは一般的な記述であり、Windows は、この設定をオンにすると、マシンの電源が切れたりクラッシュしたりした場合にシステムがデータ損失の危険にさらされることを明確にしています。

次は、影響があまり明確でない、同じマシンの別のディスクからの例です。ここで「高いパフォーマンス」を選択すると、他の例の書き込みキャッシュを有効にするのと同じ懸念が生じます。

これらのいずれの例でも、選択された設定はそのデバイスのデフォルトであり、私は変更していません。最初の例ではデフォルトによってデバイスがリスクにさらされていますが、2 つ目の例ではさらされていません。私の知る限り、デバイスんタイプや Windows のバージョンに基づく汎用のデフォルトはありません。言い換えると、そのデバイスにリスクがあるかを知るには、デバイスごとにこの設定を確認する必要があるということです。

システム管理者としてこのシナリオに対応するには基本的に 3 つの方法があります。設定を無効にすることが最も単純な方法であり、確実にこのリスクにさらされないようにすることができます。ただし、設定を無効にすることによって、許容範囲を超えるパフォーマンスの影響が生じることもあり得ます。その場合には、設定をオンのままにし、コンピューターを無停電電源装置(UPS)に接続するのがよい場合もあります。UPS を使用すれば、停電が発生した場合に正常にシャットダウンする十分な時間を得られるため、データの損失や破損を引き起こす停電に対する保護が得られます。最後のオプションは、サーバーが電源を失ったりクラッシュしたリした場合にデータが損失するというリスクを単に受け入れることです。InterSystems はこのオプションは推奨していません。消費者向け UPS は比較的安価で入手できますが、整合性問題の検出と回復には時間がかかり、問題が発生する可能性があるためです。

InterSystems は、コンピューターが無停電電源装置に接続されていることを確認せずに、この設定をオンにすることを推奨していません。ストレージが外部デバイスである場合は、そのデバイスも UPS に接続されている必要があります。

ディスカッション (0)0
続けるにはログインするか新規登録を行ってください