22.3. 書き込みバリアに関する考慮事項
一部のシステム設定では、データを保護するための書き込みバリアは必要ありません。多くの場合、書き込みバリアを有効にするとパフォーマンスが大幅に低下するため、書き込みバリアは他の方法が推奨されます。
書き込みキャッシュの無効化
別の方法としてデータ整合性の問題を回避する 1 つの方法は、書き込みキャッシュが電源障害時にデータを失わないようにすることです。可能な場合、これを設定する最良の方法は、書き込みキャッシュを無効にすることです。1 つ以上の SATA ドライブを備えたシンプルなサーバーまたはデスクトップ (ローカルの SATA コントローラー Intel AHCI パート外) で、次のコマンドを使用して、ターゲットの SATA ドライブの書き込みキャッシュを無効にできます。
#
hdparm -W0 /device/
バッテリーでバックアップされる書き込みキャッシュ
システムがバッテリークアップ式書き込みキャッシュを備えたハードウェア RAID コントローラーを使用する場合は常に、書き込みバリアも不要です。システムにそのようなコントローラーが装備されていて、そのコンポーネントドライブで書き込みキャッシュが無効になっている場合、コントローラーはライトスルーキャッシュとして機能します。これは、書き込みキャッシュデータが電力損失に耐えることをカーネルに通知します。
ほとんどのコントローラーは、ベンダー固有のツールを使用して、ターゲットドライブのクエリーおよび操作を行います。たとえば、LSI Megaraid SAS コントローラーは、バッテリーでバックアップされた書き込みキャッシュを使用します。このタイプのコントローラーでは、ターゲットドライブを管理する MegaCli64 ツールが必要です。LSI Megaraid SAS 用のすべてのバックエンドドライブの状態を表示するには、次のコマンドを実行します。
#
MegaCli64 -LDGetProp -DskCache -LAll -aALL
LSI Megaraid SAS 用のすべてのバックエンドドライブの書き込みキャッシュを無効にするには、次のコマンドを実行します。
#
MegaCli64 -LDSetProp -DisDskCache -Lall -aALL
注記
ハードウェア RAID カードは、システムの稼働中にバッテリーを再充電します。システムの電源を長時間切ったままにしておくと、バッテリーの充電が失われ、停電時に保存されているデータは脆弱なままになります。
ハイエンドアレイ
ハイエンドアレイは、電源の障害発生時にデータを保護するさまざまな方法を提供します。このため、外部 RAID ストレージの内部ドライブの状態を確認する必要はありません。
NFS
データの整合性は NFS サーバー側で処理されるため、NFS クライアントは書き込みバリアを有効にする必要はありません。そのため、NFS サーバーは、(書き込みバリアまたはその他の手段のどちらを介しても) 電源損失全体にわたってデータの永続性を確保するために設定する必要があります。