VMware下web LVS 搭建(ipvs/nat)

 

下面是基于NAT结构的:访问http://www.210.210.210.111 会把负载平衡的分配到RS1RS2

 

一共存在四个操作系统,windows作为客户机相当于Internet上的任何一台PC

Windows的网络设置为:

Ip 210.210.210.110

SUBMASK:255.255.255.0

GATEWAY:210.210.210.1

 

VMware上虚拟出三个RHEL4 分别为 BLRS1RS2

BL(负载均衡机)上设置两个网卡:      例如

                     Eth0 作为外网IP,外部能访问到

Ip 210.210.210.111

SUBMASK:255.255.255.0

GATEWAY:210.210.210.1

                     Eth0:1 : 只设置IP即可,内网使用

                            IP: 192.168.255.10

      

              RS1 RS2上面需要设置的较少,设置好IP和开启APACHE即可(默认网页根.目录为/var/www/html初始为空)

              例如:

              RS1

                     IP192.168.255.4

                     SMASK: 255.255.255.0

                     GW: 192.168.255.10      //注意该网关为BL上的内网IP   

              RS2

                     IP192.168.255.5

                     SMASK: 255.255.255.0

                     GW: 192.168.255.10      //注意该网关为BL上的内网IP   

 

以上仅为各机IP的设置

 

BL上其他配置部分:目前系统一般都有IPVS补丁,不需另装。

安装上对应内核版本号的ipvsadm程序。此处使用1.24版本(见附1)。

 

接着执行下面命令:

echo  “1”> /proc/sys/net/ipv4/ip_forward

#下面4条不知道干什么的,是否用得着?

echo  “0” > /proc/sys/net/ipv4/conf/all/send_redirects

echo  “0” >/proc/sys/net/ipv4/conf/default/send_redirects

echo  “0” >/proc/sys/net/ipv4/conf/eth0/send_redirects

echo  “0”>/proc/sys/net/ipv4/conf/ethl/sendse_redirects

 

 

vi  /etc/rc.d/init.d/ipvsadm

#以下黄颜色信息写在/etc/rc.d/init.d/ipvsadm文件里

ipvsadm -C

ipvsadm -A -t 210.210.210.112:80 -s rr

ipvsadm -a -t  210.210.210.112:80   -r   192.168.255.4:80  -m  -w  1

ipvsadm -a -t  210.210.210.112:80   -r   192.168.255.5:80  -m  -w  1

 

service ipvsadm start

 

service –Ln  

 

以下命令相当于上面黄色信息里面的作用,不过是临时的

#清除ipvsadm表:

/sbin/ipvsadm   -C

 

#使用ipvsadm安装LVS服务

#add http to VIP with wlc scheduling

/sbin/ipvsadm -A -t 210.210.210.111:80    -s  rr

 

#增加第一台RS1

#forward http to real server 1  using LVS -NAT(-m)with weight=l

/sbin/ipvsadm -a -t  210.210.210.111:80   -r   192.168.255.4:80  -m  -w  1

 

#增加第二台RS2

#forward http to real server 2 using LVS -NAT(m)with weight=1

/sbin/ipvsadm -a -t   210.210.210.111:80   -r  192.168.255.5:80  -m  -w  l

 

 

 

 

*客户端访问的时候写全网址//210.210.210.112:80/index.html

 

 

 

 

 

 

 

 

 

 

 

附:

 

1.判断是否具备完整IPVS模块?

LVS所需的核心模组

LVS发展出一个名为IPVSIP Virtual Server)的核心模组,直接于Linux的核心中运作,进行连线的导引与调度.IPVS模组于2.4.23版开始,已正式纳入Linux的内核中,成为Linux的一部分。

      若使用的发行版预设核心版本高于2.4.23,那么应该已具架设LVS群集的能力.如果预设内核低于2.4.23,且发行版亦未特别另加IPVS模组,可以到www.kernel.org下载最新版本的核心,重新编译内核,主意编译时一定开启所有IPVS的相关选项。

 

      如果不知道发行版预设核心是否已包含IPVS模组,可以如下查询:

