Lvs别样的自动部署监控shell脚本
l脚本功能:
l实验环境图:
l具体脚本:
l结果验证:
l参考资料:
先申明,本文现在已经在我公司的测试环境和生产测试环境使用。正式环境请用keepalived+lvs.
安装ipvsadm不多说了,先说说脚本的功能,脚本分为redirectserver端和realserver端,脚本分别为lvs_redirector.sh和realserver.sh脚本。另外加一个监控脚本lvs_monitor.sh(此脚本来源网友,做了一点修改,算是取之于网络,共享给网络吧)。
脚本功能:执行lvs_redirector.shnat|dr|tun|stop,中的一个选项可以启动或关闭相应的lvs模式,并调用lvs_monitor.sh监控realserver。当realserver故障,或者重新启动时,自动删除,添加相应的realserver.当realserver全故障时,自动添加redirectorserver本地127.0.0.1的web页面的故障提示。当realserver只要有一台恢复时,自动添加相应的realserver,并删除127.0.0.1。
实验环境图:Lvs具体原理可以看我的博客:Lvs通俗易懂的总结。
本文脚本的使用如下图的场景:
具体脚本:
lvs_redirector.sh脚本如下:
lvs_realserver.sh脚本如下:
lvs_monitor.sh脚本如下:(注意要放在lvs_redirector.sh在同一个目录下)
结果验证:在验证结果之前,要保证你的路由器的端口映射是正确,且生效的,上面图中:
当外网客户端192.168.20.200访问时,nat模式路由器192.168.20.14映射到172.16.8.11这个IP,
dr和tun模式映射到10.0.8.20这个IP。
验证方法:先测试直接内网访问两台realserverweb是不是正常,以及redirectorserver的本地127.0.0.1web是不是正常,再测试访问192.168.20.14,当其中一台故障时是不是还可以访问,到全故障时,有没有切的本地127.0.0.1(故障提示页)的web,当其中只要有一台恢复时,会不会启动添加启用,并删除127.0.0.1的web.