使用Keepalived 实现高性能高可用实际操作说明

前言:本文档用keepalived实现高可用性,对于负载均衡采用nginx处理.

系统环境:CentOS 5.2 ,需要安装有gcc openssl-devel kernel-devel 

 

. 安装LVSKeepalvied软件包

   1. 下载相关软件包

     #mkdir /usr/local/src/lvs

     #cd /usr/local/src/lvs

     #wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

     #wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

         #安装 kernel-devel .

       #yum  install kernel-devel.x86_64

 (查看uname –r  的输出. 或使用 yum search kernel-devel  确定内核开发工具版本.)

 

         

   2. 安装LVSKeepalived

     #lsmod |grep ip_vs

#uname -r

2.6.18-128.el5

#ln -s /usr/src/kernels/2.6.18-128.el5-x86_64/ /usr/src/linux

 

#tar zxvf ipvsadm-1.24.tar.gz

#cd ipvsadm-1.24

#make && make install

 

#tar zxvf keepalived-1.1.15.tar.gz

#cd keepalived-1.1.15

#./configure  && make && make install

   

       keepalived做成系统启动服务方便管理

 

#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

#mkdir /etc/keepalived

#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

#cp /usr/local/sbin/keepalived /usr/sbin/

#service keepalived start|stop      #启动或关闭keepalived ,

#chkconfig keepalived –add 

#chkconfig  keepalived on   #加入系统自动启动.

 

配置:

 

# mkdir /etc/keepalived

#cd  /etc/keepalived 

#touch  keepalived.conf

 

###首先清除 /etc/hosts 里面的MASTER,BACKUP 之类IP解析设定.

####将以下内容复制到 /etc/keepalived/keepalived.conf .

 

 

 

对于MASTER 机器

 

global_defs {

   notification_email {

     admin@webgame.com.cn

   }

   notification_email_from  bj_m05@aaa.com   ##以下3行可以任意写.

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id  LVS_DEVEL_M05      ##同组MASTER BACKUP 机器必须保证此项完全一致.

}

 

 

vrrp_script chk_nginx  { 

       script "killall -0 nginx"          ##探测本机的nginx进程是否存活,若存活,则权值+2 .

       interval  2              ##2秒检测一次.可改成1 .

       weight  2               ##权值.

}

 

vrrp_instance VI_1 {                 ##同组MASTER BACKUP 机器必须保证此项完全一致.

    state MASTER                 ##初始化后的身份, 然后以权值进行同组竞争.

    interface eth0

    virtual_router_id 251

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

         115.182.50.198   ###VIP ,对外的虚拟IP .

    }

 

 

track_script {         

       chk_nginx  

    }

 

}

 

 

 

 

对于 BACKUP 机器:::

 

global_defs {

   notification_email {

     admin@webgame.com.cn

   }

   notification_email_from  bj_m05@aaa.com   ##以下3行可以任意写.

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id  LVS_DEVEL_M05      ##同组MASTER BACKUP 机器必须保证此项完全一致.

}

 

 

vrrp_script chk_nginx  { 

       script "killall -0 nginx"     ##探测本机的nginx进程是否存活,若存活,则权值+2 .

       interval  2              ##2秒检测一次.可改成1 .

       weight  2               ##权值.

}

 

vrrp_instance VI_1 {

    state BACKUP

    interface eth0

    virtual_router_id 251

    priority  99

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

         115.182.50.198

    }

 

 

track_script {         

       chk_nginx          #需要额外执行的脚本.

    }

 

}

在以上的配置文件中,我没有使用以下两个选项.

 

lvs_sync_daemon_interface eth1 

  ##心跳检测接口. 一般在使用keepaliveDR功能中需要设置.

 mcast_src_ip   xxx.xxx.xxx.xxx    

###xxx.xxx.xxx.xx 为对方的IP .即广播vrrpip地址.

 

理由:

 1, 我们的环境中不需要使用keepalive作为转发,仅仅只使用了它的HA功能.

2, keepalive默认会使用绑定VIP的接口来广播vrrp ,声明自己的权值.以便竞争

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值