ライトビハインド
「ライトビハインド(write-behind)」は、物理ボリュームへのデータの書き込みを非同期化する仕組みです。パフォーマンスが大きく異なる物理ボリュームが混在したアレイで有効な仕組みです。
ここでいうパフォーマンスとは、データの読み込み/書き込み性能のことです。
例えばSSDとHDDの組み合わせが該当します。
対象となるアレイの種類
ここでの内容は、以下のアレイの種類が対象になります。- RAID 1
データの書き込みパフォーマンスがよくない
「RAID 1」アレイでは、データの書き込み要求が発生すると、すべての物理ボリュームにデータを書き込みます。また、すべての物理ボリュームが送られてきたデータを書き込み終わるまで、処理を待ちます。
従って書き込み性能は、アレイを構成する物理ボリュームのうち、最も書き込み性能が悪い物理ボリュームに影響を受けます。
この時、SSDとHDDでアレイを作成していると、データの書き込みパフォーマンスは、HDDの書き込みパフォーマンスに足を引っ張られ、SSDの書き込みパフォーマンスは発揮されません。
データの書き込みを非同期化する
そこで「MDドライバー」はこのような状況に対応するために、データの書き込みを非同期化する機能を提供しています。この機能のことを「ライトビハインド(write-behind)」といいます。
「ライトビハインド」を利用すると、データの書き込みを非同期化し、HDDの書き込み性能に影響を受けることなくデータの書き込み要求を完了させることができます。
ライトインテントビットマップが必要
「ライトビハインド」を利用するには、「ライトインテントビットマップ」が有効になっている必要があります。「RAID 1」ですから、すべての物理ボリュームに同じデータが保持されるように、あるタイミングで同期を行う必要があります。
この同期は、「ライトインテントビットマップ」を利用して行います。
従って「ライトビハインド」を利用するには、「ライトインテントビットマップ」を有効にする必要があります。
一時的に物理ボリュームの内容が異なる
データの書き込みを非同期化するということは、同期が行われるまで各物理ボリュームの内容が異なっている可能性があるということです。ユーザーやアプリが直接物理ボリュームを読み込むことはないとは思いますが、通常の「RAID 1」の感覚で直接物理ボリュームにアクセスすると、更新前のデータが読み込まれることがあります。
ライトビハインドの有効化について
「ライトビハインド」を有効にするには、オプションで「ライトビハインド」の有効化を指定する必要があります。ライトビハインドの指定について
「ライトビハインド」を有効にする物理ボリュームを個別に指定することはできません。「ライトモーストリー」が指定されている物理ボリュームが自動的に「ライトビハインド」の対象になります。
ただし上記でも記述した通り、「ライトインテントビットマップ」が無効になっていると、「ライトビハインド」は有効になりません。
同期を行うタイミングについて
同期を行うタイミングはユーザーが指定できます。同期は、同期する必要があるセクター数が最大値を超えるまで保留できます。
この最大値をユーザーが指定できます。
デフォルト値は256です。