文档章节

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

五大三粗
 五大三粗
发布于 2015/03/11 20:39
字数 861
阅读 22
收藏 0

一、简介

VS/NAT原理图:

二、系统环境

实验拓扑:

系统平台:CentOS 6.3

Kernel:2.6.32-279.el6.i686

LVS版本:ipvsadm-1.26

keepalived版本:keepalived-1.2.4

三、安装

0、安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*

1、在两台Director Server上分别配置LVS+Keepalived

LVS install -------------

[root@CentOS-LVS_MASTER ~]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

[root@CentOS-LVS_MASTER ~]# ln -s /usr/src/kernels/2.6.32-279.el6.i686//usr/src/linux/

[root@CentOS-LVS_MASTER ~]# tar zxvf ipvsadm-1.26.tar.gz

[root@CentOS-LVS_MASTER ~]# cd ipvsadm-1.26

[root@CentOS-LVS_MASTER ipvsadm-1.26]# make && make install

Keepalived install -------------

[root@CentOS-LVS_MASTER ~]# wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz

[root@CentOS-LVS_MASTER ~]# tar zxvf keepalived-1.2.4.tar.gz

[root@CentOS-LVS_MASTER ~]# cd keepalived-1.2.4

[root@CentOS-LVS_MASTER keepalived-1.2.4]# ./configure && make && make install

######### 将keepalived做成启动服务,方便管理##########

[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/

[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

[root@CentOS-LVS_MASTER ~]# mkdir /etc/keepalived/

[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

[root@CentOS-LVS_MASTER ~]# cp /usr/local/sbin/keepalived /usr/sbin/

[root@CentOS-LVS_MASTER ~]# service keepalived start | stop

2、开启路由转发

[root@CentOS-LVS_MASTER ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@CentOS-LVS_MASTER ~]# sysctl -p

3、配置Keepalived

[root@CentOS-LVS_MASTER ~]# less /etc/keepalived/keepalived.conf

复制代码
! Configuration File for keepalived

global_defs {
   router_id LVS_MASTER #BACKUP上修改为LVS_BACKUP }

vrrp_instance VI_1 {
    state MASTER #BACKUP上修改为BACKUP interface eth0
    virtual_router_id 51
    priority 100 #BACKUP上修改为80 advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.227
    }
}

vrrp_instance LAN_GATEWAY {
    state MASTER #BACKUP上修改为LVS_BACKUP interface eth1
    virtual_router_id 52
    priority 100 #BACKUP上修改为80 advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.10
    }
}

virtual_server 10.0.0.227 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
#   persistence_timeout 5
    protocol TCP

    real_server 192.168.10.4 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    
    real_server 192.168.10.5 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}
复制代码

BACKUP服务器同上配置,先安装lvs再安装keepalived,然后配置/etc/keepalived/keepalived.conf,只需将批注部分改一下即可。

4、分别在2台Real Server上面设置网关

把网关都设置成:192.168.10.10

5、在2台RealServer中分别配置HTTP

[root@WEB1 ~]# yum -y install httpd
[root@WEB1 ~]# cd /var/www/html/
[root@WEB1 html]# cat index.html 
<h1>WEB1/192.168.10.4</h1>
[root@WEB1 html]# /etc/init.d/httpd start
另一台机器配置一样,过程略。

6、分别在CentOS-LVS_MASTERCentOS-LVS_BACKUP上执行service keepalived start启动keepalived就可实现负载均衡及高可用集群了;

[root@CentOS-LVS_MASTER keepalived]# service keepalived start

四、测试

####高可用性测试####

模拟故障,将CentOS-LVS_MASTER上的keepalived服务停掉,然后观察CentOS-LVS_BACKUP上的日志,信息如下

lvs

从日志中可知,主机出现故障后,备机立刻检测到,此时备机变为MASTER角色,并且接管了主机的虚拟IP资源,最后将虚拟IP绑定在etho设备上。

CentOS-LVS_MASTER 上的keepalived服务开启后,CentOS-LVS_BACKUP的日志状态。

从日志可知,备机在检测到主机重新恢复正常后,释放了虚拟IP资源重新成为BACKUP角色

####故障切换测试####

故障切换是测试当某个节点出现故障后,Keepalived监制模块是否能及时发现然后屏蔽故障节点,同时将服务器转移到正常节点来执行。

将WEB2节点服务停掉,假设这个节点出现故障,然后主、备机日志信息如下

从以上可以看出,Keepalived监控模块检测到192.168.10.5这台主机出现故障后,将WEB2从集群系统中剔除掉了。 此时访问http://10.0.0.227只能看到WEB1了)

重新启动WEB2节点的服务,日志信息如下:

Keepalived监控模块检测到192.168.10.5这台主机恢复正常后,又将此节点加入集群系统中,再次访问就可以访问到WEB2页面了)

 

 

本文转载自:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html

五大三粗
粉丝 163
博文 2291
码字总数 4764188
作品 0
广州
程序员
私信 提问
服务器状态监测 Keepalived

keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Kee...

凯文加内特
2015/03/27
104
0
lvs-nat模型的实现 和 lvs-dr模型的实现

1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin; 2.使用DR模型的FWM类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin; 注意:以上...

刘景宇
2018/06/08
0
0
CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

一、简介 VS/NAT原理图: 二、系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三、安装 0、安装LVS前系统...

长平狐
2012/09/06
623
0
Centos 6.8 配置Lvs

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 宗旨:   使用集群技...

chinawxl
2017/12/22
0
0
CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

一、简介 VS/NAT原理图: 二、系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三、安装 0、安装LVS前系统...

长平狐
2012/08/27
287
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部