深圳网站建设哪里便宜,海外销售工作难做吗,青岛开发区网站制作,手机回收网站开发文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验1.某台Real Server down2.LVS本身down实验过程#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置前言 一、Keepalived简介 Keepalived是…
文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验1.某台Real Server down2.LVS本身down实验过程五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置前言 一、Keepalived简介 Keepalived是linux下一个轻量级别的高可用解决方案。高可用广义来讲是指整个系统的高可用行狭义的来讲就是主机的冗余和接管。用来解决单点故障 Keepalived部署和使用非常的简单所有配置只需要一个配置文件即可以完成 二、keepalived工作原理 keepalived是以VRRP协议为实现基础的VRRP全称 Virtual Router Redundancy Protocol即虚拟路由冗余协议。 虚拟路由冗余协议可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一个路由器组这个组里面有一个master和多个backupmaster上面有一个对外提供服务的vip该路由器所在局域网内其他机器的默认路由为该vipmaster会发组播当backup收不到vrrp包时就认为master宕掉了这时就需要根据VRRP的优先级来选举一个backup当master。这样就可以保证路由器的高可用了。 keepalived主要有三个模块分别是core、check和vrrp。 core模块keepalived的核心负责主进程的启动、维护以及全局配置文件的加载和解析。 check负责健康检查包括常见的各种检查方式。 vrrp模块实现VRRP协议的。 三、配置文件 global_defs { notification_email { rootlocalhost ##定义接收警告的人 } notification_email_from rootlocalhost ##定义发邮件地址 smtp_server 172.0.0.1 ##定义发邮件地址若为127.0.0.1则使用本机自带邮件服务的脚本 smtp_connect_timeout 30 router_id LVS_DEVEL
} #vrrp_script ##自定义名字后面还会用到它 vrrp_garp_interval 0vrrp_gna_interval 0
} vrrp_instance VI_1 { state MASTER ##角色为master备份机的为BACKUP interface eth0 ##针对哪个网卡监听VIP virtual_router_id 51 priority 100 ##权重为100master要比backup大 advert_int 1 authentication { auth_type PASS auth_pass 1111 ##定义密码这个密码自定义 } virtual_ipaddress { 172.25.70.100 ##定义VIP }
}
virtual_server 172.25.70.100 80 {delay_loop 6 #健康检查的时间间隔lb_algo rr #LVS调度算法lb_kind DR #LVS模式#persistence_timeout 50 #持久化超时时间单位是秒。默认是6分钟protocol TCP #4层协议(TCP|UDP|SCTP)real_server 172.25.70.2 80 {weight 1 #给服务器指定权重。默认是1TCP_CHECK { #real_server中的健康检查connect_timeout 3 #连接超时时间。默认是5snb_get_retry 3 #get尝试次数delay_before_retry 3 #在尝试之前延迟多长时间}}real_server 172.25.70.3 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}四、实验
LVS对后端不具备健康检测
1.某台Real Server down 现象 2.LVS本身down 现象 实验过程 问题一某台Real Server down down服务器2的http时ipvsadm -ln会自动删除服务器2的策略并收到一封邮件服务器3也是同样的重启http后ipvsadm -ln会自动生成策略 问题二LVS本身down,做备份主机当调度器down后备份主机变为调度机但是优先级低于主调度器 备份机yum install ipvsadm -y进行测试 调度器systemctl stop keepalived用备份机测试 调度器停止服务后关机、网络问题等等问题VIP会被拿掉备份机会生成VIP变为MASTER角色VIP跟着MASTER走 调度器开始服务后由于优先级高会接管VIP变为MASTER角色。 切换过程会有一点点损失 五、代码详细演示整体过程
调度器安装软件、设置
server1
清除资源
[rootserver1 ~]# ip a d 192.168.56.100/24 dev eth0
[rootserver1 ~]# ipvsadm -C安装高可用软件
[rootserver1 ~]# yum install -y keepalived[rootserver1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {rootlocalhost}notification_email_from keepalivedlocalhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.56.100}
}virtual_server 192.168.56.100 80 {delay_loop 3lb_algo rrlb_kind DR#persistence_timeout 50protocol TCPreal_server 192.168.56.12 80 {weight 1TCP_CHECK {connect_timeout 3delay_before_retry 3}}real_server 192.168.56.13 80 {weight 1TCP_CHECK {connect_timeout 3delay_before_retry 3}}
}[rootserver1 ~]# systemctl enable --now keepalived 测试keepalived对后端RS的健康检测
[rootserver2 ~]# systemctl stop httpd[rootserver1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size4096)
Prot LocalAddress:Port Scheduler Flags- RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.56.100:80 rr- 192.168.56.13:80 Route 1 0 0故障的RS会自动从调度列表中被摘除再次启动服务
[rootserver2 ~]# systemctl start httpd恢复的RS会自动添加到调度列表backup服务主机设置
server4
安装高可用软件
[rootserver4 ~]# yum install -y keepalived
从server1拷贝配置文件
[rootserver1 ~]# scp /etc/keepalived/keepalived.conf server4:/etc/keepalived/[rootserver4 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {rootlocalhost}notification_email_from keepalivedlocalhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.56.100}
}virtual_server 192.168.56.100 80 {delay_loop 3lb_algo rrlb_kind DR#persistence_timeout 50protocol TCPreal_server 192.168.56.12 80 {weight 1TCP_CHECK {connect_timeout 3delay_before_retry 3}}real_server 192.168.56.13 80 {weight 1TCP_CHECK {connect_timeout 3delay_before_retry 3}}
}[rootserver4 ~]# systemctl enable --now keepalived测试
停止server1上服务
[rootserver1 ~]# systemctl stop keepalived.service查看资源是否自动迁移到server4