1、Keepalived软件前期用来管理并监控LVS集群系统中各个服务节点的状态;
2、后期加入了实现高可用的VRRP功能。因此可以为lvs负载均衡提供高可用功能,也可以为其他服务提供高可用。。
实验镜像:Centos 8.1.1911
草图:(待补)
1、两个real server 安装配置
在keepalived Master上测试无问题。
[root@HA1 ~]# curl http://192.168.94.140 this is real 1 server [root@HA1 ~]# curl http://192.168.94.141 this is real 2 server [root@HA1 ~]#
2、安装keepalived、ipvsadm
yum install ipvsadm keepalived -y
使用keepalived即可完成real server的添加。
配置文件在/etc/keepalived下
[root@HA1 keepalived]# pwd /etc/keepalived [root@HA1 keepalived]# ls keepalived.conf [root@HA1 keepalived]# cp keepalived.conf keepalived.conf.bak [root@HA1 keepalived]# echo "" > keepalived.conf [root@HA1 keepalived]#
3、keepalived文件配置
MASTER
! Configuration File for keepalived # 全局 global_defs { notification_email { root@localhost } notification_email_from [email protected] smtp_connect_timeout 3 smtp_server 127.0.0.1 router_id LVS_DEVEL } # 一个keepalived服务器,MASTER为主的进行服务提供 vrrp_instance VI_1 { interface ens33 state MASTER priority 101 virtual_router_id 51 garp_master_delay 1 authentication { auth_type PASS auth_pass password } # VIP 地址 virtual_ipaddress { 192.168.94.200 dev ens33 label ens33:0 } } # VIP 关联两个real server virtual_server 192.168.94.200 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 50 protocol TCP # 两个real server 都故障,提供服务的地址 sorry_server 192.168.94.138 80 # 定义real server 1 real_server 192.168.94.140 80 { weight 1 # real server 存活检测,检测url的code HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } # 定义real server 2 real_server 192.168.94.141 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
把配置文件复制到HA2上
BACKUP
! Configuration File for keepalived # 全局 global_defs { notification_email { root@localhost } notification_email_from [email protected] smtp_connect_timeout 3 smtp_server 127.0.0.1 router_id LVS_DEVEL } # 一个keepalived服务器,MASTER为主的进行服务提供 vrrp_instance VI_1 { interface ens33 state BACKUP priority 100 virtual_router_id 51 garp_master_delay 1 authentication { auth_type PASS auth_pass password } # VIP 地址 virtual_ipaddress { 192.168.94.200 dev ens33 label ens33:0 } } # VIP 关联两个real server virtual_server 192.168.94.200 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 50 protocol TCP # 两个real server 都故障,提供服务的地址 sorry_server 192.168.94.139 80 # 定义real server 1 real_server 192.168.94.140 80 { weight 1 # real server 存活检测,检测url的code HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } # 定义real server 2 real_server 192.168.94.141 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
1、高可用
两个节点(MASTER、BACKUP)都启动服务。
查看地址ifconfig –a
VIP只会启动在MASTER上,当MASTER服务故障后,则BACKUP提供服务。
2、real server 资源管理
real server 节点故障后,keepalived会自动在ipvs中进行删除。再上线后也会重新加进来。
我的配置文件可能有点问题,测试的时候有些奇怪,有时间在检查吧。
读书和健身总有一个在路上