web-dev-qa-db-ja.com

Debian 7:HA NASペースメーカー、drbd、iSCSIを使用

私は現在、debian7で高可用性NASを作成しようとしています。次のパッケージを使用しています:

drbd8-utils
iscsitarget
iscsitarget-dkms
ペースメーカー
corosync
openais

pacemakerがなくてもすべて正常に動作します(したがって、confエラーではないと思います)

すべてをペースメーカーに入れると、ノードの1つを再起動するまですべてが機能します。これが私のペースメーカー設定です:

node NAS-1
node NAS-2
primitive nas_ip ocf:heartbeat:IPaddr2 \
    params ip="192.168.152.210" cidr_netmask="255.255.255.0"
primitive p_drbd ocf:linbit:drbd \
    params drbd_resource="nas" \
    op monitor interval="29" role="Master" \
    op monitor interval="31" role="Slave"
primitive p_iscsitarget ocf:heartbeat:iSCSITarget \
    params iqn="iqn.2015.01.net.utopia:nas" tid="1" \
    op monitor interval="10s"
group g_iscsi nas_ip p_iscsitarget
ms ms_drbd p_drbd \
    meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
colocation nas inf: g_iscsi ms_drbd:Master
order o_drbd inf: ms_drbd:promote g_iscsi:start
property $id="cib-bootstrap-options" \
    dc-version="1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff" \
    cluster-infrastructure="openais" \
    expected-quorum-votes="2" \
    stonith-enabled="false" \
    no-quorum-policy="ignore" \
    default-resource-stickiness="1"
crm(live)configure#

次のエラーがあります:

root@NAS-1:~# crm_mon -1
============
Last updated: Wed Jan  7 16:02:53 2015
Last change: Wed Jan  7 15:57:51 2015 via cibadmin on NAS-1
Stack: openais
Current DC: NAS-2 - partition with quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
4 Resources configured.
============
Online: [ NAS-1 NAS-2 ]

Master/Slave Set: ms_drbd [p_drbd]
    Masters: [ NAS-2 ]
    Slaves: [ NAS-1 ]
Resource Group: g_iscsi
    nas_ip     (ocf::heartbeat:IPaddr2):       Started NAS-2
    p_iscsitarget      (ocf::heartbeat:iSCSITarget):   Started NAS-2 (unmanaged) FAILED

Failed actions:
    p_iscsitarget_stop_0 (node=NAS-2, call=16, rc=5, status=complete): not installed
root@NAS-1:~#

注:NASで構成されたiSCSi論理ユニットは実際にはありません。現在VMでテスト段階にありますが、以前のテストでまったく同じエラーが発生しました。

誰かがそのエラーを特定/修正するのを手伝ってもらえますか?

PS:他のもののための私のconfファイル:
http://Pastebin.com/rUZYrhxm (/etc/drbd.d/*)
http://Pastebin.com/X4VGNJuP (/etc/iet/ietd.conf)

2
Zawarudio

問題はdrbdフェンシングに起因するものではありません。一方のノードを再起動すると、両方のノードが実際に役割を切り替えます(再起動されたサーバーは、まだセカンダリになっていない場合はセカンダリになり、もう一方のサーバーはまだプライマリになりません)。

私はすでにクラスター情報ベースでリソースレベルのフェンシングを使用しています( http://Pastebin.com/rUZYrhxm を参照)。

戦略は、iSCSIサービスのスタートアップをdrbdマスターの役割でグループ化することでした。ただし、マスターの役割に切り替える前にiSCSITargetを起動しようとしていたようで、ディスクが読み取り専用であったためにロックされていました。

システム全体を最初からやり直しましたが、今では機能しています。どこかで小さなエラーが1つあったと思います。

1
Zawarudio

Debianでは、ハートビート用のiSCSITargetがないからだと思います。ディレクトリを確認してください/usr/lib/ocf/resource.d/redhat/

ls -ls /usr/lib/ocf/resource.d/redhat/

そこに表示されない場合は、存在しないスクリプトを呼び出しています。

0
Mauro Diaz

Stonithが欠落しているため、ペースメーカーでstonithを構成し、ペースメーカーフェンシングを呼び出すようにdrbdを構成する必要があります。

http://drbd.linbit.com/users-guide/s-pacemaker-fencing.html
0
c4f4t0r