ディスクフラッシュのサポート

ローカルディスクやRAID論理ディスクがライトキャッシュを持っている場合、 キャッシュにデータが記録された時点で ディスクへの書き込みが完了したと考えることができます。 このモードは一般にライトバックモードと呼ばれます。 このような機能がない場合の書き込みはライトスルーモードです。 ライトバックモードで運用中に電源障害が起きると、 最後に書き込まれたデータはディスクにコミットされず、 データを紛失する可能性があります。

この影響を緩和するために、DRBDはディスクフラッシュを活用します。 ディスクフラッシュは書き込みオペレーションのひとつで、 対象のデータが安定した(消えることのない)ストレージに書き込まれるまで完了しません。 すなわち、キャッシュへの書き込みではなくディスクへの書き込みを保証します。 DRBDは、レプリケートするデータとそのメタデータをディスクに書き込むときに、 フラッシュ命令を発行します。 実際には、アクティビティログの更新時や 2セットの書き込み順序に依存性がある場合に、DRBDはライトキャッシュを迂回します。 このことにより、電源障害の可能性に対する信頼性が高まっています。

しかしDRBDがディスクフラッシュを活用できるのは、 直下のディスクデバイスがこの機能をサポートしている場合に 限られることに注意してください。 最近のカーネルは、ほとんどのSCSIおよびSATAデバイスに対する フラッシュをサポートしています。 LinuxソフトウェアRAID (md)は、直下のデバイスがサポートする場合に限り、 RAID-1に対してフラッシュをサポートします。 デバイスマッパ(LVM2、dm-raid、マルチパス)もフラッシュをサポートしています。

電池でバックアップされた書き込みキャッシュ(BBWC)は、 電池からの給電による消失しないストレージです。 このようなデバイスは、電源障害から回復したときに 中断していたディスクへの書き込みをディスクにフラッシュできます。 このため、キャッシュへの書き込みは、 事実上安定したストレージへの書き込みと同等とみなせます。 この種のデバイスが使える場合、DRBDの書き込みパフォーマンス向上させるために フラッシュを無効に設定できます。 詳しくは「下位デバイスのフラッシュを無効にする」を参照してください。