[root@smart401 ~]# grep "CONFIG_IP_VS" /boot/config-`uname -r`          // ` :直接按1前面的按键即可            

CONFIG_IP_VS=m                          //已包含IPVS模组,m代表已编译为模组,y则是已内建于内核,n表示不支援

# CONFIG_IP_VS_DEBUG is not set

CONFIG_IP_VS_TAB_BITS=12

CONFIG_IP_VS_PROTO_TCP=y     //这些是IPVS所支援的通讯协定

CONFIG_IP_VS_PROTO_UDP=y

CONFIG_IP_VS_PROTO_ESP=y

CONFIG_IP_VS_PROTO_AH=y

CONFIG_IP_VS_RR=m                   //这些是IPVS所支援的调度演算模组

CONFIG_IP_VS_WRR=m

CONFIG_IP_VS_LC=m

CONFIG_IP_VS_WLC=m

CONFIG_IP_VS_LBLC=m

CONFIG_IP_VS_LBLCR=m

CONFIG_IP_VS_DH=m

CONFIG_IP_VS_SH=m

CONFIG_IP_VS_SED=m

CONFIG_IP_VS_NQ=m

CONFIG_IP_VS_FTP=m                  //此为IPVS支援FTP协议的模组

确定内核已经支援IPVS,还需要安装IPVS管理工具套件,才能进行LVS集群的设定.此管理工具为ipvsadm,查询是否已经安装这个管理工具:

Fedora Red Hat LinuxMandrake Linux】:

#rpm -qa | grep ipvsadm

 

下载:http://www.linux-vs.org/software/ipvs.html,依照核心下载ipvsadm原始档,自行编译安装。

1>     通过tar包安装ipvsadm

2>     #yum install ipvsadm 【此方式无法实现】

 

由于安装的是RHEL4-U5 因此使用的是下载安装的是ipvsadm-1.24.tar.gz

[root@smart401 ~]# ln -s /usr/src/kernels/2.6.9-55.EL-smp-i686/ /usr/src/linux

[root@smart401 ~]# tar zxvf ipvsadm-1.24.tar.gz

[root@smart401 ~]# cd ipvsadm-1.24

[root@smart401 ipvsadm-1.24]# make &&make install

make -C libipvs

make[1]: Entering directory `/root/ipvsadm-1.24/libipvs'

gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include  -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c

ar rv libipvs.a libipvs.o

ar: 正在创建libipvs.a

a - libipvs.o

make[1]: Leaving directory `/root/ipvsadm-1.24/libipvs'

gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include -I.. -I. -DVERSION=/"1.24/" -DSCHEDULERS=/""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"/" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o ipvsadm.o ipvsadm.c

gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include -I.. -I. -DVERSION=/"1.24/" -DSCHEDULERS=/""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"/" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o config_stream.o config_stream.c

gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include -I.. -I. -DVERSION=/"1.24/" -DSCHEDULERS=/""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"/" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o dynamic_array.o dynamic_array.c

gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -o ipvsadm ipvsadm.o config_stream.o dynamic_array.o libipvs/libipvs.a -L/usr/lib -lpopt

make -C libipvs

make[1]: Entering directory `/root/ipvsadm-1.24/libipvs'

make[1]: Nothing to be done for `all'.

make[1]: Leaving directory `/root/ipvsadm-1.24/libipvs'

if [ ! -d /sbin ]; then mkdir -p /sbin; fi

install -m 0755 -s ipvsadm /sbin

install -m 0755 ipvsadm-save /sbin

install -m 0755 ipvsadm-restore /sbin

[ -d /usr/man/man8 ] || mkdir -p /usr/man/man8

install -m 0644 ipvsadm.8 /usr/man/man8

install -m 0644 ipvsadm-save.8 /usr/man/man8

install -m 0644 ipvsadm-restore.8 /usr/man/man8

if [ -d /etc/rc.d/init.d ]; then /

         install -m 0755 ipvsadm.sh /etc/rc.d/init.d/ipvsadm; /

       fi

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值