LVS负载均衡群集(DR模式)
部署环境:
主机 |
操作系统 |
IP地址 |
LVS负载调度器 |
Centos 6.5 |
192.168.1.254 |
Web服务器-01节点 |
192.168.1.1 |
|
Web服务器-02节点 |
192.168.1.2 |
|
NFS |
192.168.1.100 |
|
公用地址:192.168.1.80 |
在DR模式的群集中,LVS负载调度器作为群集的访问入口,但不作为网关使用;服务器池中的所有节点都各自接入Internet,发送给客户端的Web响应数据包不需要经过LVS负载调度器。
##配置NFS
1)安装nfs-utils、recbind软件包
yum -y install nfs-utils recbind
chkconfig nfs on
chkconfig rpcbind on
2)设置共享目录
NFS的配置文件/etc/exports,文件内容默认为空(无任何共享)。在exports文件中设置共享资源时,记录格式为“目录位置” 客户端地址(权限选项)。
mkdir -p /opt/wwwroot
vim /etc/exports
/opt/wwwroot 192.168.1.0/24(rw,sync,no_root_squash)
3)启动NFS服务程序
service rpcbind start
service nfs start
netstat -anpt | grep rpcbind
vi / opt/wwwroot/index.html
Real Web Server Document
##配置负载调度器
1)加载ip_vs模块
modprobe ip_vs
cat /proc/net/ip_vs
2)配置虚拟IP地址(VIP)
采用虚拟接口的方式(eth0:0),为网卡eth0绑定VIP地址,以便响应群集访问。
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
vi ifcfg-eth0:0
ifup eth0:0
ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:1C:CC:69
inet addr:192.168.1.80 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
3)调整/proc响应参数
对于DR群集模式来说,由于LVS负载调度器和各节点需要公用VIP地址,应该关闭Linux内核的重定向参数响应。
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
sysctl -p
4)配置负载分配策略
yum -y install ipvsadm
service ipvsadm stop
ipvsadm -A -t 192.168.1.80:80 -s rr
ipvsadm -a -t 192.168.1.80:80 -r 192.168.1.1 -g -w 1
ipvsadm -a -t 192.168.1.80:80 -r 192.168.1.2 -g -w 1
service ipvsadm save
chkconfig ipvsadm on
##配置节点服务器
使用DR模式时,节点服务器也需要配置VIP地址,并调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免发生冲突。除此之外,Web服务的配置与NAT方式类似。
1)配置虚拟IP地址
在每个节点服务器上,同样需要具有VIP地址192.168.1.80,但此地址仅用作发送Web响应数据包的源地址,并不需要监听客户机的访问请求(改用调度器监听并分发)。因此使用虚拟接口lo:0来承载VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通信混乱。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.80
NETMASK=255.255.255.255
ONBOOT=yes
ifup lo:0
ifconfig lo:0
lo:0 Link encap:Local Loopback
inet addr:192.168.1.80 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
vim /etc/rc.local
route add -host 192.168.1.80 dev lo:0
2)调整/proc响应参数。
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
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
sysctl -p
3)安装httpd,创建测试网页。
yum -y install httpd
setenforce 0
mount 192.168.1.100:/opt/wwwroot /var/www/html/
##Web节点二也是相同的步骤
##测试LVS群集