Home

zhangyiqun

Thoughts, stories and ideas.

Notes Blog Archives About
06 Mar 2009

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

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

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

作者:张逸群

Mail:jeantoe@gmail.com

前言

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

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

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

DR方式拓扑图

在dr模式中由realserver直接回复client的请求,流量不经过director所以速度快开销少。需要注意的是无论NAT或者DR方式都要求所有realserver必须和director位于同一个局域网内。

以DR方式部署

实验环境

OS:RHEL5U1

调度算法:rr

director 192.168.92.130(DIP) , 192.168.92.132

realserver1 192.168.92.100

realserver2 192.168.92.200

注意:DR方式中的IP全部都是公网IP

配置

director方面

ipvsadm -A -t 192.168.92.132:80 -s rr

ipvsadm -a -t 192.168.92.132:80 -r 192.168.92.100 -g

ipvsadm -a -t 192.168.92.132:80 -r 192.168.92.200 -g

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

realserver1和2中的配置

ifconfig lo:1 192.168.92.132 netmask 255.255.255.255

用lo而不用eth的原因。

eth是外部网络接口,如果配置成192.168.0.vip将导致ip地址冲突。

在realserver中关闭arp

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

永久修改以上位置 vim /etc/sysctl.conf

格式net.ipv4.conf.eth0.arp_ignore

Notes Blog Archives About