`
yiheng
  • 浏览: 156676 次
社区版块
存档分类

主流平台是WINDOWS+IIS结合LVS+KEEPALIVED是LINUX实现负载均衡软件

 
阅读更多
这样我们的产品配置就完成了,下面介绍一下相应的服务器环境搭建。

首先是IIS配置站点(要求在一个物理网段上)

RealServer1:10.0.8.13:80
RealServer2:10.0.8.12:80

VIP(虚拟IP):10.0.8.9

两台虚拟机安装Centos5.4(采用DHCP安装模式),地址:
Centos1:10.0.8.25(keepalived:MASTER)
Centos2:10.0.8.55(keepalived:BACKUP)

首先要说明的是,因为这里使用的是LVS的VS/DR模式(上面提到),也就是要求REALSERVER会直接将结果返回到客户端,即下面图中(右侧)描述:

所以我们还需要在windows 服务器上配置VIP,可以使用下面的方法 :
1.在控制面板里添加一个硬件设备, Microsoft Loopback Adapter ,如下图:

2.设置ip为vip,掩码随意:

3.进注册表编辑器,搜索这个vip,把掩码改成255.255.255.255,然后禁用启用网卡即可(在window server 2003系统中有三处)。

这样在‘网上邻居’上看相应Microsoft Loopback Adapter 的IP MASK就变成了255.255.255.255。然后在IIS的相应站点下配置IP地址,可使用VIP地址或使用‘全部未分配选项’。如下图:


这样配置就完成了,之后用:
c:\>telnet 10.0.8.13 80和c:\>telnet 10.0.8.12 80 看一下配置是否已正常启用。

这样就完成了windows服务器的配置工作。在介绍如何如何安装配置LVS和KEEPALIVED之前,先要说明一下在虚拟机安装CENTOS时要注意的几个问题,如下:

1.因为Keepalived需要gcc工具来编译所以要在安装时定制一下安装组件,如下:

然后安装程序会检验相应组件依赖性

2.之后安装防火墙时选择禁用:

3.selinux也是禁用:

下面开始介绍一下linux下如何安装配置LVS和KEEPALIVED.

1.首先安装lvs的管理工具ipvsadm(直接使用yum安装即可),启用Centos1虚拟机(10.0.8.25),进入终端模式,键入

#yum–yinstallipvsadm


2.然后安装keepalived,因为Keepalived需要gcc工具来编译,所以请安装它(前文已做介绍),在编译时,keepalived倚赖openssl和内核源代码

#yum–yinstallopenssl-develkernel-devel

3.去官方下载最新的keepalived,解压缩,然后编译:

#wgethttp://www.keepalived.org/software/keepalived-1.1.18.tar.gz
#tarzxvfkeepalived-1.1.18.tar.gz
#cdkeepalived-1.1.18
#./configure--with-kernel-dir=/usr/src/kernels/2.6.18-164.15.1.el5-i686
--prefix=/usr/local/keepalived#将其布署在LVS的目录下
#上面的with-kernel-dir是和lvs集成必须的编译参数

注:with-kernel-dir是和lvs集成必须的编译参数,因为keepalived要被放到/usr/local/keepalived下进行编译,另外kernels内核源码会因linux版本不同而有所变化。

显示结果:
------------------------
....
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes (这里必须为yes)
IPVS sync daemon support : Yes (这里必须为yes)
Use VRRP Framework : Yes (这里必须为yes)
Use LinkWatch : No

#make&&makeinstall #编译


4.做成启动服务

#ln-s/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/rc.d/init.d/
#ln-s/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/
#mkdir/etc/keepalived
#ln-s/usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived/
#ln-s/usr/local/keepalived/sbin/keepalived/usr/sbin/
#servicekeepalivedstart#关闭:stop

5.绑定虚拟IP(该步骤在某些安装环境下可以忽略,因为keepalived会自动维护vip,并根据设置,自动在系统里添加vip,所以该步骤可能用途不大)

#/sbin/ifconfigeth0:010.0.8.9broadcast10.0.8.9netmask255.255.255.255up#这样的设置可防止IP冲突
#/sbin/routeadd-host10.0.8.9deveth0:0

6.配置network(/etc/sysconfig/network )文件,内容如下(注:该步骤在网上某些文章中提到,这里也就随手多做了一步):

NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=10.0.8.1

7.LVS 在3 种方式下均需要打开ip forward 功能,这可以配置/etc/sysctl.conf. 文件,保证其中有如下一行(注:该步骤在网上某些文章中提到,这里也就随手多做了一步):
#net.ipv4.ip forward = 1
#sysctl-p #然后执行下面命令使配置生效:

备注:因为KEEPALIVED要使用80端口(稍后配置文件中会做设置),所以如果要马上启用80端口,可以启动Apache,用下面命令(这一步并不在安装步骤中):

#servicehttpdstart(或restart)

完成了环境配置之后,下面就是打开并修改Keepalived.conf文件了,我们可以从下面地址打开并编辑它:
/usr/local/keepalived/etc/keepalived.conf
或:
/etc/keepalived/keepalived.conf (之前的ln指令指向)

这里将10.0.8.25这台虚拟机设置为MASTER,配置文件如下(相应配置信息详见这篇文章):


!ConfigurationFileforkeepalived

global_defs{
notification_email{
daizhj617595@12.com

}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server127.0.0.1
smtp_connect_timeout30
router_idLVS_DEVEL
}

vrrp_instanceVI_1{
stateMASTER
interfaceeth0#HA监测网络接口
virtual_router_id51#主、备机的virtual_router_id必须相同
priority100#主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高
advert_int1#VRRPMulticast广播周期秒数
authentication{
auth_typePASS
auth_pass1111
}
virtual_ipaddress{
10.0.8.9
}
}

virtual_server10.0.8.980{
delay_loop6
lb_algowrr
lb_kindDR
persistence_timeout10!同一ip50秒内的请求都发送到同一realserver
protocolTCP

real_server10.0.8.1280{
weight2
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
connect_port80
}
}

real_server10.0.8.1380{
weight2
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
connect_port80
}
}
}

然后我们使用如下命令启用keepalived:

#keepalived#位于/usr/local/keepalived/sbin/

#servicekeepalivedstart

我们可以通过下面指令来查看相应进程:

#psaux|grepkeepalived

------------------------------

sr/local/keepalived/etc/keepalived/keepalived.conf
root 17670 0.0 0.2 4932 564 ? Ss 19:03 0:00 keepalived -D
root 17671 0.0 0.6 4976 1416 ? S 19:03 0:02 keepalived -D
root 17672 0.0 0.4 4976 928 ? S 19:03 0:00 keepalived -D
....

这里注意keepalived要启动一个主并fork两个子进程,所以这里显示了三个进程。

这里我们可以下面指令检查一下配置是否生效:

#ping10.0.8.9-c4
#telnet10.0.8.980

如果正常的话,就说明keepalived已启用了我们的配置。

注:之前本人配置过程中发现telnet经常无法正常访问,可以使用下面指令查看80端口是否启用:

#netstat-npl|grep:80#windows下相应指令为:netstat-an|findstrLISTEN

也可以使用下面指令检查LVS进程:

#lsmod|grepip_vs

到这里就完成了10.0.8.25这台虚拟机上的keepalived配置。然后重复1-7这些步骤,在10.0.8.55上也安装并配置keepalived,这里要注意的是在keepalived.conf文件中要将state MASTER改成state BACKUP

接着,我们在IE上输入下面地址:http://10.0.8.9/index.aspx

如果能正常访问,就说明负载均衡环境搭建完毕了

注:还可以配置HOST文件(/etc/hosts)和DNS域名解析的配置文件(/etc/resolv.conf)

我们可以使用下面指令查看请求的转发情况:

[root@localhost~]#ipvsadm-lcn|grep10.0.8.9

-------------------------------------------
clientip vip realserver
TCP 14:44 ESTABLISHED 10.0.4.102:5244 10.0.8.9:80 10.0.8.12:80
TCP 14:44 ESTABLISHED 10.0.4.102:5232 10.0.8.9:80 10.0.8.12:80
TCP 07:35 ESTABLISHED 10.0.4.102:4875 10.0.8.9:80 10.0.8.13:80
TCP 14:44 ESTABLISHED 10.0.4.102:5249 10.0.8.9:80 10.0.8.12:80
TCP 14:46 ESTABLISHED 10.0.4.102:5246 10.0.8.9:80 10.0.8.12:80
TCP 08:40 ESTABLISHED 10.0.4.102:4913 10.0.8.9:80 10.0.8.12:80
TCP 08:40 ESTABLISHED 10.0.4.102:4927 10.0.8.9:80 10.0.8.12:80
TCP 14:44 ESTABLISHED 10.0.4.102:5247 10.0.8.9:80 10.0.8.12:80
TCP 08:40 ESTABLISHED 10.0.4.102:4929 10.0.8.9:80 10.0.8.12:80
TCP 07:35 ESTABLISHED 10.0.4.102:4872 10.0.8.9:80 10.0.8.13:80
TCP 14:47 ESTABLISHED 10.0.4.102:5243 10.0.8.9:80 10.0.8.12:80
TCP 08:40 ESTABLISHED 10.0.4.102:5011 10.0.8.9:80 10.0.8.12:80
TCP 14:56 ESTABLISHED 10.0.4.102:5245 10.0.8.9:80 10.0.8.12:80
TCP 00:44 NONE 10.0.4.102:0 10.0.8.9:80 10.0.8.12:80
TCP 00:34 NONE 10.0.4.102:0 10.0.8.9:65535 10.0.8.13:65535
TCP 07:35 ESTABLISHED 10.0.4.102:4848 10.0.8.9:80 10.0.8.13:80


接着我们可以把10.0.8.12:80或10.0.8.13:80 站点停掉,看看访问是否正常。
然后我们将10.0.8.25或10.0.8.55 虚拟机上关掉keepalived (使用killall keepalived或serivce keepalived stop),再用IE访问相应网址看看。
另外那台机器上的keepalived能否正常切换接管。如果正常,就说明这个环境是HA(高可用的)。


最后再罗列一些常的指令,以便大家查看keepalived运行情况和网络状况:

#tail-f/var/log/messages#查看系统日志
#tcpdumpsrchost10.0.8.9andport80#抓包
#curl-Ihttp://10.0.8.9/#利用URL语法在命令行方式下的文件传输工具
#ipaddr#IP地址信息或ipaddshoweth0查看虚拟IP绑定情况
#serviceiptablesstop#关闭iptables防火墙
#iptables–nvL#列出防火墙进入数据信息
#ipvsadm-ln#查看lvs服务是否正常,包括活动链接,weight(keepalived配置),内部链接等。
http://blog.csdn.net/yuchou123456789/article/details/7287890
分享到:
评论

相关推荐

    HAProxy+Keepalived+LVS实现负载平衡高可用集群最佳实践

    HAProxy+Keepalived+LVS实现负载平衡高可用集群最佳实践

    lvs+keepalived+vsftp配置FTP服务器负载均衡

    在构建大型、高可用性的FTP(File ...通过上述步骤,我们可以构建一个基于lvs+keepalived+vsftp的FTP服务器负载均衡环境,提供高可用性和良好的扩展性。记住,实施过程中应根据实际需求和服务器环境进行适当的调整。

    LVS+Keepalived高可用负载均衡集群

    随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司...我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。

    lvs+Keepalived+nginx高可用负载均衡搭建部署方案

    lvs+Keepalived+nginx高可用负载均衡搭建部署方案

    LVS+Keepalived实现高可用负载均衡

    ### LVS+Keepalived 实现高可用负载均衡 #### 一、原理 **1、概要介绍** 在现代互联网架构中,为了提高系统的稳定性和可靠性,常常采用高可用(High Availability, HA)架构设计。其中,LVS(Linux Virtual ...

    Linux负载均衡--LVS+Keepalived(终极文档).pdf

    Linux 负载均衡 -- LVS+Keepalived 终极指南 Linux 负载均衡是当前网站业务量增长面临的主要挑战之一。如何实现高性能高可用的负载均衡方案,降低成本,提高网站的可靠性和灵活性,是每个网站管理员和架构师所面临...

    搭建LVS+KEEPALIVED负载均衡.pdf

    搭建LVS+KEEPALIVED负载均衡需要安装ipvsadm和Keepalived软件,配置Keepalived的配置文件,并部署Master-lvs和Backup-lvs服务器。同时,LVS和KEEPALIVED可以实现高可用性和高性能,且可以灵活地配置Real Server和...

    LVS+Keepalived+httpds实现高可用负载均衡

    LVS+Keepalived+httpds实现高可用负载均衡

    LVS+keepalived负载均衡系统资料合集

    LVS(Linux Virtual Server)是基于Linux操作系统的高性能网络负载均衡技术,它通过将请求分发到多个后端服务器,实现了服务的高可用性和扩展性。Keepalived则是一款网络服务监控程序,常与LVS配合使用,确保主...

    mysql双主复制+lvs+keepalived实现mysql负载均衡.pdf

    MySQL 双主复制 + LVS + Keepalived 实现 MySQL 负载均衡 MySQL 双主复制 + LVS + Keepalived 是一种常见的 MySQL 负载均衡解决方案,通过使用双主复制确保数据的一致性,使用 LVS 实现负载均衡,使用 Keepalived ...

    keepalived+lvs集群负载均衡配置

    ### keepalived + LVS-DR模式配置高可用负载均衡详解 #### 一、概述 在现代互联网架构中,为了确保服务的高可用性和负载均衡,通常会采用一系列技术手段来实现这一目标。其中,Keepalived 和 LVS 组合是一种常用的...

    lvs+keepalived+nginx+tomcat+memcached实现服务负载均衡及session共享

    首先,lvs是Linux内核中的一个模块,它提供了四层负载均衡功能,能够将进来的网络请求分发到后端多个服务器上,以实现服务的扩展和故障隔离。lvs的工作模式主要有三种:Direct Routing(DR)、Network Address ...

    Lvs+keepalived 高可用性负载均衡配置

    Lvs+keepalived 高可用性负载均衡配置 本文介绍了使用 LVS(Linux Virtual Server)和 Keepalived 实现高可用性负载均衡的配置。LVS 是一种开源的负载均衡解决方案,可以将入站流量分配到多个后端服务器上,以提高...

    LVS负载均衡软件Keepalived高可用:keepalived-2.0.10

    Keepalived是一款开源的网络服务管理工具,主要用于实现Linux Virtual Server (LVS)的负载均衡和高可用性。在标题中提到的"Keepalived-2.0.10"版本,是Keepalived的一个稳定版本,为用户提供了更丰富的功能和更高的...

    atlas+lvs+keepalived mysql多主复制负载均衡搭建

    基于mysql的负载均衡有很多种方式,如haproxy,前面一篇博客有介绍,还可以用更高效lvs做负载均衡,下面是基于percona xtradb cluster的三个节点的多主复制+atlas的lvs负载均衡,其实这里是不需要用atlas的,因为...

Global site tag (gtag.js) - Google Analytics