HA热备搭建

举报
westfilip 发表于 2019/02/01 00:19:43 2019/02/01
【摘要】 HA热备搭建HA(高可用性集群)当主机处于工作状态时,从机处于休眠状态,当主机宕机时,从机便会开始工作,让用户几乎感觉不到服务的中断,类似于网络路由配置中的备份。当主机存活时,所有的资源全在主机上,通过网络存储,光纤连接或者是一些第三方存储设备。主机宕机后,资源就会从主机上自动挂到从机上。一、实验所需的设备在虚拟机中安装两个新的Linux服务器,每个服务器有两块网卡,eth0为主机模式,et...

HA热备搭建

HA(高可用性集群)当主机处于工作状态时,从机处于休眠状态,当主机宕机时,从机便会开始工作,让用户几乎感觉不到服务的中断,类似于网络路由配置中的备份。当主机存活时,所有的资源全在主机上,通过网络存储,光纤连接或者是一些第三方存储设备。主机宕机后,资源就会从主机上自动挂到从机上。

一、实验所需的设备

在虚拟机中安装两个新的Linux服务器,每个服务器有两块网卡,eth0为主机模式,eth1为桥接模式或者是NAT模式。eth1会模拟为对外服务,eth0在内网中作为心跳线,起心跳检测的作用,用来检测主机和从机之间是否有存活。

二、从机上的服务安装

采用的事yum安装,yum安装能解决安装包依赖的问题。

1yum install epel-release  安装epel yum

yum install heartbeat* 安装heartbeat服务

yum install nginx web服务做测试

yum install libnet 安装libnet函数库

2cd /etc/ha.d/

把所需要的文件从/usr/share/doc/heartbeat/中拷到/etc/ha.d/目录下,所需要的文件是haresources,authkeys,ha.cf

然后进行文件的修改

1)、vim  /etc/ha.d/authkeys

#auth1

#3 md5 Hello改为

auth3

3 md5 Hello

        (2)、然后更改该文件的权限

chmod 600 authkeys

(3)、修改haresources文件

vim haresources

在最后一行加上

主机名(主机) VIPVIP是虚拟IP,改为对外提供服务的eth1网段内的一个虚拟IP/24/eth1:0 nginx

例如:zhuji1  192.168.137.11/24/eth1:0  nginx

(4)、修改ha.cf文件

vim ha.cf

#debugfile调试日志文件

    #logfile日志文件

   #keepa:live 2   2秒检测一下存活时间

   #deadtime 30   30秒为检测到存活则认为主机死亡

   #warntime 10  警告时间段为10

   #initdead 120   120秒的初始时间

   #udpport 694   提供服务通信的udp端口

   #ucast单播对方的IP

   #node  主机名

   #node  从机名

   #ping  这个是仲裁IP

   #respawn  hacluster  /usr/lib/heartbeat/ipfail

64位系统改为、/usr/lib64/heartbeat/ipfail

之前的#去掉

ucast 那行加上

ucast  eth0 192.168.13.129

其中eth0 192.168.13.129 是对方的内网即心跳线的IP

再加上

node 主机名

node 从机名

还有很重要的一步

加上ping 192.168.13.1这个IP是作为仲裁,一般是内网的网关,因为网关较为稳定。意思是可以通过这个仲裁IP找到单播IP

5)、vim /etc/hosts

加上主机和从机的IP和用户名

例如 主机IP  主机名

 从机IP  从机名

第五步在主机上也要写

三、把在从机上配置好的文件复制到主机上去

可以用在从机的/etc/ha.d/目录下scp haresources ha.cf authkeys 主机名:/etc/ha.d下的方法进行复制

如果没有scp命令的话可以安装一下

yum install openssh-clients主机从机上都要安装

复制完之后再主机上只需要更改一个地方即可,就是ha.cf中的一个配置即ucast eth0 加对方心跳线的IP

四、配置完上述配置之后,关闭所有的防火墙和selinux

iptables -F

vim /etc/sysconfig/selinux

SELINUX=enforcing改为SELINUX=disabled

五、然后就是服务的启动了

应该先启动主机上的heartbeat服务再启动从机上的heartbeat服务。

service heartbeat start

六、测试

可以在主机上通过ifconfigps aux |grep nginx来查看

先启动主机再启动从机之后我们可以看到在主机上有我们配置的VIP以及nginx 服务的进程,而在从机上没有。我们可以在主机上写一条防火墙记录来测试我们服务的正确性。

iptables -I INPUT -p icmp -j DROP

然后注意观察我们的日志文件 tail -f /var/log/ha-log可以看到日志明显的变化。而在从机上通过ifconfig可以看到VIP,这就说明我们的配置成功了。

也可以利用测试网页来验证

在主机上echo “主机” >>/usr/share/nginx/html/index.html

在从机上echo “从机” >>/usr/share/nginx/html/index.html

然后我们可以在浏览器上通过输入我们配置的VIP以及把主机切断在输入我们的VIP来验证。

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。