我是Pacemaker和DRBD的新手,但我必须将它们configuration在一起。 我创build了2个drbd资源:Drbdwww和DrbdMysql但是,当我使用drbd_mon我有以下错误:
Stack: corosync Current DC: s-ha-web1 (version 1.1.15-e174ec8) - partition with quorum Last updated: Mon May 8 21:58:45 2017 Last change: Mon May 8 21:58:36 2017 by hacluster via crmd on s-ha-web1 2 nodes and 7 resources configured Online: [ s-ha-web1 s-ha-web2 ] Resource Group: haweb vip (ocf::heartbeat:IPaddr2): Started s-ha-web1 httpd (ocf::heartbeat:apache): Started s-ha-web1 Drbdwww (ocf::linbit:drbd): FAILED (blocked)[ s-ha-web1 s-ha-web2 ] fsDrbdwww (ocf::heartbeat:Filesystem): Stopped DrbdMysql (ocf::linbit:drbd): FAILED (blocked)[ s-ha-web1 s-ha-web2 ] fsDrbdMysql (ocf::heartbeat:Filesystem): Stopped mysql (ocf::heartbeat:mysql): Stopped Failed Actions: * Drbdwww_monitor_0 on s-ha-web1 'not configured' (6): call=14, status=complete, exitreason='none', last-rc-change='Mon May 8 21:58:40 2017', queued=0ms, exec=21ms * DrbdMysql_stop_0 on s-ha-web1 'not configured' (6): call=23, status=complete, exitreason='none', last-rc-change='Mon May 8 21:58:40 2017', queued=0ms, exec=30ms * Drbdwww_stop_0 on s-ha-web2 'not configured' (6): call=32, status=complete, exitreason='none', last-rc-change='Mon May 8 21:58:40 2017', queued=0ms, exec=17ms * DrbdMysql_stop_0 on s-ha-web2 'not configured' (6): call=31, status=complete, exitreason='none', last-rc-change='Mon May 8 21:58:40 2017', queued=0ms, exec=17ms
这是我的起搏器configuration:
crm configure property stonith-enabled=false crm configure property no-quorum-policy=ignore crm configure primitive vip ocf:heartbeat:IPaddr2 params ip=192.168.100.100 cidr_netmask=24 nic="eth1" op monitor interval="30s" timeout="20s" crm configure primitive Drbdwww ocf:linbit:drbd params drbd_resource="rwww" op monitor interval="30s" role="Slave" op monitor interval="29s" role="Master" crm configure primitive fsDrbdwww ocf:heartbeat:Filesystem params device="/dev/drbd0" directory="/var/www/html" fstype="ext4" crm configure primitive DrbdMysql ocf:linbit:drbd params drbd_resource="rmysql" op monitor interval="30s" role="Slave" op monitor interval="29s" role="Master" crm configure primitive fsDrbdMysql ocf:heartbeat:Filesystem params device="/dev/drbd1" directory="/var/lib/mysql_drbd" fstype="ext4"
有人能帮我吗 ? 如果您需要更多信息,请告诉我。
你在这里错过了很多。
首先,您需要为每个DRBD设备设置一个主从设备资源集。
然后,您可能需要使用托pipe和sorting约束来创build资源组(fs,ip,service),以便让这些组仅在其各自的DRBD设备已提升为主服务器的位置/之后启动。 资源群体意味着群体内的资源的托pipe和sorting。
Google应该使用DRBD和Pacemaker来build立HA LAMP堆栈的许多指南。
编辑:更多的信息提供了答案的forms…我现在可以得到更具体的。
这就是你的CIB(起搏器configuration)应该是这样的:
node 1: s-ha-web1 node 2: s-ha-web2 primitive Drbdwww ocf:linbit:drbd \ params drbd_resource="rwww" \ op monitor interval="30s" role="Slave" \ op monitor interval="29s" role="Master" primitive DrbdMysql ocf:linbit:drbd \ params drbd_resource="rmysql" \ op monitor interval="30s" role="Slave" \ op monitor interval="29s" role="Master" primitive fsDrbdwww ocf:heartbeat:Filesystem \ params device="/dev/drbd0" directory="/var/www/html" fstype="ext4" \ op monitor interval=30s timeout=30s primitive fsDrbdMysql ocf:heartbeat:Filesystem \ params device="/dev/drbd1" directory="/var/lib/mysql_drbd" fstype="ext4" \ op monitor interval=30s timeout=30s primitive vipwww ocf:heartbeat:IPaddr2 \ params ip=192.168.100.100 cidr_netmask=24 nic="eth1" \ op monitor interval="30s" timeout="20s" primitive vipmysql ocf:heartbeat:IPaddr2 \ params ip=192.168.100.101 cidr_netmask=24 nic="eth1" \ op monitor interval="30s" timeout="20s" primitive httpd ocf:heartbeat:apache \ op start interval=0s timeout=40s op stop interval=0s timeout=60s op monitor interval=20s timeout=20s primitive mysql ocf:heartbeat:mysql \ op start interval=0s timeout=120s op stop interval=0s timeout=120s op monitor interval=20s timeout=30s group gwww fsDrbdwww vipwww httpd group gmysql fsDrbdMysql vipmysql mysql order o_drbdwww-before-gwww inf: ms_drbdwww:promote gwww:start colocation cl_gwww-with-drbdwww inf: gwww ms_drbdwww:Master order o_drbdMysql-before-gmysql inf: ms_drbdMysql:promote gmysql:start colocation cl_gmysql-with-drbdMysql inf: gmysql ms_drbdMysql:Master ms ms_drbdwww Drbdwww \ meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true ms ms_drbdMysql DrbdMysql \ meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true property cib-bootstrap-options: \ stonith-enabled=false \ no-quorum-policy=ignore
DRBD资源上的失败操作可能意味着您没有正确设置DRBD设备。 你已经创build了设备的元数据? 如果是这样,您是否已经强制将一个节点提升为Primary以启动初始同步? cat /proc/drbd的输出是什么样的?
谢谢回答。 我创build了一个名为haweb的组,使用vbd Drbdwww DrbdMysql fsDrbdwww fsDrbdMysql apache2 mysql,但是当我想创build一个主从资源时,我遇到了错误,因为Drbdwww和DrbdMysql是haweb组的子项。 我删除了haweb组,并创build主从属资源
ms ms_drbdMysql DrbdMysql \ meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true ms ms_drbdwww Drbdwww \ meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
但我仍然失败(被封锁):
Master/Slave Set: ms_drbdwww [Drbdwww] Drbdwww (ocf::linbit:drbd): FAILED s-ha-web2 (blocked) Master/Slave Set: ms_drbdMysql [DrbdMysql] DrbdMysql (ocf::linbit:drbd): FAILED s-ha-web2 (blocked) * fsDrbdwww_start_0 on s-ha-web1 'unknown error' (1): call=14, status=complete, exitreason='Couldn't mount filesystem /dev/drbd0 on /var/www/html', last-rc-change='Mon May 8 23:24:04 2017', queued=0ms, exec=17ms * fsDrbdMysql_start_0 on s-ha-web1 'unknown error' (1): call=21, status=complete, exitreason='Couldn't mount filesystem /dev/drbd1 on /var/lib/mysql_drbd', last-rc-change='Mon May 8 23:24:04 2017', queued=0ms, exec=17ms
现在我有一些资源在服务器1和其他服务器2 :(我会search一些关于主机托pipe和组的更多信息!谢谢
编辑:我不知道如何创build我的goup(s)和主机(s)我是否必须创build2个VIP? 1为Apache + DRBD-WWW和1为MySQL和DRBD-MySQL?