设为首页 收藏本站
查看: 1249|回复: 0

[经验分享] Heartbeat+Drbd+NFS高可用实现

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-27 09:09:39 | 显示全部楼层 |阅读模式
继续之前的操作,来完成heartbeat+drbd+nfs高可用的实现。
heartbeat+drbd还是使用原来的环境即可,然而需要添加一台nfs客户端,客户端的信息如下:
主机名IP地址角色
server136.contoso.com192.168.49.136nfs客户端
一、环境准备
1)注意:因为我的客户端是192.168.49.0/24端,所以这里需要把VIP改为这个网段,所以先修改两个节点的haresources文件,将VIP修改为192.168.49.100。可以根据实际情况来看是否需要这一步操作。
[iyunv@heartbeat01 ~]# tail -1 /etc/ha.d/haresources
heartbeat01.contoso.com  IPaddr::192.168.49.100/24/eth1 drbddisk::test Filesystem::/dev/drbd0::/data::ext4
[iyunv@heartbeat02 ~]# tail -1 /etc/ha.d/haresources
heartbeat01.contoso.com  IPaddr::192.168.49.100/24/eth1 drbddisk::test Filesystem::/dev/drbd0::/data::ext4
2)两个drbd节点要安装nfs(以下操作需要在两个节点上操作)
1
2
3
4
5
6
7
8
yum -y install rpcbind nfs-utils
vi /etc/exports
/data  192.168.49.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)
/etc/init.d/rpcbind start
chkconfig rpcbind on
/etc/init.d/nfs start
chkconfig nfs off
chmod -R 777 /data



3)客户端上安装nfs
1
2
3
yum -y install rpcbind nfs-utils
/etc/init.d/rpcbind start
chkconfig rpcbind on



4)客户端上测试nfs挂载
1
2
3
4
showmount -e 192.168.49.100
mkdir /data
mount -t nfs 192.168.49.100:/data /data
echo "mount -t nfs 192.168.49.100:/data /data" >>/etc/rc.local



[iyunv@server136 mnt]# showmount -e 172.16.49.100
Export list for 172.16.49.100:
/data 192.168.49.0/255.255.255.0
[iyunv@server136 ~]# mount -t nfs 192.168.49.100:/data /data
[iyunv@server136 ~]# cd /data
[iyunv@server136 data]# mkdir nfsclient
[iyunv@server136 data]# touch client.txt
[iyunv@server136 data]# ls
10.txt  20.txt  30.txt  40.txt  50.txt  60.txt  70.txt  80.txt  90.txt  client.txt
11.txt  21.txt  31.txt  41.txt  51.txt  61.txt  71.txt  81.txt  91.txt  lost+found
12.txt  22.txt  32.txt  42.txt  52.txt  62.txt  72.txt  82.txt  92.txt  nfsclient
13.txt  23.txt  33.txt  43.txt  53.txt  63.txt  73.txt  83.txt  93.txt
14.txt  24.txt  34.txt  44.txt  54.txt  64.txt  74.txt  84.txt  94.txt
15.txt  25.txt  35.txt  45.txt  55.txt  65.txt  75.txt  85.txt  95.txt
16.txt  26.txt  36.txt  46.txt  56.txt  66.txt  76.txt  86.txt  96.txt
17.txt  27.txt  37.txt  47.txt  57.txt  67.txt  77.txt  87.txt  97.txt
18.txt  28.txt  38.txt  48.txt  58.txt  68.txt  78.txt  88.txt  98.txt
19.txt  29.txt  39.txt  49.txt  59.txt  69.txt  79.txt  89.txt  99.txt
1.txt   2.txt   3.txt   4.txt   5.txt   6.txt   7.txt   8.txt   9.txt
二、修改heartbeat资源配置
1)添加nfs服务
因为两个节点都没有设置nfs开机启动,而是让heartbeat接管nfs服务,在主节点获取VIP之后,然后启动nfs服务,所以需要将nfs服务加入heartbeat资源中
2)添加脚本文件
添加一个脚本文件killnfsd,目的是在发生故障切换时,能保障客户端挂载nfs正常。因为如果没有该脚本,在NFS服务切换后,客户端需要重新mount一下nfs共享目录,才可以正常使用,否则会出现“stale NFS file handle”的错误。
1
2
3
4
5
6
7
vi /etc/ha.d/resource.d/killnfsd
#!/bin/bash
#
killall -9 nfsd
/etc/init.d/nfs restart
exit 0
chmod +x /etc/ha.d/resource.d/killnfsd



3)编辑/etc/ha.d/haresources文件
vi /etc/ha.d/haresources
[iyunv@heartbeat01 ~]# tail -1 /etc/ha.d/haresources
heartbeat01.contoso.com  IPaddr::192.168.49.100/24/eth1 drbddisk::test Filesystem::/dev/drbd0::/data::ext4 nfs killnfsd
[iyunv@heartbeat02 ~]# tail -1 /etc/ha.d/haresources
heartbeat01.contoso.com  IPaddr::192.168.49.100/24/eth1 drbddisk::test Filesystem::/dev/drbd0::/data::ext4 nfs killnfsd
三、配置nfs共享并手动挂载测试
1、正常启动heartbeat
依次启动heartbeat01和heartbeat02上的heartbeat服务,然后分别到两个节点上查看:
heartbeat01:

[iyunv@heartbeat01 ~]# ip a |grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:4 nr:35740 dw:35744 dr:709 al:1 bm:9 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat01 ~]# ls /data
10.txt  20.txt  30.txt  40.txt  50.txt  60.txt  70.txt  80.txt  90.txt  client.txt
11.txt  21.txt  31.txt  41.txt  51.txt  61.txt  71.txt  81.txt  91.txt  lost+found
12.txt  22.txt  32.txt  42.txt  52.txt  62.txt  72.txt  82.txt  92.txt  nfsclient
13.txt  23.txt  33.txt  43.txt  53.txt  63.txt  73.txt  83.txt  93.txt
14.txt  24.txt  34.txt  44.txt  54.txt  64.txt  74.txt  84.txt  94.txt
15.txt  25.txt  35.txt  45.txt  55.txt  65.txt  75.txt  85.txt  95.txt
16.txt  26.txt  36.txt  46.txt  56.txt  66.txt  76.txt  86.txt  96.txt
17.txt  27.txt  37.txt  47.txt  57.txt  67.txt  77.txt  87.txt  97.txt
18.txt  28.txt  38.txt  48.txt  58.txt  68.txt  78.txt  88.txt  98.txt
19.txt  29.txt  39.txt  49.txt  59.txt  69.txt  79.txt  89.txt  99.txt
1.txt   2.txt   3.txt   4.txt   5.txt   6.txt   7.txt   8.txt   9.txt
[iyunv@heartbeat01 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 2528) is running...
nfsd (pid 2544 2543 2542 2541 2540 2539 2538 2537) is running...
rpc.rquotad (pid 2523) is running...

