36.4. Red Hat High Availability クラスターの LVM 論理ボリューム
Red Hat High Availability Add-On は、2 つの異なるクラスター設定で LVM ボリュームをサポートします。
以下のクラスター設定を選択できます。
- アクティブ/パッシブのフェイルオーバー設定の HA-LVM (High Availability LVM) ボリューム。クラスターで同時にストレージにアクセスするノードは 1 つだけになります。
-
アクティブ/アクティブ設定でストレージデバイスを管理する
lvmlockd
を使用する LVM ボリューム。クラスターで、1 つ以上のクラスターが同時にストレージにアクセスする必要があります。lvmlockd
デーモンは、Resilient Storage Add-On で提供されます。
36.4.1. HA-LVM または共有ボリュームの選択
HA-LVM、または lvmlockd
デーモンが管理する共有論理ボリュームを使用するタイミングは、デプロイされるアプリケーションまたはサービスのニーズに基づいて決定する必要があります。
-
クラスターの複数のノードが、アクティブ/アクティブシステムで LVM ボリュームへの同時読み取りまたは書き込みを必要とする場合に、
lvmlockd
デーモンを使用して、ボリュームを共有ボリュームとして設定します。lvmlockd
デーモンは、クラスターのノード全体で、LVM ボリュームのアクティベーションおよび変更を同時に調整するシステムを提供します。lvmlockd
デーモンのロックサービスでは、クラスターのさまざまなノードがボリュームと対話し、レイアウトに変更を加えて、LVM メタデータを保護します。この保護は、複数のクラスターノードで同時にアクティブにされるボリュームグループを共有ボリュームとして設定することにより決まります。 -
アクティブ/パッシブで共有リソースを管理するように HA クラスターを設定し、指定した LVM ボリュームに同時にアクセスするメンバーを 1 つのみにした場合は、HA-LVM で
lvmlockd
ロックサービスを使用する必要はありません。
ほとんどのアプリケーションは、その他のインスタンスと同時に実行するように設計または最適化されていないため、アクティブ/パッシブ設定での実行により適しています。共有論理ボリュームで、クラスターに対応していないアプリケーションを実行すると、パフォーマンスが低下することがあります。これは、論理ボリューム自体にクラスター通信のオーバーヘッドが発生するためです。クラスター対応のアプリケーションは、クラスターファイルシステムとクラスター対応の論理ボリュームにより発生するパフォーマンスの低下を上回るパフォーマンスの向上を実現できるようにする必要があります。実現が容易かどうかは、アプリケーションやワークロードによって異なります。クラスターの要件を判断し、アクティブ/アクティブのクラスターを最適化する努力に価値があるかどうかを判断して、どちらの LVM を使用するかを選択します。ほとんどの場合は、HA-LVM を使用すると HA を最適化できます。
HA-LVM および lvmlockd
を使用する共有論理ボリュームは、複数のマシンが変更を重複して行うと発生する、LVM メタデータとその論理ボリュームの破損を防ぐという点で似ています。HA-LVM では、論理ボリュームは、アクティベートする場合は排他的に行うように制限されているため、一度に 1 つのマシンでしかアクティブになりません。そのため、ストレージドライバーのローカル (非クラスター) 実装のみが使用されます。このようにクラスターの調整オーバーヘッドが発生しないようにすると、パフォーマンスが向上します。lvmlockd
を使用する共有ボリュームにはこのような制限はなく、ユーザーは、クラスターのすべてのマシンで論理ボリュームをアクティベートできます。これにより、クラスター対応のストレージドライバーの使用が強制され、クラスター対応のファイルシステムとアプリケーションが優先されます。
36.4.2. クラスター内での LVM ボリュームの設定
クラスターは Pacemaker で管理されます。HA-LVM および共有論理ボリュームは、Pacemaker クラスターと併用される場合のみサポートされ、クラスターリソースとして設定する必要があります。
Pacemaker クラスターが使用する LVM ボリュームグループに、iSCSI ターゲットなど、リモートブロックストレージに存在する 1 つ以上の物理ボリュームが含まれている場合は、Red Hat は、Pacemaker が起動する前にサービスが開始されるように、ターゲット用に systemd resource-agents-deps
ターゲットと systemd
ドロップインユニットを設定することを推奨します。systemd resource-agents-deps
ターゲットを設定する方法は、Pacemaker で管理されないリソース依存関係の起動順序の設定 を参照してください。
HA-LVM ボリュームを Pacemaker クラスターの一部として設定する手順は、Red Hat High Availability クラスターでのアクティブ/パッシブ Apache HTTP サーバーの設定 および Red Hat High Availability クラスターのアクティブ/パッシブな NFS サーバーの設定 を参照してください。
この手順には、以下の手順が含まれます。
- クラスターのみがボリュームグループをアクティベートできるようにする
- LVM 論理ボリュームを設定する
- LVM ボリュームをクラスターリソースとして設定する
-
lvmlockd
デーモンを使用してストレージデバイスをアクティブ/アクティブ設定で管理する共有 LVM ボリュームを設定する手順は、クラスター内の GFS2 ファイルシステム および Red Hat High Availability クラスターでのアクティブ/アクティブ Samba サーバーの設定 を参照してください。