-----构建DR 模式的LVS 群集-----

--client----------LVS-----------WEB1

2.2.2.100    eth0:2.2.2.10    eth0:2.2.2.20

      子接口eth0:0:2.2.2.2   lo:0:2.2.2.2


------------WEB2---------

       eth0:2.2.2.30

       lo:0:2.2.2.2

一、配置LVS 调度器

1、配置IP 和VIP

[root@localhost ~]# vim /etc/sysconfig/networkscripts/

ifcfg-eth0

2)配置VIP

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost ~]#cp ifcfg-eth0 ifcfg-eth0:0

添加:

DEVICE=eth0:0

ONBOOT=yes

IPADDR=2.2.2.2

NETMASK=255.0.0.0   内容与这四行保持一致,其余删除

[root@localhost ~]# service network restart

2、调整响应参数

[root@localhost ~]# vim /etc/sysctl.conf

添加:

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

参数的含义是发送重定向,0 表示关闭此项功能。

[root@localhost ~]# sysctl -p


3、安装并配置ipvsadm

yum安装会提示找不到该包,需要直接到挂载点手动以rpm的方式安装

[root@localhost ~]# rpm -ihv /挂载点/Packages/ipvsadm-1.26-

2.el6.x86_64.rpm

[root@localhost ~]# service ipvsadm stop //清除原

有策略

[root@localhost ~]# ipvsadm -A -t 2.2.2.2:80 -s rr 

-A:添加虚拟服务器 -t:指定VIP地址及端口号 -s指定负载调度算法 rr:表示轮训

[root@localhost ~]# ipvsadm -a -t 2.2.2.2:80 -r 2.2.2.20 -g -w 1 

-a:添加真实服务器 -t:↑  -r:指定RIP地址(后端web服务器地址)及端口

-g:表示为DR模式 (-m表示NAT模式,-i TUN模式) -w权重

[root@localhost ~]# ipvsadm -a -t 2.2.2.2:80 -r 2.2.2.30

-g -w 1

[root@localhost ~]# service ipvsadm save //保存策

略。你将看到它保存的真实位置于/etc/sysconfig/ipvsadm   你可以cat一下看看

[root@localhost ~]# chkconfig --add ipvsadm

[root@localhost ~]# chkconfig ipvsadm on

[root@localhost ~]# service ipvsadm start


二、配置WEB 节点服务器

1、配置IP 地址

1)设置IP

[root@localhost ~]# vim /etc/sysconfig/networkscripts/

ifcfg-eth0

2)设置VIP

[root@localhost ~]# cp ifcfg-lo ifcfg-lo:0

[root@localhost ~]# vim ifcfg-lo:0

修改:

DEVICE=lo:0

IPADDR=2.2.2.2

NETMASK=255.255.255.255    注意此段用广播地址

ONBOOT=yes

[root@localhost ~]# service network reload

3)添加路由

[root@localhost ~]# route add -host 2.2.2.2 dev lo:0 //-host 为标记为一台主机

[root@localhost ~]# echo "route add -host 2.2.2.2 dev lo:0" >> /etc/rc.local

2、调整响应参数

[root@localhost ~]# vim /etc/sysctl.conf

添加:

net.ipv4.conf.all.arp_ignore = 1

arp_ignore:定义了网卡在响应外部ARP 请求时候的响应级别

0:默认值,不管哪块网卡接收到了ARP 请求,只要发现本机有这个MAC 都给与响应

1:总是使用最合适的网卡来响应,一个主机有多块网卡,其中一块网卡接收到了ARP 请

求,发现所请求的MAC 是本机另一块网卡的,这个时候接收到ARP 请求的这块网卡就一

定不响应,只有发现请求的MAC 是自己的才给与响应。

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

arp_announce 定义了网卡在向外宣告自己的MAC-IP 时候的限制级别

有三个值:

0:默认值,不管哪块网卡接收到了ARP 请求,只要发现本机有这个MAC 都给与响应

1:尽量避免响应ARP 请求中MAC 不是本网卡的,一个主机有多块网卡,其中一块网卡接

