部署LVS-NAT群集
案例环境
LVS调度器作为Web服务器池的网关,LVS两块网卡,分别连接内外网,外网地址172.16.16.172、24,同时也作为整个群集的VIP,内网地址为192.168.7.21-24/24,是节点服务器,192.168.7.250/24是NFS共享存储,使用轮询(rr)调度算法。在存储服务器安装NFS服务,共享目录为/var/www/html。客户端挂载使用。
部署步骤:
一、准备工作
1、添加模块
lvs是写在内核的模块:
[root@localhost ~]# vi /boot/config-2.6.32-431.e16.x86_64 #查看内核里是否有这个模块,后面有=y就是已经加载了要是=m就是按需加载的意思 [root@localhost ~]# modprobe ip_vs #添加模块 [root@localhost ~]# cat /proc/net/ip_vs #查看模块信息
2、开启路由功能(因为负载调度器上有两个不同网段的网址)
[root@localhost ~]# vim /etc/sysctl.conf [root@localhost ~]# sysctl -p
3、设置SNAT(因为nat模式所有节点回应包需要走director)
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j SNAT --to-source 172.16.16.172 [root@localhost ~]# service iptables save
4、安装ipvsadm软件lvs管理工具
[root@localhost ~]# rpm -ivh /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm
二、设置负载调度器
[root@localhost ~]# service ipvsadm start [root@localhost ~]# ipvsadm -A -t 172.16.16.172:80 -s rr #添加虚拟director的vip地址,轮询的调度算法 [root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 1 #添加rip,-m代表nat模式,-w代表权重,-wrr是加权轮询 [root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m -w 2 [root@localhost ~]# ipvsadm -L -n #查询配置 [root@localhost ~]# service ipvsadm save [root@localhost ~]# chkconfig ipvsadm on [root@localhost ~]# ipvsadm -E -t 172.16.16.172:80 -s wrr #意思为修改成加权轮询
三、设置节点服务器(可选,如果要测试rr算法,可以不挂存储,在两台服务器上放入不同测试页看效果)
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、在客户端访问:
[root@localhost ~]# firefox http://172.16.16.172/
2、在LVS虚拟服务器查看:
[root@localhost ~]# ipvsadm -Lnc
注:Masq代表rr模式,Weight代表权重,InActCoon代表连接数(和权重挂钩)
五、ipvsadm相关选项
-A 添加虚拟服务器
-a 添加真实服务器
-d 删除某一个节点
-t 指定VIP地址及TCP端口
-s 指定负载调度算法
-m NAT群集模式
-g DR群集模式
-i TUN模式
-w 设置权重(权重为0时表示暂停节点)