Keepalived现实Web双机热备(高可用)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keepalived现实Web双机热备(高可用)相关的知识,希望对你有一定的参考价值。

Keepalived现实Web双机热备(高可用)

        通过在两台主、备调度器上实现Keepalived高可用解决调度器单点失败问题

        主、备调度器上配置LVS,正常情况下主调度器工作

        主调度器异常时,Keepalived启用备用调度器,保证了调度器的高可用

        调度器保证了后台服务的高可用

        Keepalived机制把同一个IP一直分配在同一个Web服务器

 

如下实现web服务器的高可用:

web1 :  192.168.10.20     

web2:   192.168.10.22     

虚拟IP:  192.168.10.100

client :  192.168.10.40

 

一、在两台web服务器上安装keepalived

# yum  install -y  gcc  gcc-c++ kernel-devel  openssl-devel  popt-devel

# tar  xvzf keepalived-1.2.7.tar.gz  -C  /usr/src/

# cd  /usr/src/keepalived-1.2.7/

# uname -r

2.6.32-358.el6.x86_64

#./configure  --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-358.el6.x86_64/  && make  && make install

注:

--sysconf  // keepalived的主配置文件存放位置/etc/keepalived/keepalived.conf

--with-kernel-dir    //指定本服务器正在使用的内核文件的存放位置

#ln  -s /usr/local/sbin/keepalived  /sbin/

# chkconfig  keepalived on


二、Keepalived配置说明

web1服务器:

vim/etc/keepalived/keepalived.conf

设置报警邮件

global_defs {

  notification_email {

     root@localhost     //发件人邮箱

  }

  notification_email_from  root@192.168.10.40    //收件人邮箱 ,此处设置成发给自己

  smtp_server192.168.10.40    //给谁发邮件

  smtp_connect_timeout 30

  router_id LVS_devel

}

 

VRRP实例设置

vrrp_instanceVI_1 {

  state MASTER    //主服务器就写MASTER,辅助备份就写SLAVE

  interface eth0

  virtual_router_id 51

  priority 100    //主服务器优先级要比备份的高例子:主是100  那么备用就是60

  advert_int 1     //主备服务器多长时间互相检测  这里是1

  authentication {

    auth_type pass

    auth_pass redhat   //主辅服务器密码必须一致

  }

  virtual_ipaddress {  192.168.10.100  }    //指定调度器上的VIP虚拟IP

}

 

注:只要以上内容,其它的都删除。

 

web2服务器:备

vim/etc/keepalived/keepalived.conf

设置报警邮件

global_defs {

  notification_email {

     root@localhost     //发件人邮箱

  }

  notification_email_from  root@192.168.10.40    //收件人邮箱 ,此处设置成发给自己

  smtp_server192.168.10.40    //给谁发邮件

  smtp_connect_timeout 30

  router_id LVS_devel

}

 

VRRP实例设置

vrrp_instanceVI_1 {

  stateSLAVE    //主服务器就写MASTER,辅助备份就写SLAVE

  interface eth0

  virtual_router_id 51

  priority 80    //主服务器优先级要比备份的高例子:主是100  那么备用就是60

  advert_int 1     //主备服务器多长时间互相检测  这里是1

  authentication {

    auth_type pass

    auth_pass redhat   //主辅服务器密码必须一致

  }

  virtual_ipaddress {  192.168.10.100  }    //指定调度器上的VIP虚拟IP

}

 

三、在两台web服务器上启动keepalived服务

# service keepalived start

四、在两台web服务器上分别查看ip

# ip addr show eth0

web1上能看到虚拟IP 192.168.10.100

web2上不能看到虚拟IP

 

五、客户端访问

http://192.168.10.100     此时能访问到web1上的内容

 

六、测试其高可用性

web1 关闭;再看到web1web2上的IP

web2上能看到虚拟IP 192.168.10.100

web1上不能看到虚拟IP

客户端刷新页面:此时能访问到web2上的内容。

 

说明备份服务器web2起作用了。

 

可用:# tail  -f  /var/log/messages   实时查看

本文出自 “Dave-技术博客” 博客,请务必保留此出处http://davewang.blog.51cto.com/6974997/1853479

以上是关于Keepalived现实Web双机热备(高可用)的主要内容,如果未能解决你的问题,请参考以下文章

部署nginx+keepalived实现双机双主高可用性环境

Nginx双机热备

HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级

搭建Nginx高可用集群(keepalived+双机热备)

Haproxy+Keepalived(双机热备)搭建高可用web架构

Nginx+keepalived双机热备