最新消息:

lvs+keepalived负载均衡配置(转)

Linux运维 大步 1139浏览 0评论

原文链接:http://www.e2fsck.org/lvs-keepalived-load-balancing-configuration.html
作者:e2fsck

前 言:自从2年前花了1个星期搞定tomcat的ssl,这是最让我不能睡好觉的一个问题,为了能让rabbitmq节点集群,所以学习了lvs,这里先介 绍下最基本的lvs创建apache负载均衡。这里很感谢高手的文章: http://shenjianzhousx.blog.51cto.com/1627247/440506

先奉上我做的拓扑图,水平很差:

lvs+keepalived负载均衡配置(转) - ksharp_dabu - ksharp_dabu的博客

  

环境简单说下:

我 实验的时候,3台服务器全是CentOS 5 客户端为 ubuntu 10,调度机的eth0IP可以不管,重点设置 eth0:1 192.168.100.105 ,Real1的eth0 192.168.100.240 , Real2的eth0 192.168.100.250

LVS 是用来做负载均衡的; Keepalived 是用来做高可用的(不一定要配置,看情况)

前提:为了方便配置,把所有机器的selinux和iptables全部关闭

第一步 安装和配置调度机(LVS)

1. 安装lvs软件ipvsadm

[root@diaoduji ~]# yum install ipvsadm

2. 检查lvs模块是否已经加载

[root@diaoduji ~]# lsmod|grep ip_vs

ip_vs 771313 0

如果看到上面类似的结果说明加载成功了。

如果没有看到,则运行

[root@diaoduji ~]# modprobe ip_vs

3. 编辑 /etc/sysctl.conf 找到如下语句把0改成1

net.ipv4.ip_forward = 1

4. 用四个参数来关闭arp查询响应请求

[root@diaoduji ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@diaoduji ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@diaoduji ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@diaoduji ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

5. 编辑lvs脚本, lvs.sh

#!/bin/bash
RIP1=192.168.100.240
RIP2=192.168.100.250
VIP1=192.168.100.105

/sbin/ifconfig eth0:1 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
/sbin/route add -host $VIP1 dev eth0:1
echo "1" >/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
#set LVS apache
/sbin/ipvsadm -A -t $VIP1:80 -s rr
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP2:80 -g

6. 执行脚本 sh lvs.sh 这样调度器的规则已经启用了,使用 ipvsadmin -l 查看

[root@diaoduji ~]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.105:http rr
-> 192.168.100.250:http Route 1 0 0
-> 192.168.100.240:http Route 1 0 0


第二步 安装和配置调度机(Keepalived)

注意:当你安装使用 keepalived 的时候,就不要使用上面 lvs 的脚本了(顺便停了上面的脚本),不用配置 ipvsadm 了,整个过程只要配置启动 keepalived 就可以了!

lvs+keepalived负载均衡配置(转) - ksharp_dabu - ksharp_dabu的博客

 

1. 下载软件包

wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

2. 安装 keepalived

首先看下自己的内核是什么版本

[root@diaoduji ~]# uname -a
Linux diaoduji 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux

解压好,编译的时候,记得要带如下参数使用内核的头文件(include目录),版本要和本机的版本一样(如上)

[root@diaoduji keepalived-1.1.15]# ./configure –with-kernel-dir=/usr/src/kernels/2.6.18-92.el5-i686/

最后看下红色部分是不是 YES
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

[root@diaoduji keepalived-1.1.15]# make && make install

3. 安装好后,把 keepalived 做成系统服务

查找安装在哪了

[root@diaoduji keepalived-1.1.15]# find / -name keepalived

[root@diaoduji keepalived-1.1.15]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

[root@diaoduji keepalived-1.1.15]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

[root@diaoduji keepalived-1.1.15]# mkdir -p /etc/keepalived

[root@diaoduji keepalived-1.1.15]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

[root@diaoduji keepalived-1.1.15]# cp /usr/local/sbin/keepalived /usr/sbin/

4. 编辑 keepalived 配置文件


[root@diaoduji keepalived-1.1.15]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived 
global_defs {
 notification_email {
 root@e2fsck.org
}
notification_email_from mail@e2fsck.org
smtp_server 127.0.0.1

  # smtp_connect_timeout 30
  router_id LVS_DEVEL
}

#http://www.e2fsck.org
# VIP1

vrrp_instance VI_1 {
  state MASTER #备份服务器上将MASTER改为BACKUP
  interface eth0
virtual_router_id 51
priority 100 # 备份服务上将100改为99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.105
#(如果有多个VIP,继续换行填写.)
}
}

virtual_server 192.168.100.105 80 {
delay_loop 6 #(每

转载请注明:大步's Blog » lvs+keepalived负载均衡配置(转)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap