天天看点

ubuntu下lvs负载均衡dr模型shell脚本

架构图很简单如此这般:

<a href="http://s3.51cto.com/wyfs02/M02/25/07/wKiom1NYtlqAdTCtAAB9jJEx8O8571.jpg" target="_blank"></a>

关于lvs的介绍网上到处都是,这里不再赘述

直接上干货

dr上安装lvs管理工具

1

<code>apt-get </code><code>install</code> <code>ipvsadm</code>

linux 2.6.X内核默认集成了lvs模块 ,执行命令:

<code>modprobe -l | </code><code>grep</code> <code>ipvs</code>

查看内核是否支持

<a href="http://s3.51cto.com/wyfs02/M01/25/07/wKioL1NYtx_QILNTAAGoDsjQzfo715.jpg" target="_blank"></a>

lvs.sh

2

3

4

5

6

7

8

9

10

11

12

<code>#!/usr/bin</code>

<code>vip=192.168.56.200</code>

<code>rip1=192.168.56.105</code>

<code>rip2=192.168.56.106</code>

<code>ifconfig</code> <code>eth0:0 $vip netmask 255.255.255.0 broadcast $vip</code>

<code>route add -host $vip dev eth0:0</code>

<code>route -n</code>

<code>ipvsadm -C</code>

<code>ipvsadm -A -t $vip:80 -s rr</code>

<code>ipvsadm -a -t $vip:80 -r $rip1:80 -g</code>

<code>ipvsadm -a -t $vip:80 -r $rip2:80 -g</code>

<code>ipvsadm -</code><code>ln</code>

在192.168.56.108执行lvs.sh后

在webserver上 rs.sh

<code>#!/bin/bash</code>

<code>ifconfig</code> <code>lo:0 $vip netmask 255.255.255.255</code>

<code>route add -host $vip dev lo:0</code>

<code>echo</code> <code>"1"</code> <code>&gt;</code><code>/proc/sys/net/ipv4/conf/lo/arp_ignore</code>

<code>echo</code> <code>"2"</code> <code>&gt;</code><code>/proc/sys/net/ipv4/conf/lo/arp_announce</code>

<code>echo</code> <code>"1"</code> <code>&gt;</code><code>/proc/sys/net/ipv4/conf/all/arp_ignore</code>

<code>echo</code> <code>"2"</code> <code>&gt;</code><code>/proc/sys/net/ipv4/conf/all/arp_announce</code>

<code>#sysctl -p  #查看sysctl的配置变化,可不执行</code>

当在192.168.56.105和106上执行后可以看到下面结果,已经在lo网卡上绑定vip

<a href="http://s3.51cto.com/wyfs02/M01/25/07/wKiom1NYtDqwJZoOAAINrx58UL4746.jpg" target="_blank"></a>

这然后我们开始访问这个vip:结果如图

<a href="http://s3.51cto.com/wyfs02/M00/25/07/wKiom1NYtV2CzxmKAAIgP8Wm0Do915.jpg" target="_blank"></a>

在dr上可以看到:

<a href="http://s3.51cto.com/wyfs02/M01/25/07/wKiom1NYtfOye204AADULDuvF8s006.jpg" target="_blank"></a>

lvs配置起来很简单,有兴趣的朋友可以按照我的shell脚本根据自己的需要修改ip即可使用

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