LVS + Keepalived 高可用集群
Keepalived的设计目标是构建高可用的LVS负载均衡的集群,可以调用ipvsadm工具创建虚拟机,不仅仅用作双机热备,还可以使用keepalived构建更加方便快捷的节点,进行相关的健康检查,自动移除失效节点,恢复后再重新加入。
在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器。此博客将以DR模式的LVS群集为基础,增加一台从负载调度器,使用Keepalived来实现主、从调度器的热备,从而构建兼有负载均衡、高可用两种能力的LVS网站群集平台。
案例如下
使用Keepalived构建LVS群集时,也需要用到ipvsadm管理工具,但大部分工作会由Keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)。
环境分析
1)、2个调度器和2个web节点使用同一个网段地址,可以直接和外网通信。为了共享存储的安全性,一般将web节点和存储服务器规划到内网环境,所以web节点必须有两个及以上网卡的接口。
2)、我这里资源有限,也为了配置方便,所以调度器和web节点分别只有两个,在web访问请求量不大的情况下,足够了,但是若访问请求比较大,那么最少要分别配置三个调度器和web节点,如果只有两个web节点的话,访问量又比较大,那么一旦有一个宕机了,那剩下一个独苗必定会因为扛不住激增的访问请求,而被打死。
3)、准备系统映像,以便安装相关服务。
4)、自行配置防火墙策略和除了VIP之外的IP地址(我这里直接关闭了防火墙)。
5)、keepalived会自动调用IP_vs模块,所以无需手动加载。
最终效果
1)、客户端多次访问群集的VIP,得到的是同一个网页。
2)、主调度器宕机后,群集的VIP地址将会自动漂移到从(备份)调度器,此时,所有的调度任务由从调度器进行分配。当主调度器恢复运行后,群集的VIP地址会自动转移回主调度器,主调度器继续工作,从调度器转回备份状态。
3)、web节点宕机后,会被keepalived健康检查功能检测到,从而自动在web节点池中去除宕机的节点,待web节点恢复运行后,会被自动添加到web节点池中。
开始配置LVS+Keepalived高可用群集
部署第一台Web服务器
部署第二台Web服务器
部署主调度器
配置从调度器
至此,主、从调度器也配置完成了,若需要部署多个从调度器,按照以上这个从(备份)调度器配置即可。
配置客户端访问
客户端测试访问VIP地址:192.168.100.253为了测试,所以才在每个web节点准备不同的网页文件,以便测试是否有负载均衡的效果,现在效果已经有了,所以要搭建共享存储服务器,所有的web节点都从共享存储服务器读取网页文件向client提供,以便向client提供相同的网页文件。
接下来开始配置共享存储服务器
配置NFS服务器
Web站点挂载共享存储目录
Web节点1服务器挂载共享目录
Web节点2服务器挂载共享目录
客户端再次访问测试
案例相关的查询命令
VIP在哪个调度器上,查询该调度器承载VIP地址的物理接口,即可看到VIP地址(VIP地址在备份调度器上查不到的):
查询有哪些web节点
模拟第二台Web节点和主调度器故障,并在备份调度器上再次查询VIP以及web节点
查看调度器故障切换时的日志消息
小明菜市场
领取专属 10元无门槛券
私享最新 技术干货