一、简介
VS/NAT原理图:
二、系统环境
实验拓扑:
系统平台:CentOS 6.4
Kernel:2.6.32-279.el6.i686
LVS版本:ipvsadm-1.26
keepalived版本:keepalived-1.2.4
三、安装及配置LVS和keepalived
1、在两台Director Server上分别配置LVS+Keepalived
LVS install -------------
yum -y install popt-static kernel kernel-develmake gcc openssl-devel lftp libnl* popt*
yum install ipvsadm
ipvsadm
lsmod |grep ip_vs
Keepalived install -------------
yum install keepalived
设置开机自启动keepalived:
chkconfig keepalived on
2、配置重定向(如果不配置,外网将无法访问)
vi /etc/sysctl.conf
net.ipv4.ip_forword = 1
立即生效:sysctl-p
3、配置Keepalived
vi /etc/keepalived/keepalived.conf (脚本见附件)
4、分别在2台Real Server上面设置网关
vi /etc/sysconfig/network
添加:GATEWAY=192.168.2.60
5、在2台RealServer中分别配置HTTP
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# vi index.html
<h1>WEB1/192.168.2.63</h1>
[[email protected] html]# chkconfig httpd on
6、在Director Server上查看,这时两台RealServer已经添加进去了。
四、测试
####高可用性测试####
模拟故障,将MASTER上的keepalived服务停掉,然后观察BACKUP上的日志,信息如下
tail -n 12 /var/log/messages
从日志中可知,主机出现故障后,备机立刻检测到,此时备机变为MASTER角色,并且接管了主机的虚拟IP资源,最后将虚拟IP绑定在etho设备上。
将MASTER 上的keepalived服务重启后,BACKUP的日志状态。
从日志可知,备机在检测到主机恢复正常后,释放了虚拟IP资源重新成为BACKUP角色
####故障切换测试####
故障切换是测试当某个节点出现故障后,Keepalived监制模块是否能及时发现然后屏蔽故障节点,同时将服务器转移到正常节点来执行。
将WEB2节点服务停掉,假设这个节点出现故障,然后主机日志信息如下
从以上可以看出,Keepalived监控模块检测到192.168.2.64主机出现故障后,将这主机从集群系统中剔除掉了。 此时访问http://192.168.1.10只能看到WEB1了)
重新启动WEB2节点的服务,日志信息如下:
Keepalived监控模块检测到192.168.2.64这台主机恢复正常后,又将此节点加入集群系统中,再次访问就可以访问到WEB2页面了)