Keepalived双机热备
实验一:Keepalived
1.实验环境
主服务器:192.168.8.137
备份服务器:192.168.8.138
漂移地址:192.168.8.141
2.两台主备服务器上操作
[[email protected] ~]# yum -y install kernel-devel openssl-devel popt-devel ipvsadm*
[[email protected] ~]# yum -y install gcc gcc-c++
[[email protected] /]# tar zxf keepalived-1.2.16.tar.gz
[[email protected] /]# cd keepalived-1.2.16
[[email protected] /]#uname -a
[[email protected] keepalived-1.2.16]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/
[[email protected] keepalived-2.0.6]# make && make install
[[email protected] keepalived-1.2.16]# ls -l /etc/init.d/keepalived
[[email protected] keepalived-1.2.16]# chkconfig --add keepalived
[[email protected] keepalived-1.2.16]# chkconfig keepalived on
[[email protected] keepalived-1.2.16]# cd /etc/keepalived/
[[email protected] keepalived]# cp keepalived.conf keepalived.conf.bak
安装httpd服务,为了区分编写网页
[[email protected] keepalived]# service httpd start //启动服务
3.修改主服务器的keepalived配置文件
[[email protected] keepalived]# vim /etc/keepalived/keepalived.conf
[[email protected] keepalived]# service keepalived start //启动服务
[[email protected] html]# ip addr show dev eth0
4.修改备份服务器的配置文件
[[email protected] html]# vim /etc/keepalived/keepalived.conf
[[email protected] keepalived]# service keepalived start //启动服务
5.浏览器测试
此时主服务器工作,当主服务器宕机,备份服务器工作
实验二:Keepalived+LVS
1.实验环境
主备服务器:
192.168.8.137,192.168.8.138
客户机:
192.168.8.139,192.168.8.140
漂移地址:192.168.8.141
2.主服务器上
Keepalived配置文件后面添加如下脚本(实验一的基础上)
virtual_server 192.168.8.141 80 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.8.139 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.8.140 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
3.备份服务器上类似配置
4.两台客户机上
[[email protected] ~]# yum -y install httpd //安装http服务
[[email protected] ~]# echo "139" > /var/www/html/index.html //添加测试页
[[email protected] ~]# vim /etc/sysctl.conf //关闭响应ARP请求
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[[email protected] ~]#sysctl –p //生效
[[email protected] ~]# ifconfig lo:0 192.168.8.141 broadcast 192.168.8.141 netmask 255.255.255.255 up //配置群集端口
[[email protected] ~]# route add -host 192.168.8.141 dev lo:0 //添加群集路由
[[email protected] ~]#service httpd start
5.浏览器访问漂移地址
此时主服务器工作,当主服务器宕机,备份服务器工作
实验三:Keepalived+Nginx反代httpd
1.实验环境
主备服务器:
192.168.8.137,192.168.8.138
客户机:
192.168.8.139,192.168.8.140
漂移地址:192.168.8.141
2.主备服务器上
(1)安装keepalived并修改配置文件(如实验一)
(2)安装nginx并修改nginx的配置文件
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf
upstream abc {
server 192.168.8.139:80 weight=1;
server 192.168.8.140:80 weight=1;
}
location / {
root html;
index index.html index.htm;
proxy_pass http://abc;
}
3.两台客户机上安装httpd服务,编写网页
4.浏览器中访问漂移地址