19.8. Red Hat Gluster Storage の LVM キャッシュ

重要
LVM キャッシュは、Red Hat Enterprise Linux 7.4 以降でのみ使用する必要があります。本リリースには、キャッシュに関して正のエクスペリエンスに重要な修正および機能拡張が多数含まれています。

19.8.1. LVM キャッシュの概要

LVM キャッシュ論理ボリューム (LV) を使用すると、データアクセラレーション層として機能するため、小規模で高速なデバイスにアタッチすることで、ブロックデバイスのパフォーマンスを改善できます。キャッシュが論理ボリュームに割り当てられている場合、Linux カーネルサブシステムはブロックレベルで高速キャッシュ層で「hot」データのコピーを保持しようとします。さらに、キャッシュで使用可能な領域として、最初にキャッシュ層への書き込みが行われます。その結果、多くのワークロードにおいて入出力 (I/O) のパフォーマンスが向上します。

19.8.1.1. LVM キャッシュ vs。DM キャッシュ

dm-cache は、すべての I/O トランザクションに対応する Linux カーネルレベルの device-mapper サブシステムを参照します。ほとんどの操作では、デバイスマッパーの上によりシンプルな抽象化層として論理ボリュームマネージャー(LVM)を使用する管理インターフェースを使用します。したがって、lvmcache は、dm-cache サブシステムの抽象化レイヤーとして機能する LVM システムの一部になります。

19.8.1.2. LVM キャッシュ vs。Gluster 階層型ボリューム

Red Hat Gluster Storage は、階層化されたボリュームをサポートします。これは多くの場合、高速階層のブリックをサポートする同じタイプの高速なデバイスで設定されます。階層操作はファイルレベルにあり、信頼できるストレージプール (TSP) 全体に分散されます。これらの層は、調整可能なアルゴリズムに基づいて階層間でファイルを移動することで機能します。これにより、ファイルはコピーされずに階層間で移行されます。
一方、LVM キャッシュは、ブリックをサポートする各ブロックデバイスでローカルに動作し、ブロックレベルで機能します。LVM キャッシュは、不安定なアルゴリズムを使用して高速レイヤーのホットデータのコピーを保存します (チャンクサイズは最適なパフォーマンスを得るために調整される可能性があります)。
ほとんどのワークロードでは、LVM キャッシュは階層よりも優れたパフォーマンスを提供する傾向があります。ただし、多数のクライアントが同じホットファイルデータセットにアクセスできる特定のタイプのワークロード、または書き込みが一貫してホット層に移動する場合、階層は LVM キャッシュよりも有益となる場合があります。

19.8.1.3. Arbiter ブリック

Arbiter ブリックは、ファイルメタデータトランザクションをすべて格納しますが、3 つ目のデータコピーのオーバーヘッドなしにスプリットブレインの問題を回避するためにデータトランザクションは行いません。ファイルメタデータがファイルに保存されているため、仲裁ブリックはすべてのファイルの空のコピーを効果的に保存できるようにする必要があります。
Red Hat Gluster Storage などの分散システムでは、レイテンシーはファイル操作のパフォーマンスに大きく影響する可能性があります。特にファイルが非常に小さく、ファイルベースのトランザクションが非常に高い場合に影響が大きくなります。このような小さなファイルを使用すると、メタデータレイテンシーのオーバーヘッドは、I/O サブシステムのスループットよりもパフォーマンスに大きな影響を及ぼす可能性があります。したがって、バッキングストレージデバイスが最速のデータストレージデバイスと同じ速度になるように Arbiter ブリックを作成する場合は重要です。したがって、LVM キャッシュを使用して高速なデバイスでデータボリュームを加速する場合は、Arbiter ブックバッキングデバイスとして機能するように同じクラスの高速デバイスを割り当てる必要があります。そうでない場合、速度が遅いと、キャッシュアクセラレートされたデータブリックのパフォーマンス上の利点が無効になる可能性があります。

19.8.1.4. ライトスルー vsライトバック

LVM キャッシュは、ライトスルーモードまたはライトバックモードで動作し、デフォルトではライトスルーモードで動作します。ライトスルーモードでは、書き込まれたすべてのデータはキャッシュレイヤーとメインのデータ層の両方に保存されます。この場合、キャッシュ層に関連付けられたデバイスが失われることは、データの損失を意味するものではありません。
ライトバックモードは、キャッシュレイヤーからメインのデータレイヤーへのデータブロックの書き込みを遅延します。このモードは書き込みのパフォーマンスが向上する可能性がありますが、キャッシュレイヤーに関連付けられたデバイスが失われると、データがローカルで失われます。
注記
データの回復性は、ほとんどの状況でライトバックキャッシュデバイスに障害が発生した場合にグローバルデータの損失を防ぎますが、エッジケースでは自動的に修復できない一貫性が生じる可能性があります。

19.8.1.5. キャッシュフレンドリーワークロード

多くのユースケースで Red Hat Gluster Storage のパフォーマンスを改善するための LVM キャッシュは、ワークロードによって異なります。ブロックベースのキャッシュの利点は、ファイルの負荷が大きくなると、LVM キャッシュが効率的であることを意味します。ただし、ワークロードによっては、LVM キャッシュからほぼ何も利点がないことや、非常にランダムなワークロードや、非常に大きな作業セットを持つワークロードでは、パフォーマンスの低下が生じる可能性もあります。ハードウェアに大きく投資する前に、ストレージのワークロードを迅速化する前に、ワークロードについて理解し、テストを行うことを強く推奨します。