使用心跳实现高可用HA的配置过程详解一,写在前面HA即(高可用)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有2台机器甲和B,正常是甲提供服务,B待命闲置,当甲宕机或服务宕掉,会切换至乙机器继续提供服务。常见的实现高可用的开源软件有心跳和KEEPALIVED。这样,一台网络服务器一天24小时提供的网络服务,难免会存在网络服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望的。如果这样,有2台服务器,A对外提供的Web服务,B作为备用,如果阿挂掉,那么乙立刻替代甲的位置去提供网页服务,这样对用户来说是透明的。但是有个问题,服务器甲的IP是10.0.0.100,服务器乙的IP是10.0.1.101,显然向用户提供一个或乙的IP地址是不可行的,因为用户总不能去切换IP来访问的吧。这时心跳或KEEPALIVED可 提供一个虚拟IP 10.0.0.102,用户只需要访问10.0.0.102,当甲提供服务时,VIP会设置在甲服务器上,当乙提供服务时,VIP会设置在乙服务器上,这样就可以让用户通过访问10.0.0.102来获取网络服务,即使甲或乙服务器切换也不影响用户的正常访问。下面我们使用心跳来做HA集群,并且把nginx的的的的的的的服务作为HA对应的服务。二,准备实验环境服务器主机名:master操作系统:CentOS6.8 64位eth0网卡地址:192.168.0.18 eth1网卡地址:172.16.254.18
服务器B:主机名:slave操作系统:CentOS6.8 64位eth0网卡地址:192.168.0.28 eth1网卡地址:172.16.254.28虚拟VIP:VIP:192.168.0.38三,设置主机名master节点设置hostname hostname master vim /等/ SYSCONFIG /网络编辑配置文件:HOSTNAME =主从属节点设置主机名#主机名从#VIM的/ etc / SYSCONFIG /网络编辑配置文件:HOSTNAME =从属四,关闭防火墙和selinux的(2台节点都要SELinux:#setenforce 0 #sed -i’s / SELINUX = enforcing / SELINUX = disabled /’/ etc / selinux / config five …操作)关闭的iptables #iptables的-F#服务的iptables保存#service iptables的停止关闭了,配置主机文件(2台节点都操作)3,编辑的文件的的的的的的的haresources
()
CD /etc/ha.d #SCP authkeys的ha.cf的的haresources奴隶:/etc/ha.d十,从节点从编辑ha.cf #VIM /etc/ha.d/ha.cf文件文件只需要更改一个地方如下:尤卡斯特ETH1 172.16.254.28改为尤卡斯特ETH1 172.16.254.18十一,启动心跳服务配置完毕后,先主启动,后从动启动#serice心跳开始十二,检查测试#的ifconfig看是否有接口eth0的:0 #PS aux | grep的nginx的看是否有nginx的进程十三,测试方式1主节点上故意禁平#iptables的-I INPUT -p ICMP -j DROP十四,测试方式2主节点停止心跳服务#service心跳停止十五,测试脑裂主节点主和从节点的从向下都ETH1掉网卡#ifdown你的ETH1