虚拟化容器,大数据,DBA,中间件,监控。

drbd+heartbeat+nfs 测试实验

01 09月
作者:admin|分类:系统运维

drbd+heartbeat+nfs  测试实验


实验验结构:

drbd+heartbeat+nfs - zhuzhu - 五事九思 (大连Linux主机维护)

 

Drbd 就是将不同服务器上的不同的分区组合成 /dev/drbd0 这样的块设备,数据实际分布式存储在不同的服务器的存储上,服务器之间通过ip通讯,实际上简单的实现了网络raid的功能,这样,如果损失了单台的服务器也对于数据没有任何损害。

Heartbeat 主要是实现Ha的功能,在单点失败的情况下,将资源切换到备用的服务器上。

Drbd的conf

----------------------------------------------------------------------

      global { usage-count yes; }

      common { syncer { rate 100M; } }            //同步速率

      resource r0 {

           protocol C;

           net {

                cram-hmac-alg sha1;

                shared-secret "FooFunFactory";

                allow-two-primaries;

           }

           on drbd1 {

                device    /dev/drbd0;

                disk      /dev/hdb1;

                address   192.168.10.209:7789;

                flexible-meta-disk  internal;

           }

           on drbd2 {

                device    /dev/drbd0;

                disk      /dev/hdb1;

                address   192.168.11.208:7789;

                flexible-meta-disk  internal;

           }

     }

Heartbeat 的conf:

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 30

warntime 10

initdead 120

udpport 694

bcast   eth0            # Linux

mcast eth0 225.0.0.1 694 1 0  //组播仲裁 类似hsrp

auto_failback off

node    drbd1

node    drbd2

ping_group group1 192.168.10.209 192.168.11.208

respawn root /usr/lib/heartbeat/ipfail

apiauth ipfail gid=root uid=root

heartbeat的haresource

drbd1 drbddisk::r0 Filesystem::/dev/drbd0::/mnt::ext3 nfs

drbd1 192.168.12.122

#drbd1 为主

# drbddisk::r0 为资源名

# Filesystem::/dev/drbd0::/mnt::ext3 为行为,意思是将 /dev/drbd0 挂载在/mnt 文件系统为ext3

# 192.168.12.122 为vip

drbd1 和 drbd2 的nfs exports设置

/mnt  *(rw,no_root_squash)


实验过程如下:

1.  首先在drbd1和drbd2上启动 service drbd start 和 service heartbeat start 查看状态

主:

drbd driver loaded OK; device status:

version: 8.2.1 (api:86/proto:86-87)

GIT-hash: 318925802fc2638479ad090b73d7af45503dd184 build by root@drbd1, 2008-01-14 17:07:08

0: cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---

   ns:24500 nr:1460 dw:26860 dr:2725 al:5 bm:4 lo:0 pe:0 ua:0 ap:0

       resync: used:0/31 hits:234 misses:4 starving:0 dirty:0 changed:4

       act_log: used:0/257 hits:6345 misses:5 starving:0 dirty:0 changed:5

从:
drbd driver loaded OK; device status:

version: 8.2.1 (api:86/proto:86-87)

GIT-hash: 318925802fc2638479ad090b73d7af45503dd184 build by root@drbd2, 2008-01-14 17:12:30

0: cs:Connected st:Secondary/Primary ds:UpToDate/UpToDate C r---

   ns:0 nr:24296 dw:24296 dr:0 al:0 bm:2 lo:0 pe:0 ua:0 ap:0

       resync: used:0/31 hits:175 misses:2 starving:0 dirty:0 changed:2

       act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

2.  在  HostA 上  mount –o hard 192.168.12.122:/mnt /mnt , 然后执行下边的命令 :  > /mnt/test;let count=0; while 2>1;do ((count=$count+1));sleep 1;echo $count >> /mnt/test ;done  

然后 执行 tail –f /mnt/test 会发现有数字不断的写入

3.  关闭主电源,发现从上的heartbeat 会切换vip 和nfs , Host A 上的数字写入会有大概3秒的停顿,还是会继续写入

4.  等主启动后,关闭从的电源,发现主上的heartbeat 会切换vip 和nfs , Host A 上的数字写入会有大概3秒的停顿,还是会继续写入

结论,确实实现了网络raid的功能,实现了块设备之间的冗余。 如果有不明白的地方随时可以讨论。

浏览2493 评论0
返回
目录
返回
首页
systemd 详细说明 DRBD+Heartbeat+NFS试验手册