标签:keepaliv ali interface ifconf ble ifconfig try remote ret
| 系统 | IP | 软件 |
| Centos8 | 192.168.248.80 | lvs+keepalived |
| Centos8 | 192.168.248.81 | lvs+keepalived |
| Centos8 | 192.168.248.100 | Web server |
| Centos8 | 192.168.248.101 | Web server |
vip暂定192.168.248.254
master配置
[root@master ~]# yum install ipvsadm keepalived -y
[root@master ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_01
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 90 #虚拟路由 ID(0-255),在一个 VRRP 实例中主备服务器 ID 必须一样
mcast_src_ip 192.168.248.80
priority 100 # 优先级值设定:MASTER 要比 BACKUP 的值大
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.248.254
}
}
virtual_server 192.168.248.254 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.248.100 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.248.101 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@master ~]# systemctl start keepalived
backup配置
[root@backup ~]# yum install ipvsadm keepalived -y
[root@backup ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_02
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 90
mcast_src_ip 192.168.248.81
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.248.254
}
}
virtual_server 192.168.248.254 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.248.100 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.248.101 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@backup ~]# systemctl start keepalived
在 RS 的lo网卡上配置 VIP
配置脚本,两台RS都需要
[root@RS1 ~]# cat /scripts/lvs_rs.sh
#!/bin/bash
VIP=192.168.248.254
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $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 $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
#安装nginx测试
[root@RS1 ~]# yum -y install nginx
[root@RS1 ~]# echo ‘192.168.248.100‘ /usr/share/nginx/html/index.html
[root@RS1 ~]# systemctl start nginx
主节点查看ip,可以看到 VIP 目前已经正确配置在网卡上。

输入ipvsadm -Ln 或watch ipvsadm -Ln --stats可以看到负责均衡状态
[root@master ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.248.254:80 rr persistent 50 -> 192.168.248.100:80 Route 1 0 0 -> 192.168.248.101:80 Route 1 0 0
测试访问VIP

手动停止一个 RS,再次访问 VIP,LVS 会自动剔除无法访问的服务,重启后,服务会被自动添加
[root@RS1 ~]# systemctl stop nginx

手动停止master上的 keepalived,模拟 master节点挂了,VIP 会自动转移到backup上。

在backup上查看
重启master后,由于master的优先级高于backup,此时vip会转移到master,从而实现 HA。

标签:keepaliv ali interface ifconf ble ifconfig try remote ret
原文地址:https://www.cnblogs.com/diqiyao/p/14828797.html