轻量级web故障自动切换keepalived
2014-04-22 14:31
330 查看
原文链接:http://blog.sina.com.cn/s/blog_6dbc8a680100u1s7.html
一、环境说明
1、操作系统内核版本:2.6.9-78.ELsmp 2、Keepalived软件版本:keepalived-1.1.20.tar.gz
二、环境配置
1、主Keepalived服务器IP地址 192.168.111.2232、备Keepalived服务器IP地址 192.168.111.1003、Keepalived虚拟IP地址 192.168.111.150
三、软件下载地址
http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
四、安装流程
1、上传Keepalived至/home/目录2、解压Keepalived软件[root@localhost home]# tar -zxvf keepalived-1.1.20.tar.gz [root@localhost home]# cd keepalived-1.1.20[root@localhost keepalived-1.1.20]# ln -s /usr/src/kernels/2.6.9-78.EL-i686/usr/src//linux[root@localhost keepalived-1.1.20]# ./configure 3、提示
4、编译以及编译安装[root@localhost keepalived-1.1.20]# make && make install
5、将types.h调用的部分注释掉即可解决4出现的问题vi/usr/src/kernels/2.6.9-78.EL-i686/include/linux/types.h 到158行操作如下#endif 6、重新编译以及编译安装[root@localhost keepalived-1.1.20]# make && make install
7、修改配置文件路径[root@localhostkeepalived-1.1.20]#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@localhostkeepalived-1.1.20]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost keepalived-1.1.20]# mkdir /etc/keepalived
[root@localhostkeepalived-1.1.20]#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost keepalived-1.1.20]# cp /usr/local/sbin/keepalived /usr/sbin/
8、设置为服务,开机启动[root@localhost keepalived-1.1.20]# vi /etc/rc.local
五、主Keepalived配置
1、修改配置文件[root@localhost keepalived-1.1.20]# vi /etc/keepalived/keepalived.conf
六、备Keepalived配置
1、修改配置文件
七、启动服务
八、查看网卡信息1、主Keepalived网卡信息
九、验证测试
1、在主服务器上新建一个网页,内容为 192.168.111.2232、在备用服务器上新建一个网页,内容为 192.168.111.1003、启动主备服务器的nginx服务和Keepalived服务4、通过浏览数,输入虚拟IP地址 192.168.111.150页面显示为 192.168.111.2235、关闭主服务器的Keepalived服务,通过浏览器输入IP地址192.168.111.150页面显示为 192.168.111.1006、再次启动主服务器的Keepalived服务,通过浏览器输入IP地址192.168.111.150页面显示为 192.168.111.223
-------------------------------------------------------------------
这样会有一个问题,只有当主服务器关机或者硬件故障或者才会使web故障迁移。所以必须加一个监控脚本,实现故障恢复。如下:
三、分别在主和辅服务器上建立nginx的监控脚本
Keepalived管理虚IP是通过组播和优先级实现的,优先级高的会拥有虚IP的管理权,所以要实现IP自动切换,只需要建立一个监控脚本,让keepalived进行调用,一
旦发现nginx出现故障就kill掉keepalived的进程,让其他keepalived管理此IP
vi /root/shell/nginx_check.sh
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
注意给脚本添加执行权限:chmod+x /root/shell/nginx_check.sh
然后让该脚本一直在后台运行:#nohup /etc/nginx_check.sh或者将它添加成服务,让它开机自启动.两台机器启动keepalived:service keepalived start
五、总结
此方案没有做负载均衡,只是做了一个故障自动切换的处理,适用于PV不是很高的环境(当然Nginx做好调优其负载能力也是很强的).
一、环境说明
1、操作系统内核版本:2.6.9-78.ELsmp 2、Keepalived软件版本:keepalived-1.1.20.tar.gz
二、环境配置
1、主Keepalived服务器IP地址 192.168.111.2232、备Keepalived服务器IP地址 192.168.111.1003、Keepalived虚拟IP地址 192.168.111.150
三、软件下载地址
http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
四、安装流程
1、上传Keepalived至/home/目录2、解压Keepalived软件[root@localhost home]# tar -zxvf keepalived-1.1.20.tar.gz [root@localhost home]# cd keepalived-1.1.20[root@localhost keepalived-1.1.20]# ln -s /usr/src/kernels/2.6.9-78.EL-i686/usr/src//linux[root@localhost keepalived-1.1.20]# ./configure 3、提示
4、编译以及编译安装[root@localhost keepalived-1.1.20]# make && make install
5、将types.h调用的部分注释掉即可解决4出现的问题vi/usr/src/kernels/2.6.9-78.EL-i686/include/linux/types.h 到158行操作如下#endif 6、重新编译以及编译安装[root@localhost keepalived-1.1.20]# make && make install
7、修改配置文件路径[root@localhostkeepalived-1.1.20]#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@localhostkeepalived-1.1.20]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost keepalived-1.1.20]# mkdir /etc/keepalived
[root@localhostkeepalived-1.1.20]#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost keepalived-1.1.20]# cp /usr/local/sbin/keepalived /usr/sbin/
8、设置为服务,开机启动[root@localhost keepalived-1.1.20]# vi /etc/rc.local
五、主Keepalived配置
1、修改配置文件[root@localhost keepalived-1.1.20]# vi /etc/keepalived/keepalived.conf
六、备Keepalived配置
1、修改配置文件
七、启动服务
八、查看网卡信息1、主Keepalived网卡信息
九、验证测试
1、在主服务器上新建一个网页,内容为 192.168.111.2232、在备用服务器上新建一个网页,内容为 192.168.111.1003、启动主备服务器的nginx服务和Keepalived服务4、通过浏览数,输入虚拟IP地址 192.168.111.150页面显示为 192.168.111.2235、关闭主服务器的Keepalived服务,通过浏览器输入IP地址192.168.111.150页面显示为 192.168.111.1006、再次启动主服务器的Keepalived服务,通过浏览器输入IP地址192.168.111.150页面显示为 192.168.111.223
-------------------------------------------------------------------
这样会有一个问题,只有当主服务器关机或者硬件故障或者才会使web故障迁移。所以必须加一个监控脚本,实现故障恢复。如下:
三、分别在主和辅服务器上建立nginx的监控脚本
Keepalived管理虚IP是通过组播和优先级实现的,优先级高的会拥有虚IP的管理权,所以要实现IP自动切换,只需要建立一个监控脚本,让keepalived进行调用,一
旦发现nginx出现故障就kill掉keepalived的进程,让其他keepalived管理此IP
vi /root/shell/nginx_check.sh
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
注意给脚本添加执行权限:chmod+x /root/shell/nginx_check.sh
然后让该脚本一直在后台运行:#nohup /etc/nginx_check.sh或者将它添加成服务,让它开机自启动.两台机器启动keepalived:service keepalived start
五、总结
此方案没有做负载均衡,只是做了一个故障自动切换的处理,适用于PV不是很高的环境(当然Nginx做好调优其负载能力也是很强的).
相关文章推荐
- 一些比较有意思的编程网站(1)
- hdu 1238 KMP+枚举
- java hibernate 将图片存入数据库,并从数据库取出显示在网页上
- 深度解析XML的结构与类映射
- Sencha Touch 实战开发培训 视频教程 第二期 第七节
- 编码社区推荐
- Linux删除旧内核的安全做法
- JAVA设计模式---模版模式
- 8周项目1.2
- android 读取本地的json文件
- 关于配置tnsnames来使用PLSQL连接数据库
- rand()和srand()
- RotateAnimation类:旋转变化动画类
- hdu2222 ac自动机。。。。
- MySql ibdata1文件太大如何缩小
- 包(package)
- 软考编译原理:正规式
- 向左旋转k个字符vs字符串中单词的逆转
- HQL multiple condition
- 软引用下载图片