IPVS-DR+keepalived高可用负载均衡集群方案前端的负载调度器采用双机热备方式,Keepalived主要用来监测RealServer的健康状态以及主负载均衡器和备份负载均衡器之间的故障转移,一旦主负载调度器恢复正常工作,主负载调度器重新恢复对集群的资源管理。
系统平台:Redhat 5.4
网络拓扑如下:
服务器IP规划如下:
所需软件包:
1.ipvsadm-1.24-10.i386.rpm (RHEL 5光盘自带)
2.keepalived-1.2.2.tar.gz(目前最新版)
下载地址:http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
一.主负载均衡器(MASTER)的配置
1.修改/etc/hosts文件,增加以下两行内容:
[root@localhost~]# vi /etc/hosts
200.10.1.1 MASTER
200.10.1.2 BACKUP

2.修改主机名,编辑/etc/sysconfig/network文件:

HOSTNAME=MASTER
以上两步非必要步骤。
3.配置本机IP。(略)
4.设置VIP脚本:
[root@lvs-master~] # vi vip.sh
#!/bin/bash 
VIP=200.10.1.10 
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up 
/sbin/route add -host $VIP dev eth0:0

5.给vip脚本设置可执行权限:

[root@MASTER~] # chmod a+x vip.sh

运行vip脚本并设置为开机启动:

[root@MASTER~]# ./vip.sh
[root@MASTER~]# echo “/root/vip.sh”>> /etc/rc.local

6.安装与配置并启动ipvsadm:

[root@MASTER~] #rpm –ivh ipvsadm-1.24-10.i386.rpm
[root@MASTER~] # ipvsadm –A –t 200.10.1.10:80 –s rr –p 600
[root@MASTER~]# ipvsadm –a –t 200.10.1.10:80 –r 200.10.1.3:80 –g -w 1
[root@MASTER~]# ipvsadm –a –t 200.10.1.10:80 –r 200.10.1.4:80 –g -w 1
[root@MASTER~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@MASTER~]# service ipvsadm start

7.安装与配置keepalived:

