频道栏目
首页 > 资讯 > 其他 > 正文

DRBD+Heartbeat+NFS高可用图文实操

17-01-09        来源:[db:作者]  
收藏   我要投稿

实验环境:CentOS 6.5 (64位)

服务器:drbd1 192.168.18.132

服务器:drbd2 192.168.18.133

一.DRBD环境搭建

1.hosts解析

#vim /etc/hosts

2.同步时间

#ntpdate

3.添加附加库

(1)#rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

(2)#rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

4.安装DRBD

# yum install drbd84 kmod-drbd84 -y

5.两台服务器上的分区/dev/sdb1作为drbd的网络mirror分区

#fdisk /dev/sdb 备注,每个环境的磁盘名称可能不一样,用fdisk -L 查看一下磁盘名称为准。

#mkfs.ext4 /dev/sdb1 #在主上面做此操作。

6.开始配置NFS(两个节点都要执行)

1.#yum -y install rpcbind nfs-utils

2.# mkdir /usr/local/ftp #创建要存放的文件目录

3.# vi /etc/exports

/usr/local/ftp *(rw,no_root_squash,no_all_squash,sync)

4.# service rpcbind start

5.# chkconfig rpcbind on

6.# chkconfig nfs off #NFS不需要启动,也不需要设置成开机启动,这些都将由后面的Heartbeat来完成。

7.# netstat -tunlp|grep rpcbind #查看rpcbind是否启动成功

7.开始配置DRBD

# modprobe drbd #加载drbd模块到内核中(两个节点都要执行)

# lsmod | grep drbd #查看drbd模块是否加载成功(两个节点都要执行)

显示以上信息说明模块加载成功。

# cat /etc/drbd.conf
#vim /etc/drbd.d/global_common.conf

global {

usage-count yes;

}

common {

protocol C;

disk {

on-io-error detach;

}

syncer {

rate 100M; #100M传输速度

}

}

resource nfs {

on dm1 { #主机名称

device /dev/drbd1; #drbd网络磁盘

disk /dev/sdb1; #本地需要挂载的磁盘

address 192.168.18.132:7899; #主ip地址加drbd端口

meta-disk internal;

}

on dm2 {

device /dev/drbd1;

disk /dev/sdb1;

address 192.168.18.133:7899;

meta-disk internal;

}

}

8.启动DRBD

# drbdadm create-md nfs #激活前面配置的DRBD资源nfs(两个节点都要执行)

# service drbd start #两个节点都要执行

# chkconfig drbd on #两个节点都要执行

# cat /proc/drbd

#drbdsetup /dev/drbd1 primary #初始化一个主机(这几步只在主节点上操作)

注意:如果执行drbdsetup /dev/drbd1 primary的时候报图下所示,最后面加上“--o”即可。

#drbdadm primary nfs

#drbdadm -- --overwrite-data-of-peer primary nfs

#watch -n1 'cat /proc/drbd' #查看格式化进度

说明:

cs:两台数据连接状态

ro:两台主机的状态

ds:磁盘状态是“UpToDate/UpToDate”,同步状态。

9.DRBD的使用

# mkfs.ext4 /dev/drbd1 #在主上执行

# mount /dev/drbd1 /usr/local/ftp #挂载在ftp文件上

注意:secondary节点上不允许对DRBD设备进行任何操作,包括只读。所有的读写操作只能在主节点上进行,只有当主节点挂掉时,secondary节点才能提升为主节点,继续进行读写操作。

二、Heartbeat环境搭建

主从都安装依赖库

#yum -y install epel-release*

主从都安装heartbeat

#yum -y install heartbeat

1.修改配置文件

#cd /usr/share/doc/heartbeat-3.0.4/

#cp authkeys ha.cf haresources /etc/ha.d/

#cd /etc/ha.d

