1、安装依赖(本文使用的Centos7.4是最小安装,部分依赖不全,所以需要先安装依赖)
yum install -y gcc gcc-c++ openssl-devel
2、下载keepalived-1.3.5压缩包,并解压,步骤略
3、进入解压后的目录中,执行以下命令:
./configure --prefix=/usr/local/keepalived && make && make install cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ mkdir -p /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ cp /usr/local/keepalived-1.3.5/keepalived/etc/init.d/keepalived /etc/init.d/ chmod 755 /etc/init.d/keepalived
4、编辑keepalived.service
vi /lib/systemd/system/keepalived.service
将所有的字符串 “/usr/local/keepalived” 替换为空白,vi编辑器命令:【%s/\/usr\/local\/keepalived//g】
5、刷新配置
systemctl daemon-reload
6、编辑/etc/keepalived/keepalived.conf配置为自己的配置,详情参照传送门,示例:
global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eno16780032 virtual_router_id 151 priority 100 advert_int 1 authentication { auth_type PASS auth_pass inspur } virtual_ipaddress { 192.168.10.175 } } virtual_server 192.168.10.175 5555 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.255 persistence_timeout 0 protocol TCP real_server 192.168.10.181 5555 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 5555 } } real_server 192.168.10.182 5555 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 5555 } } }
该示例为备用节点上的配置
7、在各个Real Server中添加脚本,命名为【rs.sh】,摘自上方的传送门中的内容:
SNS_VIP=$2 #/etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
增加执行权限:
chmod 755 rs.sh
执行:
./rs.sh start [VIP]
8、在主节点上执行
systemctl start keepalived