设为首页 收藏本站
查看: 1007|回复: 0

[经验分享] Centos5.5下lvs+keepalived集群

[复制链接]

尚未签到

发表于 2018-12-29 06:45:51 | 显示全部楼层 |阅读模式
Centos5.5lvs+keepalived集群
环境:4centos5.5(32bit)
目标:实现负载均衡集群,保证业务的高可靠性
撰写人:hx10
日期:2010/6/2  hangzhou
blog:http://hi.baidu.com/hx10

第一步、环境准备
lvs-master:10.80.11.245
lvs-backup:10.80.11.246
vip:10.80.11.240
web1:10.80.11.243
web2:10.80.11.244
netmask:255.255.255.0
gateway:10.80.11.1

接下来关掉一些不必要的系统服务
chkconfig bluetooth off
chkconfig firstboot off
chkconfig cups off
chkconfig ip6tables off
chkconfig iptables off
chkconfig isdn off
chkconfig kudzu off
chkconfig sendmail off
chkconfig smartd off
chkconfig autofs off
service bluetooth stop
service firstboot stop
service cups stop
service ip6tables stop
service iptables stop
service isdn stop
service kudzu stop
service sendmail stop
service smartd stop
service autofs stop
服务器时间校对
# crontab -e
加入一行:
0 3 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
第二步、安装软件
#cd /usr/local/src
#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
#ln -s /usr/src/kernels/2.6.18-194.el5-i686/ /usr/src/linux
#tar -zxvf ipvsadm-1.24.tar.gz
#cd ipvsadm-1.24
#make && make install
#cd ..
#tar -zxvf keepalived-1.1.15.tar.gz
# cd keepalived-1.1.15
#./configure
configure: error:
  !!! OpenSSL is not properly installed on your system. !!!
  !!! Can not include OpenSSL headers files.
解决办法:
# yum -y install openssl-devel
# ./configure && make && make install
编译的时候出现这个提示,说明keepalived和内核结合了,如果不是这样的,需要加上这个参数./configure --with-kernel-dir=/kernel/path
Keepalived configuration
------------------------
Keepalived version       : 1.1.15
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
Use VRRP Framework       : Yes
Use LinkWatch            : No
Use Debug flags          : No

下面设置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
#vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
    notification_email {
          yhl5555@126.com
    }
    notification_email_from yhl5555@126.com
    smtp_server 127.0.0.1
   # smtp_connect_timeout 30
    router_id LVS_DEVEL
}

# VIP1
vrrp_instance VI_1 {
     state MASTER
     interface eth0
     virtual_router_id 51
     priority 100
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
         10.80.11.240   
     }
}

virtual_server 10.80.11.240 80 {
     delay_loop 6
     lb_algo wrr
     lb_kind DR
     #persistence_timeout 5
     protocol TCP

     real_server 10.80.11.243 80 {
         weight 3              
         TCP_CHECK {
         connect_timeout 10      
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
     }
     real_server 10.80.11.244 80 {
         weight 3
         TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
         }
      }
}

lvs-master的优先级设置为100,状态为MASTER,lvs-backup上优先级为99,状态为BACKUP,这是2LVS的唯一区别
persistence_timeout 5这是在5S内连接到同一台web服务器,注释掉就轮训
至此,lvs-master配置已经完成,lvs-backup对照lvs-backup安装相应软件,注意keepalive.conf有细微区别
第四步、web服务器的配置
2web服务器上添加一下脚本
#vim /etc/init.d/realserver.sh
#!/bin/bash
SNS_VIP=10.80.11.240
. /etc/rc.d/init.d/functions
case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_VIP dev lo:0
       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       sysctl -p >/dev/null 2>&1
       echo "RealServer Start OK"
       ;;
stop)
       ifconfig lo:0 down
       route del $SNS_VIP >/dev/null 2>&1
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
       echo "RealServer Stoped"
       ;;
*)
       echo "Usage: $0 {start|stop}"
       exit 1
esac
exit 0
红色部分为VIP地址
#chmod 755 /etc/init.d/realserver.sh
#sh /etc/init.d/realserver.sh start
同时加入自启动
#vim /etc/rc.local
/etc/init.d/realserver.sh start
两台web服务器都需要这样设置
第五步、测试
分别启动2lvs的服务
#service keepalived start
然后在客户机上输入http://10.80.11.240进行访问
停掉lvs-master,然后测试
停掉web1,然后测试
如果需要把lvs加入开机自启动,执行以下命令
#chkconfig --add keepalived
#chkconfig keepalived on
至此,LVS+KEEPALIVED高可靠性配置已经完成。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656974-1-1.html 上篇帖子: RHEL6.5 + Keepalived 实现双机热备 下篇帖子: LVS+Keepalived实现负载均衡及双机热备
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表