heartbeat02:
[iyunv@heartbeat02 ~]# ip a |grep 49.100
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:12288 nr:4 dw:4 dr:12288 al:0 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# ls /data
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
2、在客户端上手动挂载nfs共享目录
[iyunv@server136 ~]# showmount -e 192.168.49.100
Export list for 192.168.49.100:
/data 192.168.49.0/255.255.255.0
[iyunv@server136 ~]# mount -t nfs 192.168.49.100:/data /data
[iyunv@server136 ~]# ls /data
10.txt  20.txt  30.txt  40.txt  50.txt  60.txt  70.txt  80.txt  90.txt  client.txt
11.txt  21.txt  31.txt  41.txt  51.txt  61.txt  71.txt  81.txt  91.txt  lost+found
12.txt  22.txt  32.txt  42.txt  52.txt  62.txt  72.txt  82.txt  92.txt  nfsclient
13.txt  23.txt  33.txt  43.txt  53.txt  63.txt  73.txt  83.txt  93.txt
14.txt  24.txt  34.txt  44.txt  54.txt  64.txt  74.txt  84.txt  94.txt
15.txt  25.txt  35.txt  45.txt  55.txt  65.txt  75.txt  85.txt  95.txt
16.txt  26.txt  36.txt  46.txt  56.txt  66.txt  76.txt  86.txt  96.txt
17.txt  27.txt  37.txt  47.txt  57.txt  67.txt  77.txt  87.txt  97.txt
18.txt  28.txt  38.txt  48.txt  58.txt  68.txt  78.txt  88.txt  98.txt
19.txt  29.txt  39.txt  49.txt  59.txt  69.txt  79.txt  89.txt  99.txt
1.txt   2.txt   3.txt   4.txt   5.txt   6.txt   7.txt   8.txt   9.txt
[iyunv@server136 data]# touch test1.txt
此时,可以正常写入。
这里我添加一个脚本,来执行一个持续写入的任务,用来测试在故障切换过程中,向NFS共享目录/data中写入数据是否受影响。脚本内容如下:
1
2
3
4
5
6
7
8
9
#!/bin/bash
#
while true;do
    for i in {1..1000}
      do
          touch /data/action$i.txt
          sleep 2
    done
done



然后后台执行该脚本:
1
2
[iyunv@server136 scripts]# sh wrnfs.sh &
[1] 5272



四、故障切换测试
1、手工停止heartbeat01上的heartbeat服务,观察一下两个节点以及nfs客户单的状态:
1)heartbeat01:

[iyunv@heartbeat01 ~]# /etc/init.d/heartbeat stop
Stopping High-Availability services: Done.
2)heartbeat02:
[iyunv@heartbeat02 ~]# ip a |grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:12292 nr:1600 dw:1604 dr:13001 al:1 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# ls /data
10.txt  21.txt  32.txt  43.txt  54.txt  65.txt  76.txt  87.txt  98.txt        action5.txt
11.txt  22.txt  33.txt  44.txt  55.txt  66.txt  77.txt  88.txt  99.txt        action6.txt
12.txt  23.txt  34.txt  45.txt  56.txt  67.txt  78.txt  89.txt  9.txt         action7.txt
13.txt  24.txt  35.txt  46.txt  57.txt  68.txt  79.txt  8.txt   action10.txt  action8.txt
14.txt  25.txt  36.txt  47.txt  58.txt  69.txt  7.txt   90.txt  action11.txt  action9.txt
15.txt  26.txt  37.txt  48.txt  59.txt  6.txt   80.txt  91.txt  action12.txt  client.txt
16.txt  27.txt  38.txt  49.txt  5.txt   70.txt  81.txt  92.txt  action13.txt  lost+found
17.txt  28.txt  39.txt  4.txt   60.txt  71.txt  82.txt  93.txt  action14.txt  nfsclient
18.txt  29.txt  3.txt   50.txt  61.txt  72.txt  83.txt  94.txt  action1.txt   test1.txt
19.txt  2.txt   40.txt  51.txt  62.txt  73.txt  84.txt  95.txt  action2.txt
1.txt   30.txt  41.txt  52.txt  63.txt  74.txt  85.txt  96.txt  action3.txt
20.txt  31.txt  42.txt  53.txt  64.txt  75.txt  86.txt  97.txt  action4.txt
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 2571) is running...
nfsd (pid 2587 2586 2585 2584 2583 2582 2581 2580) is running...
rpc.rquotad (pid 2566) is running...
3)nfs客户端
[iyunv@server136 ~]# ls /data
10.txt  24.txt  38.txt  51.txt  65.txt  79.txt  92.txt        action16.txt  action7.txt
11.txt  25.txt  39.txt  52.txt  66.txt  7.txt   93.txt        action17.txt  action8.txt
12.txt  26.txt  3.txt   53.txt  67.txt  80.txt  94.txt        action18.txt  action9.txt
13.txt  27.txt  40.txt  54.txt  68.txt  81.txt  95.txt        action19.txt  client.txt
14.txt  28.txt  41.txt  55.txt  69.txt  82.txt  96.txt        action1.txt   lost+found
15.txt  29.txt  42.txt  56.txt  6.txt   83.txt  97.txt        action20.txt  nfsclient
16.txt  2.txt   43.txt  57.txt  70.txt  84.txt  98.txt        action21.txt  test1.txt
17.txt  30.txt  44.txt  58.txt  71.txt  85.txt  99.txt        action22.txt
18.txt  31.txt  45.txt  59.txt  72.txt  86.txt  9.txt         action23.txt
19.txt  32.txt  46.txt  5.txt   73.txt  87.txt  action10.txt  action24.txt
1.txt   33.txt  47.txt  60.txt  74.txt  88.txt  action11.txt  action2.txt
20.txt  34.txt  48.txt  61.txt  75.txt  89.txt  action12.txt  action3.txt
21.txt  35.txt  49.txt  62.txt  76.txt  8.txt   action13.txt  action4.txt
22.txt  36.txt  4.txt   63.txt  77.txt  90.txt  action14.txt  action5.txt
23.txt  37.txt  50.txt  64.txt  78.txt  91.txt  action15.txt  action6.txt
2、然后再启动heartbeat01的heartbeat服务,再次查看故障切换的情况
1)heartbeat01

[iyunv@heartbeat01 ~]# /etc/init.d/heartbeat start
Starting High-Availability services: INFO:  Resource is stopped
Done.

[iyunv@heartbeat01 ~]# ip a |grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:1604 nr:38732 dw:40336 dr:1766 al:3 bm:9 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat01 ~]# ls /data
10.txt  39.txt  67.txt  95.txt         action21.txt  action4.txt   action78.txt
11.txt  3.txt   68.txt  96.txt         action22.txt  action50.txt  action79.txt
12.txt  40.txt  69.txt  97.txt         action23.txt  action51.txt  action7.txt
13.txt  41.txt  6.txt   98.txt         action24.txt  action52.txt  action80.txt
14.txt  42.txt  70.txt  99.txt         action25.txt  action53.txt  action81.txt
15.txt  43.txt  71.txt  9.txt          action26.txt  action54.txt  action82.txt
16.txt  44.txt  72.txt  action100.txt  action27.txt  action55.txt  action83.txt
17.txt  45.txt  73.txt  action101.txt  action28.txt  action56.txt  action84.txt
18.txt  46.txt  74.txt  action102.txt  action29.txt  action57.txt  action85.txt
19.txt  47.txt  75.txt  action103.txt  action2.txt   action58.txt  action86.txt
1.txt   48.txt  76.txt  action104.txt  action30.txt  action59.txt  action87.txt
20.txt  49.txt  77.txt  action105.txt  action31.txt  action5.txt   action88.txt
21.txt  4.txt   78.txt  action106.txt  action32.txt  action60.txt  action89.txt
22.txt  50.txt  79.txt  action107.txt  action33.txt  action61.txt  action8.txt
23.txt  51.txt  7.txt   action108.txt  action34.txt  action62.txt  action90.txt
24.txt  52.txt  80.txt  action109.txt  action35.txt  action63.txt  action91.txt
25.txt  53.txt  81.txt  action10.txt   action36.txt  action64.txt  action92.txt
26.txt  54.txt  82.txt  action110.txt  action37.txt  action65.txt  action93.txt
27.txt  55.txt  83.txt  action111.txt  action38.txt  action66.txt  action94.txt
28.txt  56.txt  84.txt  action112.txt  action39.txt  action67.txt  action95.txt
29.txt  57.txt  85.txt  action11.txt   action3.txt   action68.txt  action96.txt
2.txt   58.txt  86.txt  action12.txt   action40.txt  action69.txt  action97.txt
30.txt  59.txt  87.txt  action13.txt   action41.txt  action6.txt   action98.txt
31.txt  5.txt   88.txt  action14.txt   action42.txt  action70.txt  action99.txt
32.txt  60.txt  89.txt  action15.txt   action43.txt  action71.txt  action9.txt
33.txt  61.txt  8.txt   action16.txt   action44.txt  action72.txt  client.txt
34.txt  62.txt  90.txt  action17.txt   action45.txt  action73.txt  lost+found
35.txt  63.txt  91.txt  action18.txt   action46.txt  action74.txt  nfsclient
36.txt  64.txt  92.txt  action19.txt   action47.txt  action75.txt  test1.txt
37.txt  65.txt  93.txt  action1.txt    action48.txt  action76.txt
38.txt  66.txt  94.txt  action20.txt   action49.txt  action77.txt
[iyunv@heartbeat01 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 4151) is running...
nfsd (pid 4168 4167 4166 4165 4164 4163 4162 4161) is running...
rpc.rquotad (pid 4146) is running...
2)heartbeat02
[iyunv@heartbeat02 ~]# ip a |grep 49.100
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:15280 nr:1624 dw:4616 dr:13321 al:3 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# ls /data
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
3)nfs客户端
[iyunv@server136 ~]# ls /data
10.txt  44.txt  78.txt         action111.txt  action145.txt  action39.txt  action72.txt
11.txt  45.txt  79.txt         action112.txt  action146.txt  action3.txt   action73.txt
12.txt  46.txt  7.txt          action113.txt  action147.txt  action40.txt  action74.txt
13.txt  47.txt  80.txt         action114.txt  action148.txt  action41.txt  action75.txt
14.txt  48.txt  81.txt         action115.txt  action149.txt  action42.txt  action76.txt
15.txt  49.txt  82.txt         action116.txt  action14.txt   action43.txt  action77.txt
16.txt  4.txt   83.txt         action117.txt  action150.txt  action44.txt  action78.txt
17.txt  50.txt  84.txt         action118.txt  action151.txt  action45.txt  action79.txt
18.txt  51.txt  85.txt         action119.txt  action152.txt  action46.txt  action7.txt
19.txt  52.txt  86.txt         action11.txt   action153.txt  action47.txt  action80.txt
1.txt   53.txt  87.txt         action120.txt  action154.txt  action48.txt  action81.txt
20.txt  54.txt  88.txt         action121.txt  action15.txt   action49.txt  action82.txt
21.txt  55.txt  89.txt         action122.txt  action16.txt   action4.txt   action83.txt
22.txt  56.txt  8.txt          action123.txt  action17.txt   action50.txt  action84.txt
23.txt  57.txt  90.txt         action124.txt  action18.txt   action51.txt  action85.txt
24.txt  58.txt  91.txt         action125.txt  action19.txt   action52.txt  action86.txt
25.txt  59.txt  92.txt         action126.txt  action1.txt    action53.txt  action87.txt
26.txt  5.txt   93.txt         action127.txt  action20.txt   action54.txt  action88.txt
27.txt  60.txt  94.txt         action128.txt  action21.txt   action55.txt  action89.txt
28.txt  61.txt  95.txt         action129.txt  action22.txt   action56.txt  action8.txt
29.txt  62.txt  96.txt         action12.txt   action23.txt   action57.txt  action90.txt
2.txt   63.txt  97.txt         action130.txt  action24.txt   action58.txt  action91.txt
30.txt  64.txt  98.txt         action131.txt  action25.txt   action59.txt  action92.txt
31.txt  65.txt  99.txt         action132.txt  action26.txt   action5.txt   action93.txt
32.txt  66.txt  9.txt          action133.txt  action27.txt   action60.txt  action94.txt
33.txt  67.txt  action100.txt  action134.txt  action28.txt   action61.txt  action95.txt
34.txt  68.txt  action101.txt  action135.txt  action29.txt   action62.txt  action96.txt
35.txt  69.txt  action102.txt  action136.txt  action2.txt    action63.txt  action97.txt
36.txt  6.txt   action103.txt  action137.txt  action30.txt   action64.txt  action98.txt
37.txt  70.txt  action104.txt  action138.txt  action31.txt   action65.txt  action99.txt
38.txt  71.txt  action105.txt  action139.txt  action32.txt   action66.txt  action9.txt
39.txt  72.txt  action106.txt  action13.txt   action33.txt   action67.txt  client.txt
3.txt   73.txt  action107.txt  action140.txt  action34.txt   action68.txt  lost+found
40.txt  74.txt  action108.txt  action141.txt  action35.txt   action69.txt  nfsclient
41.txt  75.txt  action109.txt  action142.txt  action36.txt   action6.txt   test1.txt
42.txt  76.txt  action10.txt   action143.txt  action37.txt   action70.txt
43.txt  77.txt  action110.txt  action144.txt  action38.txt   action71.txt
3、手动重启heartbeat01,查看故障切换的情况

1)heartbeat01
[iyunv@heartbeat01 ~]# reboot
[iyunv@heartbeat01 ~]#
Broadcast message from root@heartbeat01.contoso.com
        (/dev/pts/0) at 4:23 ...

The system is going down for reboot NOW!
2)heartbeat02
[iyunv@heartbeat02 ~]# ip a|grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----
    ns:15284 nr:3924 dw:6920 dr:14074 al:3 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# ls /data
10.txt  49.txt  87.txt         action125.txt  action163.txt  action32.txt  action70.txt
11.txt  4.txt   88.txt         action126.txt  action164.txt  action33.txt  action71.txt
12.txt  50.txt  89.txt         action127.txt  action165.txt  action34.txt  action72.txt
13.txt  51.txt  8.txt          action128.txt  action166.txt  action35.txt  action73.txt
14.txt  52.txt  90.txt         action129.txt  action167.txt  action36.txt  action74.txt
15.txt  53.txt  91.txt         action12.txt   action168.txt  action37.txt  action75.txt
16.txt  54.txt  92.txt         action130.txt  action169.txt  action38.txt  action76.txt
17.txt  55.txt  93.txt         action131.txt  action16.txt   action39.txt  action77.txt
18.txt  56.txt  94.txt         action132.txt  action170.txt  action3.txt   action78.txt
19.txt  57.txt  95.txt         action133.txt  action171.txt  action40.txt  action79.txt
1.txt   58.txt  96.txt         action134.txt  action172.txt  action41.txt  action7.txt
20.txt  59.txt  97.txt         action135.txt  action173.txt  action42.txt  action80.txt
21.txt  5.txt   98.txt         action136.txt  action174.txt  action43.txt  action81.txt
22.txt  60.txt  99.txt         action137.txt  action175.txt  action44.txt  action82.txt
23.txt  61.txt  9.txt          action138.txt  action176.txt  action45.txt  action83.txt
24.txt  62.txt  action100.txt  action139.txt  action177.txt  action46.txt  action84.txt
25.txt  63.txt  action101.txt  action13.txt   action178.txt  action47.txt  action85.txt
26.txt  64.txt  action102.txt  action140.txt  action179.txt  action48.txt  action86.txt
27.txt  65.txt  action103.txt  action141.txt  action17.txt   action49.txt  action87.txt
28.txt  66.txt  action104.txt  action142.txt  action180.txt  action4.txt   action88.txt
29.txt  67.txt  action105.txt  action143.txt  action181.txt  action50.txt  action89.txt
2.txt   68.txt  action106.txt  action144.txt  action182.txt  action51.txt  action8.txt
30.txt  69.txt  action107.txt  action145.txt  action183.txt  action52.txt  action90.txt
31.txt  6.txt   action108.txt  action146.txt  action184.txt  action53.txt  action91.txt
32.txt  70.txt  action109.txt  action147.txt  action185.txt  action54.txt  action92.txt
33.txt  71.txt  action10.txt   action148.txt  action186.txt  action55.txt  action93.txt
34.txt  72.txt  action110.txt  action149.txt  action18.txt   action56.txt  action94.txt
35.txt  73.txt  action111.txt  action14.txt   action19.txt   action57.txt  action95.txt
36.txt  74.txt  action112.txt  action150.txt  action1.txt    action58.txt  action96.txt
37.txt  75.txt  action113.txt  action151.txt  action20.txt   action59.txt  action97.txt
38.txt  76.txt  action114.txt  action152.txt  action21.txt   action5.txt   action98.txt
39.txt  77.txt  action115.txt  action153.txt  action22.txt   action60.txt  action99.txt
3.txt   78.txt  action116.txt  action154.txt  action23.txt   action61.txt  action9.txt
40.txt  79.txt  action117.txt  action155.txt  action24.txt   action62.txt  client.txt
41.txt  7.txt   action118.txt  action156.txt  action25.txt   action63.txt  lost+found
42.txt  80.txt  action119.txt  action157.txt  action26.txt   action64.txt  nfsclient
43.txt  81.txt  action11.txt   action158.txt  action27.txt   action65.txt  test1.txt
44.txt  82.txt  action120.txt  action159.txt  action28.txt   action66.txt
45.txt  83.txt  action121.txt  action15.txt   action29.txt   action67.txt
46.txt  84.txt  action122.txt  action160.txt  action2.txt    action68.txt
47.txt  85.txt  action123.txt  action161.txt  action30.txt   action69.txt
48.txt  86.txt  action124.txt  action162.txt  action31.txt   action6.txt
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 4160) is running...
nfsd (pid 4176 4175 4174 4173 4172 4171 4170 4169) is running...
rpc.rquotad (pid 4155) is running...
3)nfs客户端
[iyunv@server136 ~]# ls /data
10.txt  50.txt  90.txt         action130.txt  action170.txt  action2.txt   action6.txt
11.txt  51.txt  91.txt         action131.txt  action171.txt  action30.txt  action70.txt
12.txt  52.txt  92.txt         action132.txt  action172.txt  action31.txt  action71.txt
13.txt  53.txt  93.txt         action133.txt  action173.txt  action32.txt  action72.txt
14.txt  54.txt  94.txt         action134.txt  action174.txt  action33.txt  action73.txt
15.txt  55.txt  95.txt         action135.txt  action175.txt  action34.txt  action74.txt
16.txt  56.txt  96.txt         action136.txt  action176.txt  action35.txt  action75.txt
17.txt  57.txt  97.txt         action137.txt  action177.txt  action36.txt  action76.txt
18.txt  58.txt  98.txt         action138.txt  action178.txt  action37.txt  action77.txt
19.txt  59.txt  99.txt         action139.txt  action179.txt  action38.txt  action78.txt
1.txt   5.txt   9.txt          action13.txt   action17.txt   action39.txt  action79.txt
20.txt  60.txt  action100.txt  action140.txt  action180.txt  action3.txt   action7.txt
21.txt  61.txt  action101.txt  action141.txt  action181.txt  action40.txt  action80.txt
22.txt  62.txt  action102.txt  action142.txt  action182.txt  action41.txt  action81.txt
23.txt  63.txt  action103.txt  action143.txt  action183.txt  action42.txt  action82.txt
24.txt  64.txt  action104.txt  action144.txt  action184.txt  action43.txt  action83.txt
25.txt  65.txt  action105.txt  action145.txt  action185.txt  action44.txt  action84.txt
26.txt  66.txt  action106.txt  action146.txt  action186.txt  action45.txt  action85.txt
27.txt  67.txt  action107.txt  action147.txt  action187.txt  action46.txt  action86.txt
28.txt  68.txt  action108.txt  action148.txt  action188.txt  action47.txt  action87.txt
29.txt  69.txt  action109.txt  action149.txt  action189.txt  action48.txt  action88.txt
2.txt   6.txt   action10.txt   action14.txt   action18.txt   action49.txt  action89.txt
30.txt  70.txt  action110.txt  action150.txt  action190.txt  action4.txt   action8.txt
31.txt  71.txt  action111.txt  action151.txt  action191.txt  action50.txt  action90.txt
32.txt  72.txt  action112.txt  action152.txt  action192.txt  action51.txt  action91.txt
33.txt  73.txt  action113.txt  action153.txt  action193.txt  action52.txt  action92.txt
34.txt  74.txt  action114.txt  action154.txt  action194.txt  action53.txt  action93.txt
35.txt  75.txt  action115.txt  action155.txt  action195.txt  action54.txt  action94.txt
36.txt  76.txt  action116.txt  action156.txt  action196.txt  action55.txt  action95.txt
37.txt  77.txt  action117.txt  action157.txt  action197.txt  action56.txt  action96.txt
38.txt  78.txt  action118.txt  action158.txt  action198.txt  action57.txt  action97.txt
39.txt  79.txt  action119.txt  action159.txt  action199.txt  action58.txt  action98.txt
3.txt   7.txt   action11.txt   action15.txt   action19.txt   action59.txt  action99.txt
40.txt  80.txt  action120.txt  action160.txt  action1.txt    action5.txt   action9.txt
41.txt  81.txt  action121.txt  action161.txt  action20.txt   action60.txt  client.txt
42.txt  82.txt  action122.txt  action162.txt  action21.txt   action61.txt  lost+found
43.txt  83.txt  action123.txt  action163.txt  action22.txt   action62.txt  nfsclient
44.txt  84.txt  action124.txt  action164.txt  action23.txt   action63.txt  test1.txt
45.txt  85.txt  action125.txt  action165.txt  action24.txt   action64.txt
46.txt  86.txt  action126.txt  action166.txt  action25.txt   action65.txt
47.txt  87.txt  action127.txt  action167.txt  action26.txt   action66.txt
48.txt  88.txt  action128.txt  action168.txt  action27.txt   action67.txt
49.txt  89.txt  action129.txt  action169.txt  action28.txt   action68.txt
4.txt   8.txt   action12.txt   action16.txt   action29.txt   action69.txt
4、将heartbeat01上的eth1(心跳网卡)down掉,查看故障切换状态
[iyunv@heartbeat01 ~]# ifdown eth1
[iyunv@heartbeat01 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:B3:83:3F  
          inet addr:192.168.49.133  Bcast:192.168.49.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb3:833f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3877 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3130356 (2.9 MiB)  TX bytes:2748373 (2.6 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1960 (1.9 KiB)  TX bytes:1960 (1.9 KiB)
1)heartbeat01
[iyunv@heartbeat01 ~]# ip a|grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:2068 nr:2612 dw:4680 dr:1105 al:3 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat01 ~]# ls /data
10.txt  77.txt         action143.txt  action209.txt  action275.txt  action40.txt
11.txt  78.txt         action144.txt  action20.txt   action276.txt  action41.txt
12.txt  79.txt         action145.txt  action210.txt  action277.txt  action42.txt
13.txt  7.txt          action146.txt  action211.txt  action278.txt  action43.txt
14.txt  80.txt         action147.txt  action212.txt  action279.txt  action44.txt
15.txt  81.txt         action148.txt  action213.txt  action27.txt   action45.txt
16.txt  82.txt         action149.txt  action214.txt  action280.txt  action46.txt
17.txt  83.txt         action14.txt   action215.txt  action281.txt  action47.txt
18.txt  84.txt         action150.txt  action216.txt  action282.txt  action48.txt
19.txt  85.txt         action151.txt  action217.txt  action283.txt  action49.txt
1.txt   86.txt         action152.txt  action218.txt  action284.txt  action4.txt
20.txt  87.txt         action153.txt  action219.txt  action285.txt  action50.txt
21.txt  88.txt         action154.txt  action21.txt   action286.txt  action51.txt
22.txt  89.txt         action155.txt  action220.txt  action287.txt  action52.txt
23.txt  8.txt          action156.txt  action221.txt  action288.txt  action53.txt
24.txt  90.txt         action157.txt  action222.txt  action289.txt  action54.txt
25.txt  91.txt         action158.txt  action223.txt  action28.txt   action55.txt
26.txt  92.txt         action159.txt  action224.txt  action290.txt  action56.txt
27.txt  93.txt         action15.txt   action225.txt  action291.txt  action57.txt
28.txt  94.txt         action160.txt  action226.txt  action292.txt  action58.txt
29.txt  95.txt         action161.txt  action227.txt  action293.txt  action59.txt
2.txt   96.txt         action162.txt  action228.txt  action294.txt  action5.txt
30.txt  97.txt         action163.txt  action229.txt  action295.txt  action60.txt
31.txt  98.txt         action164.txt  action22.txt   action296.txt  action61.txt
32.txt  99.txt         action165.txt  action230.txt  action297.txt  action62.txt
33.txt  9.txt          action166.txt  action231.txt  action298.txt  action63.txt
34.txt  action100.txt  action167.txt  action232.txt  action299.txt  action64.txt
35.txt  action101.txt  action168.txt  action233.txt  action29.txt   action65.txt
36.txt  action102.txt  action169.txt  action234.txt  action2.txt    action66.txt
37.txt  action103.txt  action16.txt   action235.txt  action300.txt  action67.txt
38.txt  action104.txt  action170.txt  action236.txt  action301.txt  action68.txt
39.txt  action105.txt  action171.txt  action237.txt  action302.txt  action69.txt
3.txt   action106.txt  action172.txt  action238.txt  action303.txt  action6.txt
40.txt  action107.txt  action173.txt  action239.txt  action304.txt  action70.txt
41.txt  action108.txt  action174.txt  action23.txt   action305.txt  action71.txt
42.txt  action109.txt  action175.txt  action240.txt  action306.txt  action72.txt
43.txt  action10.txt   action176.txt  action241.txt  action307.txt  action73.txt
44.txt  action110.txt  action177.txt  action242.txt  action308.txt  action74.txt
45.txt  action111.txt  action178.txt  action243.txt  action309.txt  action75.txt
46.txt  action112.txt  action179.txt  action244.txt  action30.txt   action76.txt
47.txt  action113.txt  action17.txt   action245.txt  action310.txt  action77.txt
48.txt  action114.txt  action180.txt  action246.txt  action311.txt  action78.txt
49.txt  action115.txt  action181.txt  action247.txt  action312.txt  action79.txt
4.txt   action116.txt  action182.txt  action248.txt  action313.txt  action7.txt
50.txt  action117.txt  action183.txt  action249.txt  action314.txt  action80.txt
51.txt  action118.txt  action184.txt  action24.txt   action315.txt  action81.txt
52.txt  action119.txt  action185.txt  action250.txt  action316.txt  action82.txt
53.txt  action11.txt   action186.txt  action251.txt  action317.txt  action83.txt
54.txt  action120.txt  action187.txt  action252.txt  action318.txt  action84.txt
55.txt  action121.txt  action188.txt  action253.txt  action319.txt  action85.txt
56.txt  action122.txt  action189.txt  action254.txt  action31.txt   action86.txt
57.txt  action123.txt  action18.txt   action255.txt  action320.txt  action87.txt
58.txt  action124.txt  action190.txt  action256.txt  action321.txt  action88.txt
59.txt  action125.txt  action191.txt  action257.txt  action322.txt  action89.txt
5.txt   action126.txt  action192.txt  action258.txt  action323.txt  action8.txt
60.txt  action127.txt  action193.txt  action259.txt  action324.txt  action90.txt
61.txt  action128.txt  action194.txt  action25.txt   action325.txt  action91.txt
62.txt  action129.txt  action195.txt  action260.txt  action326.txt  action92.txt
63.txt  action12.txt   action196.txt  action261.txt  action327.txt  action93.txt
64.txt  action130.txt  action197.txt  action262.txt  action328.txt  action94.txt
65.txt  action131.txt  action198.txt  action263.txt  action329.txt  action95.txt
66.txt  action132.txt  action199.txt  action264.txt  action32.txt   action96.txt
67.txt  action133.txt  action19.txt   action265.txt  action330.txt  action97.txt
68.txt  action134.txt  action1.txt    action266.txt  action331.txt  action98.txt
69.txt  action135.txt  action200.txt  action267.txt  action332.txt  action99.txt
6.txt   action136.txt  action201.txt  action268.txt  action33.txt   action9.txt
70.txt  action137.txt  action202.txt  action269.txt  action34.txt   client.txt
71.txt  action138.txt  action203.txt  action26.txt   action35.txt   lost+found
72.txt  action139.txt  action204.txt  action270.txt  action36.txt   nfsclient
73.txt  action13.txt   action205.txt  action271.txt  action37.txt   test1.txt
74.txt  action140.txt  action206.txt  action272.txt  action38.txt
75.txt  action141.txt  action207.txt  action273.txt  action39.txt
76.txt  action142.txt  action208.txt  action274.txt  action3.txt
[iyunv@heartbeat01 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 3192) is running...
nfsd (pid 3208 3207 3206 3205 3204 3203 3202 3201) is running...
rpc.rquotad (pid 3187) is running...
[iyunv@heartbeat01 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:B3:83:3F  
          inet addr:192.168.49.133  Bcast:192.168.49.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb3:833f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6166 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7300 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3365517 (3.2 MiB)  TX bytes:6246399 (5.9 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:B3:83:49  
          inet addr:192.168.49.100  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb3:8349/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:447 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:119694 (116.8 KiB)  TX bytes:43324 (42.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:44 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3080 (3.0 KiB)  TX bytes:3080 (3.0 KiB)
2)heartbeat02
[iyunv@heartbeat02 ~]# ip a|grep 49.100
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:17896 nr:10696 dw:16304 dr:14402 al:3 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# ls /data
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
3)nfs客户端
[iyunv@server136 scripts]# ls /data
10.txt         action102.txt  action194.txt  action285.txt  action376.txt  action467.txt
11.txt         action103.txt  action195.txt  action286.txt  action377.txt  action468.txt
12.txt         action104.txt  action196.txt  action287.txt  action378.txt  action469.txt
13.txt         action105.txt  action197.txt  action288.txt  action379.txt  action46.txt
14.txt         action106.txt  action198.txt  action289.txt  action37.txt   action470.txt
15.txt         action107.txt  action199.txt  action28.txt   action380.txt  action471.txt
16.txt         action108.txt  action19.txt   action290.txt  action381.txt  action472.txt
17.txt         action109.txt  action1.txt    action291.txt  action382.txt  action473.txt
18.txt         action10.txt   action200.txt  action292.txt  action383.txt  action474.txt
19.txt         action110.txt  action201.txt  action293.txt  action384.txt  action475.txt
1.txt          action111.txt  action202.txt  action294.txt  action385.txt  action476.txt
20.txt         action112.txt  action203.txt  action295.txt  action386.txt  action477.txt
21.txt         action113.txt  action204.txt  action296.txt  action387.txt  action478.txt
22.txt         action114.txt  action205.txt  action297.txt  action388.txt  action479.txt
23.txt         action115.txt  action206.txt  action298.txt  action389.txt  action47.txt
24.txt         action116.txt  action207.txt  action299.txt  action38.txt   action480.txt
25.txt         action117.txt  action208.txt  action29.txt   action390.txt  action481.txt
26.txt         action118.txt  action209.txt  action2.txt    action391.txt  action482.txt
27.txt         action119.txt  action20.txt   action300.txt  action392.txt  action483.txt
28.txt         action11.txt   action210.txt  action301.txt  action393.txt  action484.txt
29.txt         action120.txt  action211.txt  action302.txt  action394.txt  action485.txt
2.txt          action121.txt  action212.txt  action303.txt  action395.txt  action486.txt
30.txt         action122.txt  action213.txt  action304.txt  action396.txt  action487.txt
31.txt         action123.txt  action214.txt  action305.txt  action397.txt  action488.txt
32.txt         action124.txt  action215.txt  action306.txt  action398.txt  action489.txt
33.txt         action125.txt  action216.txt  action307.txt  action399.txt  action48.txt
34.txt         action126.txt  action217.txt  action308.txt  action39.txt   action490.txt
35.txt         action127.txt  action218.txt  action309.txt  action3.txt    action491.txt
36.txt         action128.txt  action219.txt  action30.txt   action400.txt  action492.txt
37.txt         action129.txt  action21.txt   action310.txt  action401.txt  action493.txt
38.txt         action12.txt   action220.txt  action311.txt  action402.txt  action494.txt
39.txt         action130.txt  action221.txt  action312.txt  action403.txt  action495.txt
3.txt          action131.txt  action222.txt  action313.txt  action404.txt  action496.txt
40.txt         action132.txt  action223.txt  action314.txt  action405.txt  action497.txt
41.txt         action133.txt  action224.txt  action315.txt  action406.txt  action498.txt
42.txt         action134.txt  action225.txt  action316.txt  action407.txt  action499.txt
43.txt         action135.txt  action226.txt  action317.txt  action408.txt  action49.txt
44.txt         action136.txt  action227.txt  action318.txt  action409.txt  action4.txt
45.txt         action137.txt  action228.txt  action319.txt  action40.txt   action500.txt
46.txt         action138.txt  action229.txt  action31.txt   action410.txt  action501.txt
47.txt         action139.txt  action22.txt   action320.txt  action411.txt  action502.txt
48.txt         action13.txt   action230.txt  action321.txt  action412.txt  action503.txt
49.txt         action140.txt  action231.txt  action322.txt  action413.txt  action50.txt
4.txt          action141.txt  action232.txt  action323.txt  action414.txt  action51.txt
50.txt         action142.txt  action233.txt  action324.txt  action415.txt  action52.txt
51.txt         action143.txt  action234.txt  action325.txt  action416.txt  action53.txt
52.txt         action144.txt  action235.txt  action326.txt  action417.txt  action54.txt
53.txt         action145.txt  action236.txt  action327.txt  action418.txt  action55.txt
54.txt         action146.txt  action237.txt  action328.txt  action419.txt  action56.txt
55.txt         action147.txt  action238.txt  action329.txt  action41.txt   action57.txt
56.txt         action148.txt  action239.txt  action32.txt   action420.txt  action58.txt
57.txt         action149.txt  action23.txt   action330.txt  action421.txt  action59.txt
58.txt         action14.txt   action240.txt  action331.txt  action422.txt  action5.txt
59.txt         action150.txt  action241.txt  action332.txt  action423.txt  action60.txt
5.txt          action151.txt  action242.txt  action333.txt  action424.txt  action61.txt
60.txt         action152.txt  action243.txt  action334.txt  action425.txt  action62.txt
61.txt         action153.txt  action244.txt  action335.txt  action426.txt  action63.txt
62.txt         action154.txt  action245.txt  action336.txt  action427.txt  action64.txt
63.txt         action155.txt  action246.txt  action337.txt  action428.txt  action65.txt
64.txt         action156.txt  action247.txt  action338.txt  action429.txt  action66.txt
65.txt         action157.txt  action248.txt  action339.txt  action42.txt   action67.txt
66.txt         action158.txt  action249.txt  action33.txt   action430.txt  action68.txt
67.txt         action159.txt  action24.txt   action340.txt  action431.txt  action69.txt
68.txt         action15.txt   action250.txt  action341.txt  action432.txt  action6.txt
69.txt         action160.txt  action251.txt  action342.txt  action433.txt  action70.txt
6.txt          action161.txt  action252.txt  action343.txt  action434.txt  action71.txt
70.txt         action162.txt  action253.txt  action344.txt  action435.txt  action72.txt
71.txt         action163.txt  action254.txt  action345.txt  action436.txt  action73.txt
72.txt         action164.txt  action255.txt  action346.txt  action437.txt  action74.txt
73.txt         action165.txt  action256.txt  action347.txt  action438.txt  action75.txt
74.txt         action166.txt  action257.txt  action348.txt  action439.txt  action76.txt
75.txt         action167.txt  action258.txt  action349.txt  action43.txt   action77.txt
76.txt         action168.txt  action259.txt  action34.txt   action440.txt  action78.txt
77.txt         action169.txt  action25.txt   action350.txt  action441.txt  action79.txt
78.txt         action16.txt   action260.txt  action351.txt  action442.txt  action7.txt
79.txt         action170.txt  action261.txt  action352.txt  action443.txt  action80.txt
7.txt          action171.txt  action262.txt  action353.txt  action444.txt  action81.txt
80.txt         action172.txt  action263.txt  action354.txt  action445.txt  action82.txt
81.txt         action173.txt  action264.txt  action355.txt  action446.txt  action83.txt
82.txt         action174.txt  action265.txt  action356.txt  action447.txt  action84.txt
83.txt         action175.txt  action266.txt  action357.txt  action448.txt  action85.txt
84.txt         action176.txt  action267.txt  action358.txt  action449.txt  action86.txt
85.txt         action177.txt  action268.txt  action359.txt  action44.txt   action87.txt
86.txt         action178.txt  action269.txt  action35.txt   action450.txt  action88.txt
87.txt         action179.txt  action26.txt   action360.txt  action451.txt  action89.txt
88.txt         action17.txt   action270.txt  action361.txt  action452.txt  action8.txt
89.txt         action180.txt  action271.txt  action362.txt  action453.txt  action90.txt
8.txt          action181.txt  action272.txt  action363.txt  action454.txt  action91.txt
90.txt         action182.txt  action273.txt  action364.txt  action455.txt  action92.txt
91.txt         action183.txt  action274.txt  action365.txt  action456.txt  action93.txt
92.txt         action184.txt  action275.txt  action366.txt  action457.txt  action94.txt
93.txt         action185.txt  action276.txt  action367.txt  action458.txt  action95.txt
94.txt         action186.txt  action277.txt  action368.txt  action459.txt  action96.txt
95.txt         action187.txt  action278.txt  action369.txt  action45.txt   action97.txt
96.txt         action188.txt  action279.txt  action36.txt   action460.txt  action98.txt
97.txt         action189.txt  action27.txt   action370.txt  action461.txt  action99.txt
98.txt         action18.txt   action280.txt  action371.txt  action462.txt  action9.txt
99.txt         action190.txt  action281.txt  action372.txt  action463.txt  client.txt
9.txt          action191.txt  action282.txt  action373.txt  action464.txt  lost+found
action100.txt  action192.txt  action283.txt  action374.txt  action465.txt  nfsclient
action101.txt  action193.txt  action284.txt  action375.txt  action466.txt  test1.txt
4)查看heartbeat01上的日志
[iyunv@heartbeat01 ~]# tail -f /var/log/ha-log
Sep 26 05:01:00 heartbeat01.contoso.com heartbeat: [1559]: ERROR: glib: mcast_write: Unable to send HBcomm packet eth1 225.0.0.1:694 len=225 [-1]: Invalid argument
Sep 26 05:01:00 heartbeat01.contoso.com heartbeat: [1559]: ERROR: write_child: write failure on mcast eth1.: Invalid argument
Sep 26 05:01:02 heartbeat01.contoso.com heartbeat: [1559]: ERROR: glib: mcast_write: Unable to send HBcomm packet eth1 225.0.0.1:694 len=225 [-1]: Invalid argument
Sep 26 05:01:02 heartbeat01.contoso.com heartbeat: [1559]: ERROR: write_child: write failure on mcast eth1.: Invalid argument
Sep 26 05:01:04 heartbeat01.contoso.com heartbeat: [1559]: ERROR: glib: mcast_write: Unable to send HBcomm packet eth1 225.0.0.1:694 len=225 [-1]: Invalid argument
Sep 26 05:01:04 heartbeat01.contoso.com heartbeat: [1559]: ERROR: write_child: write failure on mcast eth1.: Invalid argument
Sep 26 05:01:06 heartbeat01.contoso.com heartbeat: [1559]: ERROR: glib: mcast_write: Unable to send HBcomm packet eth1 225.0.0.1:694 len=225 [-1]: Invalid argument
Sep 26 05:01:06 heartbeat01.contoso.com heartbeat: [1559]: ERROR: write_child: write failure on mcast eth1.: Invalid argument
Sep 26 05:01:06 heartbeat01.contoso.com heartbeat: [1559]: WARN: Temporarily Suppressing write error messages
Sep 26 05:01:06 heartbeat01.contoso.com heartbeat: [1559]: WARN: Is a cable unplugged on mcast eth1?
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: WARN: node heartbeat02.contoso.com: is dead
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: WARN: No STONITH device configured.
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: WARN: Shared disks are not protected.
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: info: Resources being acquired from heartbeat02.contoso.com.
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: info: Link heartbeat02.contoso.com:eth1 dead.
Sep 26 05:01:17 heartbeat01.contoso.com ipfail: [1580]: info: Status update: Node heartbeat02.contoso.com now has status dead
harc(default)[2675]:        2016/09/26_05:01:17 info: Running /etc/ha.d//rc.d/status status
mach_down(default)[2712]:        2016/09/26_05:01:17 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down(default)[2712]:        2016/09/26_05:01:17 info: mach_down takeover complete for node heartbeat02.contoso.com.
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [1555]: info: mach_down takeover complete.
/usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.49.100)[2729]:        2016/09/26_05:01:17 INFO:  Resource is stopped
Sep 26 05:01:17 heartbeat01.contoso.com heartbeat: [2676]: info: Local Resource acquisition completed.
harc(default)[2844]:        2016/09/26_05:01:17 info: Running /etc/ha.d//rc.d/ip-request-resp ip-request-resp
ip-request-resp(default)[2844]:        2016/09/26_05:01:17 received ip-request-resp IPaddr::192.168.49.100/24/eth1 OK yes
ResourceManager(default)[2867]:        2016/09/26_05:01:17 info: Acquiring resource group: heartbeat01.contoso.com IPaddr::192.168.49.100/24/eth1 drbddisk::test Filesystem::/dev/drbd0::/data::ext4 nfs killnfsd
/usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.49.100)[2895]:        2016/09/26_05:01:17 INFO:  Resource is stopped
ResourceManager(default)[2867]:        2016/09/26_05:01:17 info: Running /etc/ha.d/resource.d/IPaddr 192.168.49.100/24/eth1 start
IPaddr(IPaddr_192.168.49.100)[3017]:        2016/09/26_05:01:17 INFO: Adding inet address 192.168.49.100/24 to device eth1
IPaddr(IPaddr_192.168.49.100)[3017]:        2016/09/26_05:01:17 INFO: Bringing device eth1 up
IPaddr(IPaddr_192.168.49.100)[3017]:        2016/09/26_05:01:17 INFO: /usr/libexec/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-192.168.49.100 eth1 192.168.49.100 auto not_used not_used
/usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.49.100)[2991]:        2016/09/26_05:01:17 INFO:  Success
Sep 26 05:01:17 heartbeat01.contoso.com ipfail: [1580]: info: NS: We are dead. :<
Sep 26 05:01:17 heartbeat01.contoso.com ipfail: [1580]: info: Link Status update: Link heartbeat02.contoso.com/eth1 now has status dead
/usr/lib/ocf/resource.d//heartbeat/Filesystem(Filesystem_/dev/drbd0)[3121]:        2016/09/26_05:01:17 INFO:  Running OK
Sep 26 05:01:18 heartbeat01.contoso.com ipfail: [1580]: info: We are dead. :<
Sep 26 05:01:18 heartbeat01.contoso.com ipfail: [1580]: info: Asking other side for ping node count.
注意:上面将heartbeat01的网卡eth1停掉,之所以没有发生脑裂是因为我在/etc/drbd.d/test.res中配置文件中的节点地址是192.168.49.0/24段,也就是eth0的网段,所以没有发生裂脑。
5、下面将该配置修改为172.16.49.0/24段,再进行测试:
on heartbeat01.contoso.com {
device /dev/drbd0;
disk /dev/sdb1;
address 172.16.49.133:7788;
flexible-meta-disk internal;
}
on heartbeat02.contoso.com {
device /dev/drbd0;
disk /dev/sdb1;
address 172.16.49.134:7788;
meta-disk internal;
1)heartbeat01

