[集群]详解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的抽魔浏览器,缓存会让你看不到效果的。