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

Keepalived双机热备

[[email protected] keepalived]# service keepalived start    //启动服务

[[email protected] html]# ip addr show dev eth0

Keepalived双机热备

 

 

4.修改备份服务器的配置文件

[[email protected] html]# vim /etc/keepalived/keepalived.conf

Keepalived双机热备

 

[[email protected] keepalived]# service keepalived start    //启动服务

5.浏览器测试

Keepalived双机热备

Keepalived双机热备

 

 

此时主服务器工作,当主服务器宕机,备份服务器工作

 

实验二: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双机热备

Keepalived双机热备

 

此时主服务器工作,当主服务器宕机,备份服务器工作

 

实验三: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;

        }

Keepalived双机热备

 

3.两台客户机上安装httpd服务,编写网页

4.浏览器中访问漂移地址

 

Keepalived双机热备

Keepalived双机热备