目录
一、keepalived+lvs作用
二、调度器配置
部署LVS主备调度器
调整master和backup的ARP参数(一致)全都安装一遍
启动master和backup的keepalived与ipvsadm
三、web节点配置
1、调整ARP参数
2、 配置虚拟IP地址
3、添加回环路由
一、keepalived双机热备
二、概述
1、 Keepalived 是一个基于 VRRP 协议来实现的 LVS 服务高可用方案,可以解决静态路由出现的单点故障问题。
2、 原理
3、解决单点故障问题
三、安装
1、配置文件
2、配置项
四、功能模块
1、core
2、vrrp
3、check
五、配置双机热备
六、配置共享文件
七、双机热备的脑裂现象
1、Keepalived配置里同一 VRRP实例
2、vrrp实例名字不一致、优先级一致
3、防火墙打开,导致心跳无法正常通信
4、网卡故障 网卡进行多路复用
八、VIP无法通信
一、keepalived+lvs作用
使用keepalived解决lvs的单点故障
高可用集群
二、调度器配置
lvs的配置是一主一从和两台WEB服务器分别IP为
mgt192.168.28.3
master 192.168.28.4
slave1 192.168.28.5
slave2 192.168.28.6
部署LVS主备调度器
调整master和backup的ARP参数(一致)全都安装一遍
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
安装keepalived
安装ipvsadm
yum install -y keepalived
yum install -y ipvsadm
modprobe ip_vs
配置keepalived
主配置完毕直接传送给从
scp keepalived.conf 192.168.28.4:/etc/keepalived/keepalived.conf
global_defs {
router_id NGINX1
}vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.28.200
}
}virtual_server 192.168.28.200 80 {
delay_loop 6
lb_algo rr
global_defs {
router_id NGINX1
}vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.28.200
}
}virtual_server 192.168.28.200 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCPreal_server 192.168.28.5 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.28.6 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
从
global_defs {
router_id NGINX1
}vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.28.200
}
}virtual_server 192.168.28.200 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCPreal_server 192.168.28.5 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.28.6 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
创建文件夹这是在Linux系统中创建一个名为ipvsadm的文件。该文件是用于配置IPVS(IP Virtual Server)的工具,IPVS是一个Linux内核中的负载均衡器。在该文件中,可以设置IPVS的参数和规则,以便实现负载均衡和高可用性。
touch /etc/sysconfig/ipvsadm
启动master和backup的keepalived与ipvsadm
systemctl restart keepalived
modprobe ip_vs
ipvsadm -ln
查看lvs节点状态 ipvsadm -ln
三、web节点配置
1、调整ARP参数
vim /etc/sysctl.conf
vim /etc/sysctl.conf
sysctl -p
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
slave1和slave2 分别安装nginx
yum -y install epel-release
yum -y install nginx
cd /usr/share/nginx/html/
echo nginx2 > index.html
cat index.html
2、 配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
web1与web2分别写一个index.html用于测试的网站根目录
web1与web2创建虚拟ip
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.28.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0
重启网络一下
systemctl restart network
3、添加回环路由
route add -host 192.168.28.200/32 dev lo:0
route add -host 192.168.28.200/32 dev lo:0
测试(下面可以看到测试成功,自动切换web1与web2)
两个库测试阶段只有一个可以用
关闭主库
[root@localhost ~]# systemctl stop keepalived
[root@localhost ~]# systemctl stop ipvsadm
开启备库
[root@localhost ~]# systemctl restart keepalived
[root@localhost ~]# curl 192.168.28.200
一、keepalived双机热备
二、概述
1、 Keepalived 是一个基于 VRRP 协议来实现的 LVS 服务高可用方案,可以解决静态路由出现的单点故障问题。
2、 原理
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但
是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
3、解决单点故障问题
三、安装
三台主机一台master两台slave
slave1和slave2安装keepalived
yum install -y keepalived
slave1
slave2
1、配置文件
/etc/keepalived/keepalived.conf
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.backup
vim /etc/keepalived/keepalived.conf
systemctl restart keepalived
2、配置项
router_id 1 定义节点id
state MASTER|BACKUP 定义节点主从状态
interface ens33 配置监听的网卡
virtual_router_id 51 同一个热备组要保持一致
priority 100 节点优先级
advert_int 1 多少秒进行一次心跳检测
authentication {
auth_type PASS
auth_pass 1111
}
keepalived节点的认证方式,同一个keepalived双机热备组一定要保持一致
virtual_ipaddress 配置VIP,即漂移地址
vrrp
四、功能模块
1、core
主进程启动
2、vrrp
vrrp协议:热备份路由协议
3、check
健康状态检测
五、配置双机热备
slave1和slave2
master
backup
六、配置共享文件
主master创建文件并分享出去
mkdir /opt/tuep
vim /etc/exports
systemctl restart nfs
showmount -e 192.168.28.4
回到slave1和slave2上查看一下并挂载全部操作一下
showmount -e 192.168.28.4
mount 192.168.28.4:/opt/tuep /mnt
回主服务master
echo nginx1 > index.html
回从服务器查看一下slava1和slave2
ll /usr/share/nginx/html/
先看slave1的IP a
主机查看一下
停止slave1的keepalived
去slave2查看IP a再去主机刷新一下
七、双机热备的脑裂现象
1、Keepalived配置里同一 VRRP实例
如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。
2、vrrp实例名字不一致、优先级一致
3、防火墙打开,导致心跳无法正常通信
4、网卡故障 网卡进行多路复用
八、VIP无法通信
注释:vrrp_strict