Debian 7:带有起搏器、drbd 和 iSCSI 的 HA NAS

Debian 7:带有起搏器、drbd 和 iSCSI 的 HA NAS

我目前正在尝试在 Debian 7 下制作高可用性 NAS。我正在使用以下软件包:

drbd8-utils
iscsitarget
iscsitarget-dkms
起搏器
corosync
openais

一切工作正常pacemaker(所以我认为这不是一个配置错误)

当我把所有东西都放在起搏器上时,一切都正常,直到我重新启动其中一个节点。这是我的起搏器配置:

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 逻辑单元,目前在虚拟机上处于测试阶段,但我在之前的测试中遇到了完全相同的错误。

有人能帮我找出/纠正这个错误吗?

PS:我的其他内容的配置文件:
http://pastebin.com/rUZYrhxm (/etc/drbd.d/*)
http://pastebin.com/X4VGNJuP (/etc/iet/ietd.conf)

答案1

问题不是来自 drbd 隔离,当我重新启动一个节点时,两个节点确实切换了它们的角色(重新启动的服务器如果尚未变为辅助服务器则变为辅助服务器,而另一个服务器如果尚未变为主服务器则变为主服务器)。

我已经使用集群信息库的资源级别防护(请参阅http://pastebin.com/rUZYrhxm)。

策略是将 iSCSI 服务启动与 drbd Master 角色分组。但它似乎在切换到 Master 角色之前试图启动 iSCSITarget,因此由于磁盘处于只读状态而被锁定。

我再次从头开始重建了整个系统,现在它可以正常工作了,我想我在某个地方犯了一个小错误。

答案2

因为缺少stonith,所以需要在pacemaker中配置stonith,并配置drbd调用pacemaker fencing。

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

答案3

我认为是因为在 Debian 中没有iSCSITarget心跳。检查目录/usr/lib/ocf/resource.d/redhat/

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

如果没有看到,那么您正在调用一个不存在的脚本。

相关内容