通过heartbeat实现drbd的主从切换
昨天写了一篇关于drbd的文章,今天是通过heartbeat实现drbd的主从切换,这样挂了一台服务器也不打紧了.
下面我们部署这一高可用.首先安装heartbeat,执行 yum install heartbeat即可.
我们的主机ip是192.168.79.130,备机ip:192.168.79.131,虚拟ip:192.168.79.135,drbd同步的分区 /dev/sdb1,挂载的目录 /data.
drbd配置:
1、首先对 /dev/sdb分区出 /dev/sdb1,建立目录 /data.
2、配置global和resource. 配置drbd.conf:
1 | vi /usr/local/drbd/etc/drbd.conf |
写入:
1 | include "drbd.d/global_common.conf"; |
配置global_common.conf:
1 | vi /usr/local/drbd/etc/drbd.d/global_common.conf |
写入:
1 | global { |
配置r0资源:
1 | vi /usr/local/drbd/etc/drbd.d/r0.res |
写入:
1 | resource r0 { |
3、设置hostname
1 | vi /etc/sysconfig/network |
修改HOSTNAME为node1. 编辑hosts:
1 | vi /etc/hosts |
添加:
1 | 192.168.79.130 node1 |
使node1 hostnmae临时生效:
1 | hostname node1 |
node2设置类似.
4、设置resource 以下操作需要在node1和node2操作.
1 | modprobe drbd //载入 drbd 模块 |
5、设置Primary Node 以下操作仅在node1执行. 设置node1为primary node:
1 | drbdadm primary --force r0 |
6、创建DRBD文件系统 以下操作仅在node1执行. 上面已经完成了 /dev/drbd1的初始化,现在来把 /dev/drbd1格式化成ext3格式的文件系统.
1 | mkfs.ext3 /dev/drbd1 |
然后将 /dev/drbd1挂载到之前创建的/data目录.
1 | mount /dev/drbd1 /data |
heartbeat配置: ha.cf 监控配置文件 haresources 资源管理文件 authkeys 心跳线连接加密文件 1、同步两台节点的时间
1 | rm -rf /etc/localtime |
7、配置ha.cf
1 | vi /etc/ha.d/ha.cf |
8、配置authkeys
1 | vi /etc/ha.d/authkeys |
写入:
1 | auth 1 |
9、配置haresources
1 | vi /etc/ha.d/haresources |
写入:
1 | node1 IPaddr::192.168.79.135/24/eth0 drbddisk::r0 Filesystem::/dev/drbd1::/data::ext3 |
node2配置基本相同,不同的是ha.cf中的192.168.79.131改为192.168.79.130. DRBD主从自动切换测试: 首先先在node1启动heartbeat,接着在node2启动,这时,node1等node2完全启动后,相继执行设置虚拟IP,启动drbd并设置primary,并挂载 /dev/drbd1到/data目录,启动命令为:
1 | service heartbeat start |
这时,我们执行ip a命令,发现多了一个IP 192.168.79.135,这个就是虚拟IP.
1 | cat /proc/drbd |
查看drbd状态,显示primary/secondary状态,df -h显示/dev/drbd1已经挂载到/data目录. 然后我们来测试故障自动切换,停止node1的heartbeat服务或者断开网络连接,几秒后到node2查看状态. 接着恢复node1的heartbeat服务或者网络连接,查看其状态. 好了,这样我们就完成了今天的教程,如果大家有什么问题欢迎留言~