[iyunv@heartbeat01 ~]# ip a |grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r-----
    ns:2324 nr:0 dw:9888 dr:3707 al:4 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:40
[iyunv@heartbeat01 ~]# ls -l /data|wc -l
942
[iyunv@heartbeat01 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 9672) is running...
nfsd (pid 9688 9687 9686 9685 9684 9683 9682 9681) is running...
rpc.rquotad (pid 9667) is running...
2)heartbeat02
[iyunv@heartbeat02 ~]# ip a |grep 49.100
    inet 192.168.49.100/24 scope global eth1
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----
    ns:0 nr:2324 dw:2420 dr:3093 al:3 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:88
[iyunv@heartbeat02 ~]# ls -l /data |wc -l
942
[iyunv@heartbeat02 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 6280) is running...
nfsd (pid 6296 6295 6294 6293 6292 6291 6290 6289) is running...
rpc.rquotad (pid 6275) is running...
3)nfs客户端

[iyunv@server136 scripts]# ls -l /data|wc -l
968
[iyunv@heartbeat01 ~]# ls -l /data|wc -l
993
[iyunv@heartbeat02 ~]# ls -l /data |wc -l
942
此时,客户端虽然仍在进行数据写入,但是数据是写入到heartbeat01中,而且此时两个节点都有192.168.49.100这个IP地址,drbd中每个节点对端的状态都是Unknown状态,这就是典型的脑裂状况。
[iyunv@heartbeat01 ~]# ifup eth1
Determining if ip address 172.16.49.133 is already in use for device eth1...
将heartbeat01的eth1启动后,发现heartbeat的裂脑状态消除,然而,drbd两个节点的状态依然不对,如下:
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r-----
    ns:2324 nr:0 dw:16888 dr:5012 al:4 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:6552
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r-----
    ns:0 nr:2324 dw:2436 dr:3093 al:3 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:88
五、发生脑裂的处理
1)在secondary主机上执行如下命令:

1
2
3
drbdadm secondary test
drbdadm disconnect test
drbdadm -- --discard-my-data connect test



2)在Primary主机上执行如下命令:
1
2
drbdadm disconnect all
drbdadm connect test



[iyunv@heartbeat02 ~]# drbdadm disconnect test
[iyunv@heartbeat02 ~]# drbdadm -- --discard-my-data connect test
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r-----
    ns:0 nr:0 dw:2436 dr:3093 al:3 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:88
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r-----
    ns:2324 nr:0 dw:16888 dr:5012 al:4 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:6552
[iyunv@heartbeat01 ~]# drbdadm disconnect all
[iyunv@heartbeat01 ~]# drbdadm connect test
[iyunv@heartbeat01 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:7312 nr:0 dw:17644 dr:12312 al:4 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[iyunv@heartbeat02 ~]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:0 nr:7336 dw:9772 dr:3093 al:3 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
此时,两台drbd主机的状态已经恢复到一致状态,脑裂的问题解决完毕。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-278067-1-1.html 上篇帖子: Heartbeat+Drbd实现 下篇帖子: Heartbeat+Drbd+MySQL高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表