スタックリソースでは、マルチノードクラスタの多重冗長性のために、 あるいはオフサイトのディザスタリカバリ機能を確立するためにDRBDを使用できます。 このセクションでは、そのような構成におけるDRBDおよびPacemakerの設定方法について説明します。
この構成シナリオでは、1つのサイトの2ノードの高可用性クラスタと、 オフサイトに収容される可能性が高い独立した1つのノードについて説明します。 第3のノードは、障害回復ノードとして機能するスタンドアロンサーバです。 次の図で概念を説明します。
この例では、aliceとbobが2ノードのPacemakerクラスタを形成し、
charlieはPacemakerで管理されないオフサイトのノードです。
このような構成を作成する場合は、 「3ノードセットアップの作成」で説明されているように、 まずDRBDリソースの設定および初期化を行います。 そして、次のCRM構成でPacemakerを設定します。
primitive drbd_r0 ocf:linbit:drbd \
params drbd_resource="r0"
primitive drbd_r0-U ocf:linbit:drbd \
params drbd_resource="r0-U" \
primitive ip_stacked ocf:heartbeat:IPaddr2 \
params ip="192.168.42.1" nic="eth0"
ms ms_drbd_r0 res_drbd_r0 \
meta master-max="1" master-node-max="1" \
clone-max="2" clone-node-max="1" \
notify="true" globally-unique="false"
ms ms_drbd_r0-U res_drbd_r0-U \
meta master-max="1" clone-max="1" \
clone-node-max="1" master-node-max="1" \
notify="true" globally-unique="false"
colocation c_drbd_r0-U_on_drbd_r0 \
inf: ms_drbd_r0-U ms_drbd_r0:Master
colocation c_drbd_r0-U_on_ip \
inf: ms_drbd_r0-U res_ip_stacked
colocation c_ip_on_r0_master \
inf: res_ip_stacked ms_drbd_r0:Master
order o_ip_before_r0-U \
inf: res_ip_stacked ms_drbd_r0-U:start
order o_drbd_r0_before_r0-U \
inf: ms_drbd_r0:promote ms_drbd_r0-U:start
この構成を/tmp/crm.txtという一時ファイルに保存しておけば、
次のコマンドでライブクラスタ構成へインポートできます。
crm configure < /tmp/crm.txt
この構成では、以下のアクションがalice/bobクラスタで
正しい順番で実行されます。
PacemakerはDRBDリソースr0を両方のクラスタノードで開始し、
1つのノードをマスター(DRBD プライマリ)ロールに昇格させます。
次に、Pacemakerは、スタックリソースが
第3のノードのレプリケーションに使用するIPアドレス192.168.42.1を開始します。
r0 DRBDリソース用のマスターロールにすでに昇格しているノードでも同様です。
現在はr0用のプライマリロールと
r0-U用のレプリケーションIPアドレスも持つノード上では、
オフサイトノードに接続およびレプリケートするr0-U DRBDリソースをPacemakerが開始します。
次に、Pacemakerがr0-Uリソースもプライマリロールに昇格させるため、
アプリケーションでも使用可能になります。
このように、以上のPacemaker構成では、 クラスタノード間だけではなく第3のオフサイトノードでも完全なデータ冗長性が確保されます。
![]() | 注意 |
|---|---|
このタイプのセットアップは通常、 DRBD Proxyとともに配備されます。 |