起搏器 DRBD 资源未在任何节点上提升为主节点

Inf*_*nfi 7 drbd pacemaker master-slave

首先,我不是 linux 专家,我一直在学习教程并在 google 的帮助下工作,直到现在这都很好,但目前我遇到了一个问题。
我使用的是 CentOS 6.5 和 DRBD 版本 8.4.4。

我有两个运行起搏器的节点,到目前为止一切正常,我设置了 DRBD,我可以手动将一个节点设置为主节点并挂载 DRBD 资源,这样也可以正常工作。

现在我创建了一个起搏器资源来控制 DRBD,但它无法将两个节点中的任何一个提升为 master,这也阻止了它被挂载。

pcs 状态如下所示:

Cluster name: hydroC
Last updated: Wed Jun 25 14:19:49 2014
Last change: Wed Jun 25 14:02:25 2014 via crm_resource on hynode1
Stack: cman
Current DC: hynode1 - partition with quorum
Version: 1.1.10-14.el6_5.3-368c726
2 Nodes configured
4 Resources configured


Online: [ hynode1 hynode2 ]

Full list of resources:

 ClusterIP      (ocf::heartbeat:IPaddr2):       Started hynode1
 Master/Slave Set: MSdrbdDATA [drbdDATA]
     Slaves: [ hynode1 hynode2 ]
 ShareDATA      (ocf::heartbeat:Filesystem):    Stopped
Run Code Online (Sandbox Code Playgroud)

ShareData 保持停止状态,因为没有 master

我最初遵循本教程:http :
//clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Clusters_from_Scratch/_configure_the_cluster_for_drbd.html

这是起搏器配置的外观:

Cluster Name: hydroC
Corosync Nodes:

Pacemaker Nodes:
 hynode1 hynode2

Resources:
 Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=10.0.0.100 cidr_netmask=32
  Operations: monitor interval=30s (ClusterIP-monitor-interval-30s)
 Master: MSdrbdDATA
  Meta Attrs: master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify
=true
  Resource: drbdDATA (class=ocf provider=linbit type=drbd)
   Attributes: drbd_resource=r0
   Operations: monitor interval=60s (drbdDATA-monitor-interval-60s)
 Resource: ShareDATA (class=ocf provider=heartbeat type=Filesystem)
  Attributes: device=/dev/drbd3 directory=/share/data fstype=ext4
  Operations: monitor interval=60s (ShareDATA-monitor-interval-60s)

Stonith Devices:
Fencing Levels:

Location Constraints:
Ordering Constraints:
  promote MSdrbdDATA then start ShareDATA (Mandatory) (id:order-MSdrbdDATA-Share
DATA-mandatory)
Colocation Constraints:
  ShareDATA with MSdrbdDATA (INFINITY) (with-rsc-role:Master) (id:colocation-Sha
reDATA-MSdrbdDATA-INFINITY)

Cluster Properties:
 cluster-infrastructure: cman
 dc-version: 1.1.10-14.el6_5.3-368c726
 no-quorum-policy: ignore
 stonith-enabled: false
Run Code Online (Sandbox Code Playgroud)

从那以后,我尝试了不同的事情,例如设置位置约束或使用不同的资源设置……我从另一个教程中获取了这个:

 Master: MSdrbdDATA
  Meta Attrs: master-max=1 master-node-max=1 clone-max=2 notify=true target-role
=Master is-managed=true clone-node-max=1
  Resource: drbdDATA (class=ocf provider=linbit type=drbd)
   Attributes: drbd_resource=r0 drbdconf=/etc/drbd.conf
   Meta Attrs: migration-threshold=2
   Operations: monitor interval=60s role=Slave timeout=30s (drbdDATA-monitor-int
erval-60s-role-Slave)
               monitor interval=59s role=Master timeout=30s (drbdDATA-monitor-in
terval-59s-role-Master)
               start interval=0 timeout=240s (drbdDATA-start-interval-0)
               stop interval=0 timeout=240s (drbdDATA-stop-interval-0)
Run Code Online (Sandbox Code Playgroud)

但结果保持不变,没有一个节点被提升为主节点。

我很感激任何指导我解决方案的帮助,在此先感谢。

Mat*_*man 1

确保您的 DRBD 设备正常。如果您# cat /proc/drbd查看它的状态,您是否会看到以下内容:cs:Connectedro:Secondary/Secondary,以及最重要的是ds:UpToDate/UpToDate

如果没有UpToDate数据,DRBD 的资源代理将不会升级设备。如果您刚刚创建了设备的元数据,并且尚未强制单个节点进入该Primary角色,您将看到您的磁盘状态为:ds:Inconsistent/Inconsistent。您需要运行以下命令来告诉 DRBD 哪个节点应成为SyncSource集群的节点:# drbdadm primary r0 --force

在正常情况下,这是唯一一次需要强制 DRBD 进入 Primary 的情况;所以--force之后就忘记标志了;)