#vim authkeys #打开下面两项:一共有三种认证方式供选择,第一种是CRC循环冗余校验,第二种是SHA1哈希算法,第三种是MD3哈希算法,其中他们的密码可以任意设置,但是两边密码必须保持一致。

#chmod 600 authkeys #给认证文件授权为600,否则启动会报错。

2.修改haresources文件

#vim haresources

再最底下加入这一行,设置VIP。

dm1 IPaddr::192.168.18.180/32/eth0 drbddisk::nfs Filesystem::/dev/drbd1::/usr/local/ftp::ext4 nfs

说明

dm1 IPaddr::192.168.18.180/32/eth0 #主机名 后跟虚拟IP地址、接口

drbddisk::nfs #管理drbd资源的名称

Filesystem::/dev/drbd1::/usr/local/ftp::ext4 nfs #文件系统::挂载的目录及格式::后跟nfs资源脚本

3.修改ha.cf文件

debugfile /var/log/ha-debug #设定debug文件目录

logfile /var/log/ha-log #设定日志文件目录

logfacility local0 #利用系统日志打印日志

keepalive 2 #设定检查时间间隔为1s

deadtime 30 #设定在10s内没有心跳信号,则立即切换服务

warntime 10 #设定告警时间为5s(5s内没有收到对方的回应就报警)

initdead 120 #设定初始化时间为60s

udpport 694 #设定集群节点间的通信协议及端口为udp694监听端口(该端口可以修改)

ucast eth0 192.168.18.137 #设定心跳方式使用单播方式,并且是在eth0接口上进行单播,ip地址为对方的IP(网卡名称要一致性的IP)从机要改成主机的IP

auto_failback off #当主节点恢复后,是否自动切回,一般都设为off

node dm1 #指定两个节点

node dm2

ping 10.0.0.254 #两个IP的网关

respawn hacluster /usr/lib64/heartbeat/ipfail #使用这个脚本去侦听对方是否还活着(使用的是ICMP报文检测)

两边配置文件要一致!

4.启动Heartbeat(先主后从)

#service heartbeat start

# chkconfig heartbeat on

# netstat -tunlp|grep hear

查看主的IP是否有VIP地址出现

#ip a | grep eth0

# df -h

 

查看从服务状态

#ip a | grep eth0 #没看到VIP是对的,只有主宕了才会切。

# df -h #没有挂载盘是对的,主宕了才会挂载过来。

5.测试目录是否能够共享

实验挂载盘的服务器:192.168.18.138

进入对应的要挂载的目录下创建同名的目录

#mkdir ftp

安装NFS

#yum -y install rpcbind nfs-utils

#service rpcbind start

#chkconfig rpcbind on

ping一下挂载VIP是否能ping通。

#showmount -e 192.168.18.180 #showmount -e 挂载的VIP地址

#mount -t nfs 192.168.18.180:/usr/loacal/ftp /usr/local/ftp #共享文件的目录挂载到138的/usr/local/ftp上

#df -h

挂在完成。

实验共享目录

#touch 566

读写成功。

6.测试高可用

1.进到主服务器上,把服务关了看看。

#/etc/init.d/heartbeat stop

查看VIP是否释放

#ip a|grep eth0 #图下可以看到VIP已经释放

查看drbd资源是否释放

#df -h #可以看到图下资源已经释放。

#cat /proc/drbd #查看资源状态变为从

2.进到从服务器查看VIP是否漂移过来。

#ip a|grep eth0 #已看到VIP飘移成功

#df -h #DRBD资源切换成功,并挂载

# cat /proc/drbd #我们看到dm2上的DRBD角色由原来的备,已转换成主

DRBD+Heartbeat+NFS的高可用至此结束,对高可用的测试,我们上面只是测试了一种情况,当然还有其它几种情况,留给大家去测试吧!

相关TAG标签
上一篇:算法系列—红黑树(C++实现)
下一篇:玩转Eclipse的Wildfly安装、配置到部署
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站