……致我那曾经苦逼的岁月……
全部博文(83)
分类: 系统运维
2013-03-11 15:14:30
实验环境:两台node系统均是RedHat 4.8,这里我就简单写一下系统自带的httpd服务哈!当然heartbeat也可以实现HA高可用,但是我配置它的时候比较麻烦,特别是一些rpm包找了很久和安装时的依赖关系问题,这里我还是钟爱于keepalived,因为它的简单!
VIP:192.168.2.130
主节点:192.168.5.54
备节点:192.168.5.57
1、主节点上安装keepalived,这里安装过程我就不说了哈!具体安装方法可以参考我别的博客文章。
2、主节点安装完keepalived后,修改配置文件,内容如下:
! Configuration File for keepalived
global_defs {
notification_email {
}
notification_email_from
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id Tmac
}
vrrp_script check_httpd {
script "/root/httpd.sh"
interval 5
}
vrrp_instance VI_1 {
state MASTER
nopreempt
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_httpd
}
virtual_ipaddress {
192.168.2.130
}
}
配置文件里调用了一个脚本哈!脚本内容如下:
#!/bin/bash
if [[ $(ip addr | grep 192.168.2.130 | wc -l) -ne 0 ]];then
/etc/init.d/httpd start
else
pkill -9 httpd
fi
2、给脚本增加执可行权限
chmod +x /root/httpd.sh
3、备节点其实配置文件盒主节点一样,就改动两个地方,如下:
! Configuration File for keepalived
global_defs {
notification_email {
}
notification_email_from
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id Tmac
}
vrrp_script check_httpd {
script "/root/httpd.sh"
interval 5
}
vrrp_instance VI_1 {
state BACKUP
nopreempt
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_httpd
}
virtual_ipaddress {
192.168.2.130
}
}
脚本httpd.sh 和上面一样。并且增加可执行权限。
4、分别在两台服务器上/var/www/html建立不同的测试页。
5、启动主机keepalived服务
/etc/init.d/keepalived start
6、测试是否有VIP?测试是否能访问?
7、启动备机keepalived服务
8、停止主机的keepalived服务,确认备机是否能接管VIP,并能提供不间断的服务?
补充:我这里就暂且不做测试了,有问题请联系我,另外友情提示一下,我也是被一个牛人问的问题,虽然会熟练配置lvs+keepalived这些集群,但是keepalived主机宕机,备机接替服务是采用什么协议的呢?经后来查资料是采用vrrp协议。