免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 32784 | 回复: 19
打印 上一主题 下一主题

利用VM在單機上體驗LVS(原創) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-28 18:56 |只看该作者 |倒序浏览
架設LVS至少都要3台電腦,如果只有一台電腦主機又想搞個LVS集群來體驗一下,那么我們可以借助VMware來實現。做法是在一台主機中虛擬3個Linux系統,主機最好能連接到一個LAN或者本身已有公網IP,如果沒有LAN就在VM中用Team方式實現一個虛擬LAN。(以下方法同樣可以應用在真實環境中)

首先用來運行VM的主機CPU最好在2G以上,內存要有1GB(因為要同時挂上3個Linux),系統是WindowsXP.先安裝VMware-workstation-5.5.1-19175.exe,設定VM的虛擬網絡,把VMnet0(Bridged)指定到主機網卡上.現在可以開始安裝Linux,我安裝的是 Mandriva2006,安裝的Linux Kernal最好是2.6.10以上的發行版,因為已經集成了IPVS.在安裝清單中記得選上WEB服務器和ipvsadm.待安裝完成后在VM中克隆2個Linux.各系統的IP如下:

1.        WindowsXP: 192.168.0.5
2.        Linux1: 192.168.0.11
3.        Linux2: 192.168.0.12
4.        Linux3: 192.168.0.13

3個Linux系統分別簡稱為LB(192.168.0.11),RS1(192.168.0.12),RS2(192.168.0.13),加上原本的XP一共有4個OS.先用ping測試一下網絡,看看各個系統通不通。

現在已經虛擬出3台主機(與真正主機沒分別),可以正式配置LVS,使用直接路由DR方式。
LB的內核要 2.6.10以上(已集成IPVS).RS的內核最好也用2.6.x。用modprobe -l 命令可查看到IPVS module在 /lib/modules/2.6.12-12mdksmp/kernel/net/ipv4/ipvs中. ipvsadm運行時會自動把IPVS module挂載到系統中,到系統服務中查看ipvsadm是否已經加入.可以用lsmod查看系統當前所有挂載的module。

分別在3個Linux系統中設置Virtual IP, 在RS上必須對VIP忽略ARP回應。由于2.4和2.6內核處理ARP方式不一樣,在2.6內核中通過調整內核參數忽略ARP廣播回應。
下面是我用的2個腳本:

LB上的腳本:
#!/bin/bash
VIP=192.168.0.100
RIP1=192.168.0.11
RIP2=192.168.0.12
RIP3=192.168.0.13
GW=192.168.0.1
# set the Virtual IP Address
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g
#Run LVS
/sbin/ipvsadm
#end

RS上的腳本:
#!/bin/bash
VIP=192.168.0.100
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
#end

LVS的配置大至上完成,返回到XP中,打開IE、firefox或者 Opera測試,然后切換到LB上用 ipvsadm –L -c查看是否有連接。

论坛徽章:
0
2 [报告]
发表于 2006-03-29 12:46 |只看该作者
顶上去先,有空试试

论坛徽章:
0
3 [报告]
发表于 2006-03-29 15:58 |只看该作者
有空看看

论坛徽章:
0
4 [报告]
发表于 2006-03-30 13:15 |只看该作者
有空也要试试

论坛徽章:
0
5 [报告]
发表于 2006-04-01 01:06 |只看该作者
能否写的更详细点,
最好列出操作过程。
多谢!

论坛徽章:
0
6 [报告]
发表于 2006-05-18 16:21 |只看该作者
我看以前的不少教程  脚本中RS  设置虚拟IP的时候用的也是lo:0不过我这么做时候就出了问题。。。。别的机器都远程登陆不了他。

我把lo:0改成了eth0:1就没有这个问题。。。。

原理我也说不太清楚,请高手指教。
是不是和HOSTS文件有什么关系啊?

论坛徽章:
0
7 [报告]
发表于 2006-05-31 22:01 |只看该作者
我按这做拉。但访问时只能访问到一台机的网页。不会转换。偶尔会转到一次。不如问题出在那。

论坛徽章:
0
8 [报告]
发表于 2006-07-11 09:56 |只看该作者


论坛徽章:
0
9 [报告]
发表于 2006-07-11 17:12 |只看该作者
收藏:)

论坛徽章:
0
10 [报告]
发表于 2006-07-12 10:32 |只看该作者
一定要做做
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP