22.3. アバージーの作成に関する留意事項
一部のシステム設定では、データを保護する書き込みバリアは必要ありません。ほとんどの場合、書き込みバリアを有効にすると、パフォーマンスが大幅に向上するため、その他の方法がバリアを書くことが推奨されます。
書き込みキャッシュの無効化
また、データの整合性の問題を回避する 1 つの方法は、書き込みキャッシュが power failures 時にデータを損失しないようにすることです。これを設定する最善の方法は、単に書き込みキャッシュを無効にすることです。1 つ以上の SATA ドライブ(ローカルの SATA コントローラー Intel AHCI 部分をオフに)を備えた簡単なサーバーまたはデスクトップでは、以下のように、h dparm コマンドを使用して、ターゲット 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 カードは、システムが稼働中にバッテリーを再課金します。システムの電源が長期間オフになっている場合、バッテリーはその課金を失い、電源異常中に脆弱なデータを残します。
high-End Arrays
ハイエンドアレイは、電源障害時にデータを保護するさまざまな方法を提供します。そのため、外部 RAID ストレージで内部ドライブの状態を確認する必要はありません。
NFS
NFS クライアントでは、データの整合性が NFS サーバー側によって処理されるため、書き込みバリアを有効にする必要はありません。そのため、(書き込みバリアやその他の手段を介して)電源損失全体でデータの永続性を保証するように NFS サーバーを設定する必要があります。