多机微服务之-keepalived+虚IP(VIP)实现高可用配置
keepalived+虚IP(VIP)实现高可用配置
这儿就只用了主备机之间的虚似ip跳转
文章内部,转自https://blog.csdn.net/gongquan2008/article/details/127987887
.
https://blog.csdn.net/gongquan2008/article/details/127987887
一、单节点直接绑定VIP
1、新建脚本文件vip.sh,脚本内容:
#!/bin/bash
ifconfig eth0:1 x.y.z.e broadcast x.y.z.255 netmask 255.255.255.0 up
route add -host x.y.z.e dev eth0:1
内容说明:
eth0:1表示这个VIP绑定的目标网卡设备,x.y.z.e就是VIP的值,广播地址为x.y.z.255,子网掩码为:255.255.255.0,up表示立即启用这个VIP。通过route命令,在路由表上添加对这个VIP的路由信息;
2、执行脚本sh ./vip.sh;
执行成功后检查是否正常:ifconfig,多了一张eth0:1网卡,说明VIP创建成功。
3、为了解决重启机器丢失问题,需要把上面的脚本加到启动项里面去:
在/etc/rc.d/rc.local中添加vip的执行脚本即可;
二、多节点主备绑定VIP
1、安装依赖:
yum install curl gcc openssl openssl-devel libnl libnl-devel libnl3-devel net-snmp-devel libnfnetlink-devel -y
2、下载并解压keepalived:
tar -zxvf keepalived-2.1.5.tar.gz
3、进入解压目录:
cd keepalived-2.1.5
4、编译
./configure --prefix=/usr/local/keepalived --sysconf=/etc
5、安装
make && make install
6、检查是否安装成功
cd /etc/keepalived/
可以看到这些keepalived.conf,表明安装成功。
7、编辑配置
主服务器:
! Configuration File for keepalived global_defs { #路由ID,当前安装keepalived的节点主机标识符,需保证全局唯一 router_id LVS_01 } #基于vrrp协议的实例,可理解为一个服务器节点 vrrp_instance VI_1 { #表示状态为主节点MASTER还是备用机BACKUP state MASTER #当前示例绑定的网卡,根据ip addr查出来的网卡 interface eth0 #虚拟路由id,保证主备节点该值一致 virtual_router_id 51 #优先级/权重,master权重一般高于backup,在master挂掉后谁的优先级高,谁就能成为master priority 100 #主备之间同步检查的时间间隔(心跳),默认为1s advert_int 1 #认证授权的密码,防止非法节点进入,主备需要一致 authentication { auth_type PASS auth_pass 1111 } #虚拟IP,可以有多个,根据自己实际情况修改 virtual_ipaddress { 192.168.5.66 } }
备服务器:
! Configuration File for keepalived global_defs { #路由ID,当前安装keepalived的节点主机标识符,需保证全局唯一 router_id LVS_02 } #基于vrrp协议的实例,可理解为一个服务器节点 vrrp_instance VI_1 { #表示状态为主节点MASTER还是备用机BACKUP state BACKUP #当前示例绑定的网卡,根据ip addr查出来的网卡 interface eth0 #虚拟路由id,保证主备节点该值一致 virtual_router_id 51 #优先级/权重,master权重一般高于backup,在master挂掉后谁的优先级高,谁就能成为master priority 90 #主备之间同步检查的时间间隔(心跳),默认为1s advert_int 1 #认证授权的密码,防止非法节点进入,主备需要一致 authentication { auth_type PASS auth_pass 1111 } #虚拟IP,可以有多个,根据自己实际情况修改 virtual_ipaddress { 192.168.5.66 } }
注意router_id、virtual_router_id(每对主备一个值)
8、重启服务
service keepalived restart
9、至此两节点的虚拟IP就配置完成,当关闭主服务器时,备服务器上的虚拟IP将被启用,访问IP将访问到备服务器,从而实现了高可用;