[root@MASTER~]# tar zxf keepalived-1.2.2.tar.gz
[root@MASTER~]# cd keepalived-1.2.2
[root@MASTER~]# ./configure && make && make install
[root@MASTER~]# find / -name keepalived //查看keepalived安装后产生的相前目录和文件的位置
[root@MASTER~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@MASTER~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@MASTER~]# mkdir /etc/keepalived
[root@MASTER~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[root@MASTER~]# cp /usr/local/sbin/keepalived /usr/sbin/

7.1.修改keepalived.conf配置文件

[root@MASTER~]# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs { 
notification_email { 
acassen@firewall.loc 
failover@firewall.loc 
sysadmin@firewall.loc 

notification_email_from Alexandre.Cassen@firewall.loc 
smtp_server 192.168.200.1 
smtp_connect_timeout 30 
router_id LVS_DEVEL 

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 { 
200.10.1.10 

}
virtual_server 200.10.1.10 80 { 
delay_loop 6 
lb_algo rr 
lb_kind DR 
# nat_mask 255.255.255.0 
persistence_timeout 50 
protocol TCP
real_server 200.10.1.3 80 { 
weight 3 
SSL_GET { 
url { 
path / 
digest ff20ad2481f97b1754ef3e12ecd3a9cc 

url { 
path /mrtg/ 
digest 9b3a0c85a887a256d6939da88aabd8cd 

connect_timeout 3 
nb_get_retry 3 
delay_before_retry 3 

}
real_server 200.10.1.4 80 { 
weight 3 
SSL_GET { 
url { 
path / 
digest ff20ad2481f97b1754ef3e12ecd3a9cc 

url { 
path /mrtg/ 
digest 9b3a0c85a887a256d6939da88aabd8cd 

connect_timeout 3 
nb_get_retry 3 
delay_before_retry 3 


7.2.启动keepalived服务

[root@MASTER~]# service keepalived start
二.备份负载均衡器(BACKUP)的配置
1.IP配置(略)
2.主机名和VIP脚本设定(同MASTER一致)
3.需要安装的软件同MASTER一致,ipvsadm配置一致。
4.keepalived.conf需要修改的地方:
state MASTER #备份服务器上将MASTER改为BACKUP
priority 100 # 备份服务上将100改为99
三.Realserver1(Web)的配置(已经安装好apache)
1.添加以下脚本:
[root@localhost~] # vi lvs.sh
#!/bin/bash 
VIP="200.10.1.10" 
/sbin/ifconfig eth0 200.10.1.3/24 
/sbin/ifconfig lo:0 $VIP braodcast $VIP netmask 255.255.255.255 up 
/sbin/route add -host $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

2.给脚本增加可执行权限,然后启动并设置为开机启动:

[root@localhost~] # chmod a+x lvs.sh
[root@localhost~] # ./lvs.sh
[root@localhost~] # echo “/root/lvs.sh”>> /etc/rc.local

3.创建测试页面并启动web服务:

[root@localhost~] # echo “This is Realserver1”> /var/www/html/index.html
[root@localhost~] # service httpd start

四.Realserver2(Web)上的配置(已经安装好apache)

1.添加以下脚本:
[root@localhost~] # vi lvs.sh
#!/bin/bash 
VIP="200.10.1.10" 
/sbin/ifconfig eth0 200.10.1.4/24 
/sbin/ifconfig lo:0 $VIP braodcast $VIP netmask 255.255.255.255 up 
/sbin/route add -host $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

2.给脚本增加可执行权限,然后启动并设置为开机启动:

[root@localhost~] # chmod a+x lvs.sh
[root@localhost~] # ./lvs.sh
[root@localhost~] # echo “/root/lvs.sh”>> /etc/rc.local

3.创建测试页面并启动web服务:

[root@localhost~] # echo “This is Realserver2”> /var/www/html/index.html
[root@localhost~] # service httpd start

五.测试及验证
1.分别在两台PC上打开浏览器,输入“http://200.10.1.10”,如果看到的是不同的页面,说明LVS配置成功!


2.可以使用命令ipvsadm –L查看lvs服务器是否正常。
3.tail –f /var/log/message 监听日志,查看状态。
4.停卡MASTER上面的ipvsadm和keepalived服务,看BACKUP是否正常接管MASTER的工作,然后再恢复MASTER的服务,看MASTER是否恢复工作。
参考文章:NetSeek http://www.linuxtone.org
利用LVS+Keepalived 实现高性能高可用负载均衡

本文转自 kk5234 51CTO博客,原文链接:http://blog.51cto.com/kk5234/638928,如需转载请自行联系原作者

IPVS-DR+keepalived实现高可用负载均衡集群相关推荐

  1. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

  2. LVS(DR)+keepalived实现高可用负载均衡

    一.lvs+keepalived 1.lvs LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将 ...

  3. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  4. Keepalived+Nginx实现高可用负载均衡集群

    转载自 https://www.cnblogs.com/mrlapulga/p/6857294.html 一 环境介绍 1.操作系统 CentOS Linux release 7.2.1511 (Co ...

  5. RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群

    目录 一.构建RabbitMQ集群 1. 启动多个RabbitMQ节点 2. 加入集群 3. 配置镜像队列 二.HAProxy负载均衡 1. 安装HAProxy 2. 配置HAProxy 3. 启动 ...

  6. 汇总-13台虚拟机搭建一个高可用负载均衡集群架构

    要求 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,具体需求如下. 设计你认为合理的架构,用visio把架构图画出来 搭建lnmp.tomcat+jdk环境 三个站点分别为:dis ...

  7. RHCS套件实现高可用负载均衡集群(三)——共享存储

    注:此博文在博文"RHCS套件实现高可用负载均衡集群(二)"的基础上完成 实验开始前设置实验环境 target端配置--server3 [root@server3 ~]# yum ...

  8. RHCS套件实现高可用负载均衡集群(二)——Fence设备

    注:此博文在博文"套件实现高可用负载均衡集群(一)"的基础上完成 环境: 物理机:172.25.54.250,作为fence server1:172.25.54.1 , serve ...

  9. LVS+keepalived高可用负载均衡集群部署(一) ----数据库的读写分离

    l  系统环境: RHEL7 l  硬件环境:虚拟机 l  项目描述:为解决网站访问压力大的问题,需要搭建高可用.负载均衡的 web集群. l  架构说明:整个服务架构采用功能分离的方式部署.后端采用 ...

最新文章

  1. Logstash配置总结和实例
  2. Qt中 QString 和int,double等的转换
  3. [Linux]centOS7-1-1503-x86_64下安装VM-TOOLS
  4. sessionbean entitybean 区别
  5. pythonkeras数据增强_Keras数据增强参数
  6. JavaScript的事件执行机制及异步
  7. c语言机器人编程软件,诺宝rc编程软件下载
  8. (Hide my Windows)隐藏指定的应用窗口及托盘图标
  9. 线程的属性和 线程特定数据 Thread-specific Data
  10. 马上上线!谷歌与苹果联手抗疫,打造基于蓝牙设备的接触史回溯 | 凌云时刻...
  11. 【Lv1-Lesson004】Imperative Sentences
  12. Android 自定义apk名称
  13. 中划线与下划线的区别
  14. [论文笔记] Detection of Glottal Closure Instants from Speech Signals: CNN Method
  15. 安信可ESP32-CAM摄像头开发demo--局域网拍照、实时视频、人脸识别
  16. 设计模式精讲(重点难点理解说明)---什么是设计模式?
  17. 黑马程序员————GUI(day22)
  18. chrome浏览器如何避免network报错:ERR_CERT_AUTHORITY_INVALID并添加为例外或继续前往
  19. WhatsApp营销之群组(二):搜群
  20. 全球疫情来袭,瑞士科学家在实验室重造冠状病毒?

热门文章

  1. The file “Info.plist” couldn’t be opened because there is no such file
  2. Linux监控工具介绍系列——free`
  3. @property疑难杂症
  4. SQLSTATE[HY000] [2003] Can’t connect to MySQL serv
  5. Linux查看文件夹大小的命令
  6. Squid access.log 转发到其他syslog服务器(OSSIM)
  7. Sql Injection脚本注入终极利用方法
  8. Python数据类型之列表操作方法
  9. 【刷算法】判断链表是否有环以及返回入环节点
  10. c#dev tabcontrol 与嵌套gridcontrol 总结