Centos5.5lvs+keepalived集群<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
环境:4台centos5.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,这是2台LVS的唯一区别
persistence_timeout 5这是在5S内连接到同一台web服务器,注释掉就轮训
至此,lvs-master配置已经完成,lvs-backup对照lvs-backup安装相应软件,注意keepalive.conf有细微区别
第四步、web服务器的配置
在2台web服务器上添加一下脚本
#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服务器都需要这样设置
第五步、测试
分别启动2台lvs的服务
#service keepalived start
然后在客户机上输入http://10.80.11.240进行访问
停掉lvs-master,然后测试
停掉web1,然后测试
如果需要把lvs加入开机自启动,执行以下命令
#chkconfig --add keepalived
#chkconfig keepalived on
至此,LVS+KEEPALIVED高可靠性配置已经完成。

转载于:https://blog.51cto.com/hx100/337973

Centos5.5下lvs+keepalived集群相关推荐

  1. lvs+keepalived 集群

    3.2 配置master Director 3.3 backup director配置 转载于:https://blog.51cto.com/1054054/2306767

  2. Keepalived集群快速入门

    Keepalived 第 1 章 集群基础 1.1 高可用指标 1.2 关键技术 第 2 章 Keepalived快速入门 2.1 软件基础 2.1.1 keepalived软件结构[记住] 2.1. ...

  3. 集群与存储 LVS的集群

    集群 什么是集群? 一组通过网络互联的计算组,并以单一系统的模式加以管理 讲很多服务器集中起来一起,提供同一种服务,在客户端看起来就像是只有一个服务器 可以自爱付出较低成本的情况下获得在性能,可靠性, ...

  4. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error...

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  5. 如何在零停机的情况下迁移 Kubernetes 集群

    作者:顾静(子白)|阿里云高级研发工程师:谢瑶瑶(初扬)|阿里云技术专家 导语: 随着云原生理念在企业中的深入和践行,应用容器化的比例大幅提升.是否可以保证应用容器化迁移过程中的平稳切换,保证应用不停 ...

  6. 互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?

    作者|郝树伟(流生) 以 Kubernetes 为代表的云原生技术不仅屏蔽了各个云厂商和数据中心在基础设施上的差异性,还使得应用可以在不同的云上使用标准化的方式描述和部署运行.在此基础之上,我们才可以 ...

  7. 0110-如何给Kerberos环境下的CDH集群添加Gateway节点

    2019独角兽企业重金招聘Python工程师标准>>> Fayson的github: https://github.com/fayson/cdhproject 1.文档编写目的 Ga ...

  8. Phoenix连接安全模式下的HBase集群

    Phoenix连接安全模式下的HBase集群 HBase集群开启安全模式(即启用kerberos认证)之后,用户无论是用HBase shell还是Phoenix去连接HBase都先需要通过kerber ...

  9. aix oracle集群日志,在AIX环境下实施Oracle 集群RAC的结构 文平

    <oracle大型数据库系统在AIX/unix上的实战详解>集中讨论34:在AIX环境下实施Oracle 集群RAC的结构   文平 看来能用的起IBM p服务器的用户,都能用的起RAC. ...

最新文章

  1. 关于 Git 提交这些规范,你都遵守了吗?
  2. IEnumerable和IQueryable在使用时的区别
  3. 细数我们身边的人工智能之最
  4. Python模块EasyGui专题学习
  5. win7服务器端口被占用,高手亲自帮您win7端口被占用的详尽处理要领
  6. oracle连续状态相同,数据库共有三种状态:quiesce、resrict、suspend
  7. 南邮 md5 collision
  8. python调用os.system启动anaconda环境_在Mac中PyCharm配置python Anaconda环境过程图解
  9. SELinux系列(八)——SELinux默认安全上下文的查询和修改(semanage命令)
  10. Scale-Adaptive Neural Dense Features: Learning via Hierarchical Context Aggregation
  11. POJ_3090.Visible Lattice Points
  12. 对做的一个小的C++聊天室的总结
  13. 设计模式(三)之生成器模式(Builder Pattern)
  14. 等保2.0|网络安全保护解决方案
  15. EI会议论文发表流程剖析(史上最详细!经典!)
  16. java work stealing_工作窃取(work-stealing)算法
  17. 什么是UserAgent以及使用浏览器查看UserAgent的方法
  18. nodejs安装及配置
  19. 智能车扫线——斑马线识别
  20. 关于颜色直方图中bins的理解

热门文章

  1. 马斯克放的卫星被曝3%已成太空垃圾,占资源位置,最坏还能“锁死”地球人...
  2. 潘建伟团队最新研究成果登上Nature:首次实现1120公里长距离无中继纠缠量子密钥分发...
  3. Web Service 概念
  4. 不忘初心,努力做最好的自己
  5. 【MongoDB数据库】怎样安装、配置MongoDB
  6. ASP.NET常被忽视的一些细节
  7. 旋转矩阵、欧拉角、四元数比较
  8. OEMAddressTable介绍
  9. 究竟该不该“勃”!!!
  10. python中四种进制的输出_Python基础语法和进制