一:高可用集群keepalived
LB:Load Balance 负载均衡
负载均衡,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务
减轻了某个或某些实体的负载,将任务通过某种策略分配到多个实体上去,实现负载在不同实体间的平衡。这种技术可以显著提高系统的可扩展性、可用性和效率。
在实际应用中,负载均衡可以采取多种策略,如轮询、随机、最少连接等。这些策略各有优缺点,适用于不同的场景。例如,轮询策略可以确保工作负载均匀分配给各个实体;而最少连接策略则优先将新任务分配给当前连接数最少的实体。选择合适的策略对于保证系统的稳定性和性能至关重要。
务器上,从而满足业务的持续性;这两台或多台服务器构成了服务器高可用集群,就是说要保证服务能一直一直的稳定运行,不能断断续续的
用httpd的网页来测试,现在先测试网页可不可通
[root@server1 ~]# yum install httpd -y
[root@server1 ~]# echo This is 172.16.10.110 > /var/www/html/index.html
[root@server1 ~]# systemctl enable --now httpd
[root@server2 ~]# yum install httpd -y
[root@server2 ~]# echo This is 172.16.10.120 > /var/www/html/index.html
[root@server2 ~]# systemctl enable --now httpd
[root@ka1 ~]# curl 172.16.10.110
This is 172.16.10.110
[root@ka1 ~]# curl 172.16.10.120
This is 172.16.10.120
[root@ka1 ~]# yum install keepalived -y
[root@ka2 ~]# yum install keepalived -y
配置虚拟路由器
保存退出,重启Keepalived服务
生成了VIP100
在ka2上同样的配置
测试
keepalived虚拟路由的通讯设定
在配置此步骤前在server上是 ping 不通VIP172.16.10.100的
可以看见现在可以ping通VIP172.16.10.100
keepalived日志分离
[root@ka1 ~]# vim /etc/sysconfig/keepalived
[root@ka1 ~]# vim /etc/rsyslog.conf
keepalived独立子配置文件
[root@ka1 ~]# mkdir -p /etc/keepalived/conf.d
[root@ka1 ~]# vim /etc/keepalived/conf.d/172.16.10.100.conf
重启keepalived服务
VIP依然存在,实现独立子配置文件
keepalived-非抢占模式和延迟抢占
此时VIP在ka2上,只有当ka2重启时,VIP才会被ka2放掉,回到ka1
延迟抢占
当拥有VIP的主机重启后,延时5秒才转交VIP
两边都要注释vrrp_strict 与单播模式冲突
重启ka1和ka2的keepalived服务
keepalived-邮件通知
QQ邮件通知
在这里生成授权码
记住这里的授权码
[root@ka1 ~]# vim /etc/mail.rc
发送一条测试邮件到邮箱
[root@ka1 ~]# echo hello word | mail -s test 2554511017@qq.com
成功受到邮件
通知脚本类型:
什么时候需要发通知
写完后要给脚本配置权限
[root@ka1 ~]# chmod +x /etc/keepalived/mail.sh
在[root@ka1 ~]# vim /etc/keepalived/keepalived.conf 中调用
最后能在邮箱中看见设备变化的邮件
keepalived-双主模式
ka2上也一样要配置
配置好后,保存退出重启
ka1在虚拟路由1上是主,在虚拟路由2上是备
ka2在虚拟路由1上是备,在虚拟路由2上是主
形成双主模式
keepalived-ipvs设定
先在server1和server2上添加VIP172.16.10.100
[root@server1 ~]# ip a a 172.16.10.100/32 dev lo
[root@server2 ~]# ip a a 172.16.10.100/32 dev lo
[root@ka1 ~]# yum install ipvsadm -y
[root@ka2 ~]# yum install ipvsadm -y
ka2上与ka1一模一样
重启keepalived服务后
在客户端上curl 172.16.10.100,ka1或者ka2只要有一台存活即可
keepalived+haproxy的高可用集群
[root@ka1 ~]# yum install haproxy -y
[root@ka2 ~]# yum install haproxy -y
[root@ka1 ~]# sysctl --system
[root@ka2 ~]# sysctl --system
[root@ka1 ~]# vim /etc/haproxy/haproxy.cfg
[root@ka1 ~]# systemctl enable --now haproxy.service
ka1和ka2上不能有VIP
[root@ka2 ~]# vim /etc/haproxy/haproxy.cfg
[root@ka2 ~]# systemctl enable --now haproxy.service
ka2也是
ka2同样
ka1和ka2中故障一台,最终不影响服务的运行
实现高可用