收到了ARP 请求,发现所请求的MAC 是本机另一块网卡的,这个时候接收到ARP 请求的

这块网卡就尽量避免响应

2:总是使用最合适的网卡来响应,一个主机有多块网卡,其中一块网卡接收到了ARP 请

求,发现所请求的MAC 是本机另一块网卡的,这个时候接收到ARP 请求的这块网卡就一

定不响应,只有发现请求的MAC 是自己的才给与响应。

[root@localhost ~]# sysctl -p


3、配置http 服务

[root@localhost ~]# echo "welcome to 2.2.2.20 web

server" > /var/www/html/index.html

[root@localhost ~]# service httpd restart

另一台web做相对应操作


三、验证:

1、客户端访问:

[root@localhost ~]# http://2.2.2.2/

2、在LVS 上查看:

[root@localhost ~]# ipvsadm -Lnc

[root@localhost ~]# ipvsadm -Ln


NAT模式相对于较简单的多↓↓

-----构建NAT 模式的LVS 群集-----

-----client---------LVS----------------WEB1-----------WEB2-----------NFS--------

2.2.2.100      eth0:2.2.2.1     192.168.1.10  192.168.1.20  192.168.1.200 

           eth1:192.168.1.1  

   

一、准备工作

1、添加模块

[root@localhost ~]# modprobe ip_vs

[root@localhost ~]# cat /proc/net/ip_vs


2、开启路由功能

[root@localhost ~]# vim /etc/sysctl.conf

修改:net.ipv4.ip_forward = 1    大约在第七行

[root@localhost ~]# sysctl -p


3、设置SNAT

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 2.2.2.1

4、安装ipvsadm 软件

[root@localhost ~]# rpm -ivh /挂载点/Packages/ipvsadm-1.26-2.el6.x86_64.rpm

二、设置负载调度器

1、设置负载分配策略

[root@localhost ~]# service ipvsadm stop

[root@localhost ~]# ipvsadm -A -t 2.2.2.1:80 -s rr

[root@localhost ~]# ipvsadm -a -t 2.2.2.1:80 -r 192.168.1.10:80 -m -w 1

[root@localhost ~]# ipvsadm -a -t 2.2.2.1:80 -r 192.168.1.20:80 -m -w 1

[root@localhost ~]# service ipvsadm save

[root@localhost ~]# chkconfig ipvsadm on

[root@localhost ~]# service ipvsadm start

三、设置节点服务器

1、配置web-1 服务器

[root@localhost ~]# echo "welcome to 192.168.1.10 web server" >

/var/www/html/index.html

[root@localhost ~]# service httpd restart

2、配置web-2 服务器

[root@localhost ~]# echo "welcome to 192.168.1.20 web server" >

/var/www/html/index.html

[root@localhost ~]# service httpd restart

四、客户端验证:

1、在客户端访问:

http://2.2.2.1/

2、在LVS 虚拟服务器查看:

[root@localhost ~]# ipvsadm -ln

[root@localhost ~]# ipvsadm -Lnc

五、配置NFS 服务器

1、配置NFS

[root@localhost ~]# mkdir /www

[root@localhost ~]# echo "welcome to XIN LANG web

server" >/www/index.html

[root@localhost ~]# vim /etc/exports

添加:

/www 192.168.1.10(rw) 192.168.1.20(ro)

[root@localhost ~]# service nfs restart

[root@localhost ~]# showmount -e

2、在WEB 服务器上配置:

[root@localhost ~]# showmount -e 192.168.1.200

[root@localhost ~]# mount 192.168.1.200:/www /var/www/html/

[root@localhost ~]# vim /etc/fstab

添加:

192.168.1.200:/www /var/www/html nfs defaults 0 0

3、验证:

1、在客户端访问:

http://2.2.2.1/

2、在LVS 虚拟服务器查看:

[root@localhost ~]# ipvsadm -ln

3、关闭一台WEB,在LVS 虚拟服务器查看:

[root@localhost ~]# ipvsadm -ln