问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Keepalived+LVS实现高可用集群

创作时间:
作者:
@小白创作中心

Keepalived+LVS实现高可用集群

引用
CSDN
1.
https://m.blog.csdn.net/div3tengr/article/details/145185734

本文详细介绍了如何使用Keepalived和LVS实现高可用集群的配置过程。文章内容包括案例环境、配置Keepalived、配置ipvsadm策略、启动服务、配置Web服务以及客户端访问测试等多个步骤,每个步骤都配有具体的命令行操作示例。

案例环境

案例步骤

配置Keepalived

在LVS服务器上下载keepalived,ipvsadm

#修改配置文件
vim /etc/keepalived/keepalived.conf
#运行端口
interface ens33
#优先级
priority 100
#虚拟VIP
virtual_ipaddress{
    192.168.180.100
}
#修改第一个virtual_server段
virtual_server 192.168.180.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP
    real_server 192.168.180.145 80 {
        weight 1
        TCP_CHECK {
            connect_port 80 
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }  
    real_server 192.168.180.146 80 {
        weight 1
        TCP_CHECK {
            connect_port 80 
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}  

仅保留virtual_server和上方字段,其余都删除

备LVS同理,直接复制

#远程复制LVS主的配置文件
scp 192.168.180.143:/etc/keepalived/keepalived.conf /etc/keepalived/
#修改配置项
vim /etc/keepalived/keepalived.conf
#修改名称
router_id LVS_DEVEL_2
#注释选项
!vrrp_strict
#修改服务类型
state BACKUP
#修改优先级
priority 99  

配置ipvsadm策略

配置sysctl.conf

vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
#加载内核参数
sysctl -p  
ipvsadm -C
ipvsadm -A -t 192.168.180.100:80 -s rr
ipvsadm -a -t 192.168.180.100:80 -r 192.168.180.145 -g -w 1
ipvsadm -a -t 192.168.180.100:80 -r 192.168.180.146 -g -w 1
ipvsadm-save

备LVS同理,直接复制

#远程复制主LVS的配置文件
scp 192.168.180.143:/etc/sysctl.conf /etc/
#加载内核参数
sysctl -p
#配置ipvsadm策略
ipvsadm -C
ipvsadm -A -t 192.168.180.100:80 -s rr
ipvsadm -a -t 192.168.180.100:80 -r 192.168.180.145 -g -w 1
ipvsadm -a -t 192.168.180.100:80 -r 192.168.180.146 -g -w 1
ipvsadm-save

启动服务,关闭防火墙

#启动服务
systemctl enable ipvsadm
systemctl start keepalived
#关闭防火墙与SElinux
systemctl stop firewalld && setenforce 0  

查看双机热备状态

tail -50 /var/log/messages  

配置Web服务

详细步骤请看:LVS负载均衡-DR模式文章
https://blog.csdn.net/div3tengr/article/details/145173289?spm=1001.2014.3001.5502

安装HTTP

yum -y install httpd  

创建配置回环网卡

#复制回环文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
#修改虚拟回环接口
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.180.250
NETMASK=255.255.255.255
NETWORK=192.168.180.250
BROADCAST=192.168.180.250
ONBOOT=yes
NAME=loopback
#启动虚拟网卡
ifup ifcfg-lo:0  

查看网卡状态

ifconfig  

配置访问路由

echo "/sbin/route add -host 192.168.180.100 dev lo:0" >> /etc/rc.local
route add -host 192.168.180.100 dev lo:0  

配置响应参数

vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce = 2
#加载内核参数
sysctl -p  

配置http页面

#插入页面内容
echo "aaaaaaa" > /var/www/html/index.html
#启动服务
systemctl start httpd  

Web2同理复制过去

安装HTTP

yum -y install httpd  

修改页面内容,启动服务

echo "bbbbbbbbbb" > /var/www/html/index.html
systemctl start httpd  
#远程复制web1的网卡文件
scp 192.168.180.145:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/
#启动网卡
ifup lo:0
#查看网卡状态
ifconfig  

配置访问路由

#远程复制文件
scp 192.168.180.145:/etc/rc.local /etc/
#配置响应路由
route add -host 192.168.180.100 dev lo:0
#查看路由信息
route -n  

配置响应参数

scp 192.168.180.145:/etc/sysctl.conf /etc/
sysctl -p

关闭Web防火墙

systemctl stop firewalld && setenforce 0  

客户端访问测试

访问虚拟VIP

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号