专注系统运维、网络架构,研究技术凯发app官方网站的解决方案,记录我的思想轨迹、工作学习、生活和关注的领域
分类: 架构设计与优化
2013-07-15 10:17:12
在高可用凯发app官方网站的解决方案(ha)中,为了实现集群中数据的共享,常见两种架构:
1、利用san等架构的盘柜存放共享数据
2、在每台集群中的机器本地磁盘中划分一个空间出来,并利用网络等方式,往集群中其他机器同步,以保证每台机器上的数据是一致的。
当然,为了令第二种架构也能用于数据库等应用,同步应以数据块方式,而非文件拷贝的方式进行,而drbd就是可用于实现第二种架构的软件。
一、什么是 drbd?
drbd实际上是一种块设备的实现,它由内核模块和相关程序两部分而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络raid的功能。也 就是说,当你将数据写入本地的drbd设备上的文件系统时,数据会同时被发送到网络中的另外一台主机之上,并以完全相同的形式记录在一个文件系统中。本地节点(主机)与远程节点(主机)的数据可以保证实时的同步,并保证数据的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一份完全相 同的数据可以继续使用,以达到高可用的目的。
因为drbd是用网络以块的方式进行数据同步的,所以,其不依赖于文件系统、lvm、软raid等上层设备,可用于数据库文件的同步(区别于rsync 的文件同步方式)。
二、运行环境
操作系统:centos 5.9主机名称:
tm-master 192.168.137.132 sdb1 10g
tm-slave 192.168.137.133 sdb1 10g
heartbeat虚拟ip: 192.168.137.13
网关:192.168.137.1
三、初始设置
1. 分别设置两台服务器的主机名tm-master , tm-slave :
# hostname tm-master
# vi /etc/sysconfig/network
networking=yes
networking_ipv6=no
hostname=tm-master
2. 修改两台服务器的 /etc/hosts ,内容相同:
# vi /etc/hosts
192.168.137.132 tm-master
192.168.137.133 tm-slave
3. 确定两台服务器的本地硬盘,这里我们使用的都是 /dev/sdb ,并为其创建一个单独的分区 /dev/sdb1
# fdisk -l /dev/sdb
disk /dev/sdb: 10.7 gb, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
units = cylinders of 16065 * 512 = 8225280 bytes
device boot start end blocks id system
/dev/sdb1 1 1305 10482381 83 linux
注:drbd是以数据块方式同步的,因此,在创建镜像磁盘前,不要创建文件系统。
4. 两台服务器都安装 drbd,这里使用 yum 安装:
# yum -y install drbd kmod-drbd82
5. 确认两台服务器的drbd模块加载是否正常:
# modprobe drbd
# lsmod | grep drbd
drbd 245928 0
四、配置
1. 配置 /etc/drbd.conf ,可参考位置:/usr/share/doc/drbd82-8.2.6/drbd.conf,这里我们先在tm-master 节点直接编辑它:
[root@tm-master ~] vi /etc/drbd.conf
resource r0
{
protocol c;
startup {
wfc-timeout 0;
degr-wfc-timeout 120;
}
disk {
on-io-error detach;
}
syncer {
rate 10m;
}
on tm-master {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.137.132:7789;
meta-disk internal;
}
on tm-master s {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.137.133:7789;
meta-disk internal;
}
}
配置说明:
resource r0; 资源组名称 r0
degr-wfc-timeout 120; 连接超时时间
on-io-error detach; 当磁盘有错误时,不连接
rate 10m; 设置主备节点同步时的网络速率最大值
on tm-master ; 节点的主机名
device /dev/drbd1; 创建的drbd设备
2. 复制tm-master 的配置文件到tm-slave 上:
[root@tm-slave ~]# scp root@tm-slave:/etc/drbd.conf /etc/drbd.conf
3. 在两台服务器上分别初始化分区,并启动服务:
# drbdadm create-md r0
writing meta data…
initialising activity log
not initialized bir0ap
new drbd meta data block sucessfully created.
备注:
1) “r0”是在drbd.conf里定义的资源名称.
2) 当执行命令”drbdadm create-md r0”时,出现以下错误信息。
device size would be truncated, which
would corrupt data and result in
‘access beyond end of device’ errors.
you need to either
* use external meta data (recommended)
* shrink that filesystem first
* zero out the device (destroy the filesystem)
operation refused.
command ‘drbdmeta 0 v08 /dev/xvdb internal create-md’ terminated with exit code 40
drbdadm create-md r0: exited with code 40
解决办法:初始化磁盘文件格式, dd if=/dev/zero of=/dev/sdxx bs=1m count=100
# dd if=/dev/zero of=/dev/sdb1 bs=1m count=100
100 0 records in
100 0 records out
104857600 bytes (105 mb) copied, 1.92004 seconds, 54.6 mb/s
启动:
# /etc/init.d/drbd start
starting drbd resources: [ d(r0) s(r0) n(r0) ].
……….
这里我用到了r0, 你也可以用你的资源组名称,譬如本例的 db。
查看两台机器的状态,用cat /proc/drbd 或 /etc/init.d/drbd status:
[root@tm-master ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
0:r0 connected secondary/secondary inconsistent/inconsistent c
[root@tm-slave ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
0:r0 connected secondary/secondary inconsistent/inconsistent c
现在两机器都是处于secondary,即备机状态。(红色部分标记),如果是unknow,则检查两台是否配置一样。
5. 设置primary主机:
[root@tm-master ~] drbdadm primary r0
第一次可能会设置失败,可以使用:
[root@tm-master ~]# drbdsetup /dev/drbd0 primary -o
将把 tm-master 作为主机,把 tm-master 中的数据以块的方式同步到 tm-slave 中。其中 r0 为资源名,可再次查看状态:
[root@tm-master ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
… sync’ed: 8.8% (9350/10236)m
0:r0 syncsource primary/secondary uptodate/inconsistent c
[root@tm-slave ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
… sync’ed: 13.7% (8847/10236)m
0:r0 synctarget secondary/primary inconsistent/uptodate c
通过/proc/drbd,可以查看磁盘的复制状态:
[root@tm-master ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:syncsource st:primary/secondary ds:uptodate/inconsistent c r—
ns:2151328 nr:0 dw:0 dr:2151328 al:0 bm:131 lo:0 pe:0 ua:0 ap:0 oos:8330696
[===>................] sync’ed: 20.6% (8135/10236)m
finish: 0:12:48 speed: 10,804 (10,244) k/sec
[root@tm-slave ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:synctarget st:secondary/primary ds:inconsistent/uptodate c r—
ns:0 nr:1791904 dw:1791904 dr:0 al:0 bm:109 lo:0 pe:0 ua:0 ap:0 oos:8690120
[==>.................] sync’ed: 17.2% (8486/10236)m
finish: 0:11:18 speed: 12,792 (10,236) k/sec
至此,镜像分区已创建完成,我们在两台服务器上设置为开机自启动:
# chkconfig drbd on
挂载使用
在 primary 主节点上,即 tm-master ,格式化文件系统并挂载
[root@tm-master ~]# mkfs.ext3 /dev/drbd0
[root@tm-master ~]# tune2fs -c 0 -i 0 /dev/drbd0
[root@tm-master ~]# mkdir /home/drbd
[root@tm-master ~]# mount /dev/drbd0 /home/drbd
[root@tm-master ~]# mount
/dev/drbd0 on /home/drbd type ext3 (rw)
注:drbd 设备只能在 primary 端使用,为避免误操作,当机器重启后,默认都处于 secondary 状态,如要使用drbd设备,需手动把其设置为primary。
五、测试
我们在主节点上进行写入测试:
[root@tm-master ~]# echo “tm” > /home/drbd/test.txt
[root@tm-master ~]# cat /home/drbd/test.txt
tm
然后我们在主节点上卸载drbd设备,并把drbd降为secondary状态:
[root@tm-master ~]# umount /home/drbd/
[root@tm-master ~]# drbdadm secondary r0
在从节点上创建挂载点,然后升为 primary 状态:
[root@tm-slave ~]# mkdir /home/drbd
[root@tm-slave ~]# drbdadm primary r0
[root@tm-slave ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
… sync’ed: 54.4% (4673/10236)m
0:r0 synctarget primary/secondary inconsistent/uptodate c
我们可以看到先在tm-slave 已经是primary状态了,挂载文件系统:
[root@tm-slave ~]# mount /dev/drbd0 /home/drbd/
[root@tm-slave ~]# cat /home/drbd/test.txt
tm
测试成功!
此时tm-master 状态自动设置secondary
[root@tm-master ~]# /etc/init.d/drbd status
drbd driver loaded ok; device status:
version: 8.2.6 (api:88/proto:86-88)
git-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res cs st ds p mounted fstype
0:r0 connected secondary/primary uptodate/uptodate c
六、drbd的状态说明
节点drbd的状态,下面是其中一些简写的说明:
field 说明 值:
cs 连接状态 出现的值:
ounconfigured:设备在等待配置。
o unconnected:连接模块时的过渡状态。
o wfconnection:设备等待另一测的配置。
o wfreportparams:过渡状态,等待新tcp 连接的第一个数据包时。
.o syncingall:正将主节点的所有模块复制到次级节点上。
.o syncingquick:通过复制已被更新的模块(因为现在次级节点已经离开了集群)来更新次级节点。
o connected:一切正常。
o timeout:过渡状态。
st 状态(设备的作用) 可能的值为:
o 本地/远程一级状态
o 二级状态
o 未知(这不是一种作用)
ns 网络发送 模块号码
nr 网络接收 模块号码
dw 磁盘写入 模块号码
dr 磁盘读取 模块号码
of 运行中(过时的)模块号码
pe 待解决的 模块号码
ua 未答复的 模块号码(最好为0)
七、nfs上的配置
1.安装nfs软件,略
2.编辑共享的文件,两节点都做下面的配置
[root@tm-master ~]# vim /etc/exports
/home/drbd *(rw) (编辑的内容)
[root@tm-master ~]#service porr0ap start
[root@tm-master ~]#service nfs start
[root@tm-master ~]#showmount -e (两边都配置完后,查看一下共享的文件是否已经可以看到)
[root@masternfs ~]# vim /etc/init.d/nfs (把这个文件的值改一下)
约122行添加
killproc nfsd -9#将/etc/init.d/nfs 脚本中的stop 部分中的killproc#nfsd -2 修改为 -9
同时要启动锁机制,因为同时有两个节点要使用同一份数据,所以需要有总裁,这个尤其是在nfs给mysql 用的时候是必须要用的,对于论坛或网站,要看情况,如果存在对同一文件同时修改的时候必须要启动nfs锁机制,如果没有这种情况,那么建议不要启动,启动 了会降低nfs的性能:/sbin/rpc.lockdecho “/sbin/rpc.lockd” >>/etc/rc.local
八、heartbeat的安装配置
1. 实现heartbeat高可用需要一些软件实现,需要安装上去
#yum install libnet
#yum install heartbeat-devel
#yum install heartbeat-ldirectord
#yum install heartbeat
安装完后会自动建立用户hacluster和组haclient确保两个节点上hacluster用户的的uid和gid相同在两台节点上分别执行:
#cat /etc/passwd | grep hacluster | awk -f “:” ‘{print $3}’cat /etc/passwd | grep hacluster | awk -f “:” ‘{print $4}’cat /etc/group | grep haclient | awk -f “:” ‘{print $3}’结果都相同即可
2. 查看所安装的软件
———————————————–
# rpm -qa | grep heartbeatheartbeat-stonith-2.1.3-3.el5.centos
heartbeat-devel-2.1.3-3.el5.centos
heartbeat-ldirectord-2.1.3-3.el5.centos
heartbeat-pils-2.1.3-3.el5.centos
heartbeat-2.1.3-3.el5.centos
# rpm -qa | grep libnetlibnet-1.1.2.1-2.rf
# rpm -qa | grep ipvsadmipvsadm-1.24-13.el5
———————————————–
在从节点上也作同样的操作
3. 配置主节点的heartbeatheartbeat的主要配置文件有ha.cf、haresources、authkeys,均在/etc/ha.d目录下,在通过yum安装heartbeat后,默认并没有这三个文件,可从解压的源码目录中找到,这里手动创建并编辑。
1)主配置文件:ha.cf配置heartbeat的检测机制本次实例中,内容设置如下:
———————————————–
# cat /etc/ha.d/ha.cf
debugfile /var/log/ha-debu
logfile /var/log/ha-log
logfacility local0
keepalive 2
warntime 10
deadtime 30
initdead 120
hopfudge 1
udpport 694
bcast eth0
ucast eth0 192.168.137.133
auto_failback on
node tm-mater
node tm-slave
ping 192.168.137.254
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root
———————————————–
说明:
debugfile /var/log/ha-debug #用于记录heartbeat的调试信息
logfile /var/log/ha-log #用于记录heartbeat的日志信息
logfacility local0 #系统日志级别
keepalive 2 #设定心跳(监测)间隔时间,默认单位为秒
warntime 10 ##警告时间,通常为deadtime时间的一半
deadtime 30 # 超出30秒未收到对方节点的心跳,则认为对方已经死亡
initdead 120 #网络启动时间,至少为deadtime的两倍。
hopfudge 1 #可选项:用于环状拓扑结构,在集群中总共跳跃节点的数量
udpport 694 #使用udp端口694 进行心跳监测
bcast eth0
ucast eth0 192.168.137.133 #采用单播,进行心跳监测,ip为对方主机
ipauto_failback on #on表示当拥有该资源的属主恢复之后,资源迁移到属主上
node tm-mater #设置集群中的节点,节点名须与uname –n相匹配
node tm-slave #节点2
ping 192.168.137.254 #ping集群以外的节点,这里是网关,用于检测网络的连接性
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root #设置所指定的启动进程的权限
———————————————–
注:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。
2)资源文件haresourcesha.cf文件设置了heartbeat的检验机制,没有执行机制。haresources用来设置当主服务器出现问题时heartbeat的执行机制。 其内容为:当主服务器宕机后,该怎样进行切换操作。切换内容通常有ip地址的切换、服务的切换、共享存储的切换,从而使从服务器具有和主服务器同样的 ip、service、sharestorage,从而使client没有察觉。在两个ha节点上该文件必须完全一致。本次实例中,内容设置如下:
———————————————–
配置资源文件,把参数直接追加进去了
#echo “tm-master ipaddr::10.8.50.13/8/eth0 drbddisk::web filesystem::/dev/drbd0::/home/drdb::ext3 killnfsd” >> /etc/ha.d/haresources
解释:10.8.50.13,是虚拟ip地址,/home/drdb 是共享的文件还需要创建一个文件关于nfs的,要受到heartbeat的控制
# cd /etc/ha.d/resource.d/
# touch killnfsd#chmod 755 /etc/ha.d/resource.d/killnfsd (改变它的权限)
#echo “killall -9 nfsd; /etc/init.d/nfs restart; exit 0 ” >> /etc/ha.d/resource.d/killnfsd
(把参数追加上去)———————————————–
3)认证文件authkeys用于配置心跳的加密方式,该文件主要是用于集群中两个节点的认证,采用的算法和密钥在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证。本次实例中,内容设置如下:
# dd if=/dev/random bs=512 count=1 |openssl md5 (随机产生一个参数用md5加密)
0 1 records in
0 1 records out
128 bytes (128 b) copied, 0.000572 seconds, 224 kb/s
48112364a106901dbd8afc6b0305ad72———————————————
# vim /etc/ha.d/authkeys(编辑认证文件)
auth 3
3 md5 9bf2f23aae3a63c16ea681295ffd7666———————————————–
注:需要更改该文件的属性为600,否则heartbeat启动将失败
#chmod 600 /etc/ha.d/authkeys
4) 配置从节点的heartbeat将主节点上的heartbeat配置文件拷贝到从节点,并确保两个节点上的配置文件权限相同:
———————————————–
# scp /etc/ha.d/ha.cf :/etc/ha.d/
# scp /etc/ha.d/haresources :/etc/ha.d/
# scp /etc/ha.d/authkeys :/etc/ha.d/
———————————————–
ha.cf文件需修改ucast的内容,将其指向主节点:ucast eth1 192.168.137.132 #指定对方ip其他文件内容无需修改。
九、使用nfs服务测试
heartbeat编辑各自主机的测试用文件index.hr0l,放到/home/drbd目录下,内容分别为“tm-master”和“tm-slave”
在两机上分别启动nfs服务和heartbeat服务
#service nfs start
#service heartbeat start
再次确认drbb是否工作,主nfs设置drbdadm primary r0
#drbdadm primary r0
#/etc/init.d/drbd status
#ifconfig
eth0:0 link encap:ethernet hwaddr 00:0c:29:88:ec:85
inet addr:192.168.137.13 bcast:192.168.137.255 mask:255.255.255.0
up broadcast running multicast mtu:1500 metric:1
查看主nfs网卡,发现多了一个,虚拟网卡,主要是把资源征用了
模拟故障
1. 主nfs服务器宕机
[root@tm-master ~]# shutdown -h now
2 监控从nfs服务器
[root@tm-slave ~]#tail -f /var/log/ha-log
heartbeat[10419]: 2013/07/12_17:36:14 warn: node tm-master: is dead
heartbeat[10419]: 2013/07/12_17:36:14 info: comm_now_up(): updating status to active
heartbeat[10419]: 2013/07/12_17:36:14 info: local status now set to: 'active'
heartbeat[10419]: 2013/07/12_17:36:14 info: starting child client "/usr/lib64/heartbeat/ipfail" (498,496)
heartbeat[10419]: 2013/07/12_17:36:14 warn: no stonith device configured.
heartbeat[10419]: 2013/07/12_17:36:14 warn: shared disks are not protected.
heartbeat[10419]: 2013/07/12_17:36:14 info: resources being acquired from tm-master.
heartbeat[10500]: 2013/07/12_17:36:14 info: starting "/usr/lib64/heartbeat/ipfail" as uid 498 gid 496 (pid 10500)
heartbeat[10502]: 2013/07/12_17:36:14 info: no local resources [/usr/share/heartbeat/resourcemanager listkeys tm-slave] to acquire.
heartbeat[10419]: 2013/07/12_17:36:14 info: initial resource acquisition complete (t_resources(us))
harc[10501]: 2013/07/12_17:36:14 info: running /etc/ha.d/rc.d/status status
mach_down[10530]: 2013/07/12_17:36:14 info: taking over resource group ipaddr::192.168.137.13/24/eth0
resourcemanager[10556]: 2013/07/12_17:36:14 info: acquiring resource group: tm-master ipaddr::192.168.137.13/24/eth0 drbddisk::r0 filesystem::/dev/drbd0::/home/drbd::ext3 killnfsd
ipaddr[10583]: 2013/07/12_17:36:14 info: resource is stopped
resourcemanager[10556]: 2013/07/12_17:36:14 info: running /etc/ha.d/resource.d/ipaddr 192.168.137.13/24/eth0 start
ipaddr[10681]: 2013/07/12_17:36:14 info: using calculated netmask for 192.168.137.13: 255.255.255.0
ipaddr[10681]: 2013/07/12_17:36:14 info: eval ifconfig eth0:0 192.168.137.13 netmask 255.255.255.0 broadcast 192.168.137.255
ipaddr[10652]: 2013/07/12_17:36:14 info: success
resourcemanager[10556]: 2013/07/12_17:36:15 info: running /etc/ha.d/resource.d/drbddisk r0 start
filesystem[10829]: 2013/07/12_17:36:15 info: resource is stopped
resourcemanager[10556]: 2013/07/12_17:36:15 info: running /etc/ha.d/resource.d/filesystem /dev/drbd0 /home/drbd ext3 start
filesystem[10910]: 2013/07/12_17:36:15 info: running start for /dev/drbd0 on /home/drbd
filesystem[10899]: 2013/07/12_17:36:15 info: success
mach_down[10530]: 2013/07/12_17:36:15 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[10530]: 2013/07/12_17:36:15 info: mach_down takeover complete for node tm-master.
heartbeat[10419]: 2013/07/12_17:36:15 info: mach_down takeover complete.
heartbeat[10419]: 2013/07/12_17:36:24 info: local resource acquisition completed. (none)
heartbeat[10419]: 2013/07/12_17:36:24 info: local resource transition completed.
[root@tm-slave ~]# ifconfig
eth0 link encap:ethernet hwaddr 00:0c:29:5b:3a:c1
inet addr:192.168.137.133 bcast:192.168.137.255 mask:255.255.255.0
up broadcast running multicast mtu:1500 metric:1
rx packets:7671943 errors:0 dropped:0 overruns:0 frame:0
tx packets:2248139 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:11511319129 (10.7 gib) tx bytes:174620385 (166.5 mib)
eth0:0 link encap:ethernet hwaddr 00:0c:29:5b:3a:c1
inet addr:192.168.137.13 bcast:192.168.137.255 mask:255.255.255.0
up broadcast running multicast mtu:1500 metric:1
[root@tm-slave ~]# mount | grep drbd0
/dev/drbd0 on /home/drbd type ext3 (rw)
已成功接管,重新挂载nfs共享!
重启主nfs服务器:
[root@tm-master ~]# tail -f /var/log/ha-log
heartbeat[2134]: 2013/07/12_17:56:02 warn: node tm-slave: is dead
heartbeat[2134]: 2013/07/12_17:56:02 info: comm_now_up(): updating status to active
heartbeat[2134]: 2013/07/12_17:56:02 info: local status now set to: 'active'
heartbeat[2134]: 2013/07/12_17:56:02 info: starting child client "/usr/lib64/heartbeat/ipfail" (498,496)
heartbeat[2134]: 2013/07/12_17:56:02 warn: no stonith device configured.
heartbeat[2134]: 2013/07/12_17:56:02 warn: shared disks are not protected.
heartbeat[2134]: 2013/07/12_17:56:02 info: resources being acquired from tm-slave.
heartbeat[2183]: 2013/07/12_17:56:02 info: starting "/usr/lib64/heartbeat/ipfail" as uid 498 gid 496 (pid 2183)
harc[2184]: 2013/07/12_17:56:02 info: running /etc/ha.d/rc.d/status status
mach_down[2230]: 2013/07/12_17:56:02 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[2230]: 2013/07/12_17:56:02 info: mach_down takeover complete for node tm-slave.
heartbeat[2134]: 2013/07/12_17:56:02 info: initial resource acquisition complete (t_resources(us))
heartbeat[2134]: 2013/07/12_17:56:02 info: mach_down takeover complete.
ipaddr[2257]: 2013/07/12_17:56:02 info: resource is stopped
heartbeat[2185]: 2013/07/12_17:56:02 info: local resource acquisition completed.
harc[2321]: 2013/07/12_17:56:03 info: running /etc/ha.d/rc.d/ip-request-resp ip-request-resp
ip-request-resp[2321]: 2013/07/12_17:56:03 received ip-request-resp ipaddr::192.168.137.13/24/eth0 ok yes
resourcemanager[2342]: 2013/07/12_17:56:03 info: acquiring resource group: tm-master ipaddr::192.168.137.13/24/eth0 drbddisk::r0 filesystem::/dev/drbd0::/home/drbd::ext3 killnfsd
ipaddr[2369]: 2013/07/12_17:56:03 info: resource is stopped
resourcemanager[2342]: 2013/07/12_17:56:03 info: running /etc/ha.d/resource.d/ipaddr 192.168.137.13/24/eth0 start
ipaddr[2467]: 2013/07/12_17:56:03 info: using calculated netmask for 192.168.137.13: 255.255.255.0
ipaddr[2467]: 2013/07/12_17:56:03 info: eval ifconfig eth0:0 192.168.137.13 netmask 255.255.255.0 broadcast 192.168.137.255
ipaddr[2438]: 2013/07/12_17:56:03 info: success
resourcemanager[2342]: 2013/07/12_17:56:03 info: running /etc/ha.d/resource.d/drbddisk r0 start
filesystem[2615]: 2013/07/12_17:56:03 info: resource is stopped
resourcemanager[2342]: 2013/07/12_17:56:03 info: running /etc/ha.d/resource.d/filesystem /dev/drbd0 /home/drbd ext3 start
filesystem[2696]: 2013/07/12_17:56:03 info: running start for /dev/drbd0 on /home/drbd
filesystem[2685]: 2013/07/12_17:56:04 info: success
heartbeat[2134]: 2013/07/12_17:56:13 info: local resource acquisition completed. (none)
heartbeat[2134]: 2013/07/12_17:56:13 info: local resource transition completed.
重新接回来了!
十、常见问题
参考文档:
drbd配置过程 —
使用 drbd 实现磁盘镜像 —