DRBD+heartbeat 实现双机热备

实现环境

os:Centos 6.8
ip1:192.168.85.129 node1
ip2:192.168.85.130 node2
disk:/dev/sdb1 (一个10G的分区)

DRBD部署

DRBD安装

CentOS 6.x系统要升级到最新的内核才支持
CentOS 6.x


rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

yum -y install drbd83-utils kmod-drbd83

CentOS 7.x


rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum install -y drbd84-utils kmod-drbd84

加载模块:
modprobe drbd
检测DRBD是否安装成功
lsmod | grep drbd

两台机器时间同步,并修改/etc/hosts文件
192.168.85.129 node1
192.168.85.130 node2

两台主机分别修改主机名
hostname node1
hostname node2

修改配置文件(两台机器配置一样)

cat > /etc/drbd.d/global_common.conf < /proc/sysrq-trigger ; reboot -f";
       pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
       local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
  }
    startup {
        wfc-timeout          240;
        degr-wfc-timeout     240;
        outdated-wfc-timeout 240;
    }
    disk {
        on-io-error detach;
    }
    net { #DRBD同步时使用的验证方式和密码
        cram-hmac-alg md5;
        shared-secret "testdrbd";
    }
    syncer {
       verify-alg sha1;                 # 定义网络传输速率,一般传输速度的30%
        rate 30M; #主节点和备用节点同步时最大的网络速率
    }
}
EOF

创建资源文件

cat >/etc/drbd.d/r0.res <

将node1 的配置文件传送到node2 上

cd /etc/drbd.d
scp global_common.conf  r0.res root@node2:/etc/drbd.d/

在node1,node2 机器上分别创建数据块 r0 (r0为资源文件中的资源名)

drbdadm create-md r0

Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
表示创建成功

在两台机器都启动服务

/etc/init.d/drbd start

在node1 初始化网络硬盘

drbdsetup /dev/drbd0 primary -o 
cat /proc/drbd

在node1 主DRBD上格式磁盘,挂载并写入文件测试

mkfs.ext4 /dev/drbd0
mkdir /drbd
mount /dev/drbd0 /drbd
cd /drbd
touch {1,2,3}
umount /dev/drbd0
drbdadm secondary r0

在node2 从DRBD上,查看状态

cat /proc/drbd
mkdir /drbd
mount /dev/drbd0 /drbd
cd /drbd
ls
查看在node1 上创建的文件是否存在

Heartbeat部署

Heartbeat安装

install heartbeat

配置heartbeat

vi /etc/heartbeat/ha.cf
      logfacility     local0
      keepalive 2
      deadtime 10
      auto_failback off
      bcast   eth0
      node node1 node2

vi /etc/heartbeat/haresources
      node1 drbddisk::r0 Filesystem::/dev/drbd0::/drbd::ext4
 
vi /etc/heartbeat/authkeys
      auth 3
      3 md5 abc
 
 chmod 600 authkeys 

相同的配置复制到drbd2

cd /etc/heartbeat
scp authkeys haresources ha.cf root@node2:/etc/heartbeat/

确保服务都是正常运行的

/etc/init.d/drbd start
/etc/init.d/heartbeat start

切换测试

通过cat /proc/drbd 查看drbd的状态或者mount查看/drbd 是不是已经挂载确定资源所在的机器。然后在那台机器的/drbd 新建立一些文件并停掉那台机器上的heartbeat。看另一台机器上/drbd 是不是被自动挂载了呢?里面是不是有刚创建的文件?

你可能感兴趣的:(DRBD+heartbeat 实现双机热备)