Home

zhangyiqun

Thoughts, stories and ideas.

Notes Blog Archives About
05 Mar 2009

[集群]详解LVS的工作模式之NAT的实现

1、除特别说明外,本博客内容皆为原创,可以自由转载传播,但请署名及注明出处,不尊重别人劳动成果的不欢迎;

2、本博客内容遵守“署名-非商业性使用-禁止演绎 2.5 中国大陆”协议;

作者:张逸群

Mail:jeantoe@gmail.com

前言

Linux 服务器集群系统(以下简称 LVS), 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux 标准内核的一部分。LVS 从 Linux 内核还在 2.0 版本的时代开始,就得到广泛的应用,目前

Linux 的内核已经是 2.6 版,完全内置了 LVS 的各个模块,已经不需要在给内核打任何补丁。

如何配置 NAT方式的集群是本文关注的焦点,读者可以将本文当作一篇 Howto 文档, 以一种相对简单的架构让集群“跑起来”,在生产中的应用随着我经验的增加也会陆续添加。

NAT方式拓扑图

使用NAT方式时,director同时是一台NAT网关,它必须有一个公网IP,当收到请求时按照调度算法把请求转发给局域网中的某台realserver,realserver处理完请求后把结果返回给director,此时director将结果返回给client。

因为NAT方式完全依赖于director,需要d机有较强的数据吞吐,同时这也导致了d成为一个瓶颈。根据官方的文档当realserver少于20台时用NAT比较合适。

以NAT方式搭建

实验环境

OS:RHEL5U1

调度算法:rr

director 192.168.1.254 , 192.168.92.132 (公网)

realserver1 192.168.1.100

realserver2 192.168.1.200

安装

yum install ipvsadm

配置

director方面

添加realserver

ipvsadm -A -t 192.168.92.132:80 -s rr 192.168.1.254

ipvsadm -a -t 192.168.92.132:80 -r 192.168.1.100 -m

ipvsadm -a -t 192.168.92.132:80 -r 192.168.1.200 -m

ipvsadm -Ln #显示列表,看是否添加成功

开启ip转发

cat /proc/sys/net/ipv4/ip_forward

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

到此director配置完毕。

realserver1的配置

route add default dev eth0 gw 192.168.1.254

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

realserver2的配置

route add default dev eth0 gw 192.168.1.254

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

到此LVS集群配置完毕,可以跑服务测试!我这里用web服务做测试,因为效果比较明显。

注意:不要使用firefox或者google的抽魔浏览器,缓存会让你看不到效果的。

Notes Blog Archives About