Keepalived双机备热+LVS负载均衡 高可用群集

keepalived双机热备+LVS负载均衡 高可用群集

   keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm来创建虚拟服务器,管理服务池,而不仅仅用作双击备热,使用keepalived构建的LVS群集更加简洁易用,主要体现在: 对LVS负载调度器实现热备切换,提高可用性,对服务器的节点进行健康检查。自动移除失效节点,回复后重新加入。

项目环境:准备至少两台主调度器(热备组),两台机器安装ipvsadm用于查看LVS的群集地址和VIP地址。

	 准备至少Web服务器

	 准备一台外部服务器用于实验检测

首先,在主调度服务器(热备机)中修改配置文件(IPADDR=192.168.1.2)设置网关。

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs { #全局配置
router_id LVS_DEVEL1 #主调度器名称(可以随意)
}

vrrp_instance VI_1 {
state MASTER #MASTER代表主调度器
interface ens33
virtual_router_id 51
priority 100 #优先级,优先级高调度器的第一个使用
advert_int 1
authentication { #主.从调度器认证信息
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #指定VIP群集地址(漂移地址)
192.168.1.10
}
}

virtual_server 192.168.1.10 80 { #这里的功能可以相等于LVS的负载均衡功能,

									LVS相应的命令设置在keepalived设置,在这里用选项代替了,更加简明易懂。
delay_loop 6
lb_algo rr
lb_kind DR
!    persistence_timeout 50
protocol TCP

real_server 192.168.1.4 80 {			#虚拟服务器地址,端口
    weight 1							#权重
    TCP_CHECK {							#使用的协议
            connect_port 80				#健康检查的目标端口
        connect_timeout 3				#健康检查时间
        nb_get_retry 3					#健康检查的重试次数
        delay_before_retry 3			#重试间隔(秒)
    }
}
real_server 192.168.1.5 80 {			#第二台虚拟服务器信息
    weight 1
    TCP_CHECK {
            connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

在/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

配置完成后启动主调度器 systemctl restart keepalived.service 1,5 顶端

从调度器(192.168.1.3):scp [email protected]:/etc/keepalived/keepalived.conf /etc/keepalived/ 在主调度服务器完成配置后可以使用scp将其配置文件远程拷贝过来,再根据具体位置进行修改,因为虚拟服务器的相关配置相同所以不用做改动,改动调度服务器名称加以区分,改动优先级,改动网卡,改动从调度器调度状态。

远程scp 192.168.1.2:/etc/sysctl.conf /etc/

net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0

改动配置文件完成后,启动keepalived服务systemctl start keepalived.service

两台调度服务器关闭防火墙。现在可以用ipvsadm -ln命令查看LVS负载均衡群集地址以及VIP地址。

打开Web节点服务器(182.168.1.4)

开启Web服务

/etc/sysctl.conf中添加

net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.default.arp_announce=2

net.ipv4.conf.all.arp_announce=2

sysctl -p

添加回环地址vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.1.10 #对外漂移地址,回环地址
NETMASK=255.255.255.255 #子网掩码必须是255.255.255.255

添加回环路由,防止数据包向外转发 route add -host 192.168.1.10 dev lo:0

启动Web服务,关闭防火墙。

第二台Web节点服务器(192.168.1.5)

与第一台节点服务器设置相同

打开

打开测试机(添加地址:192.168.1.1)

curl 192.168.1.10

你可能感兴趣的:(Linux)