分类: LINUX
2012-07-05 16:21:53
O:\RHCA\群集_Cluster\Linux下群集服务之LB群集-lvs-nat模式.docx
Linux下群集服务之lvs在企业网络中的应用案例
案例应用拓扑图:
案例应用实现详细步骤如下:
1. Client-pc客户端配置
2. Director服务器配置
2.1 Director服务器ip地址配置
[root@junjie ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0[root@junjie ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1[root@junjie ~]# service network restart
Shutting down interface eth0: [ OK ]Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]Bringing up interface eth1: [ OK ]
[root@junjie ~]# ifconfig eth0[root@junjie ~]# hostname director.junjie.com #注销重新登录
2.2 开启director数据包转发能力
[root@director ~]# vim /etc/sysctl.conf
7 net.ipv4.ip_forward = 1
[root@director ~]# sysctl -p2.3 配置本地yum服务器:
[root@director ~]# vim /etc/yum.repos.d/server.repo
[rhel-server]name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server/name=Red Hat Enterprise Linux cluster
baseurl=file:///mnt/cdrom/Cluster/[root@director ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@director ~]#yum list all2.4 安装配置dircetor服务器:
[root@director ~]# yum install -y ipvsadm
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@director ~]# ipvsadm -A -t 10.106.6.254:80 -s wrr
[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.2 -m -w 1
[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.3 -m -w 2
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.106.6.254:80 wrr-> 192.168.1.3:80 Masq 2 0 0
-> 192.168.1.2:80 Masq 1 0 0
[root@director ~]# service ipvsadm saveSaving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
[root@director ~]# service ipvsadm startClearing the current IPVS table: [ OK ]
Applying IPVS configuration: [ OK ]3. 配置real-server-1的web服务器:
3.1 ip地址配置
[root@junjie ~]# hostname r1.junjie.com
注销重新登录[root@r1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0[root@r1 ~]# service network restart
Shutting down interface eth0: [ OK ]Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
3.2 配置本地yum服务器:
[root@r1 ~]# vim /etc/yum.repos.d/server.repo
[rhel-server]name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server/[root@r1 ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@r1 ~]#yum list all3.3 Real-server-1的Web服务器:
[root@r1 ~]# rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm
warning: /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... #################################### [100%]
1:httpd ########################################### [100%]
[root@r1 ~]#echo "web1" > /var/www/html/index.html
[root@r1 ~]# service httpd startStarting httpd: httpd: apr_sockaddr_info_get() failed for r1.junjie.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
3.4 客户端访问real-server-1的web服务:(使用vmnet1)
4. 配置real-server2的web服务器:
4.1 ip地址配置
[root@junjie ~]# hostname r2.junjie.com[root@r2 ~]# service network restart
Shutting down interface eth0: [ OK ]Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]4.2 配置本地yum服务器:
[root@r2 ~]# vim /etc/yum.repos.d/server.repo
[rhel-server]name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server/[root@r2 ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@r2 ~]#yum list all4.3 Real-server-2的Web服务器:
[root@r2 ~]# rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm
warning: /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... #################################### [100%]
1:httpd ########################################### [100%]
[root@r2 ~]#echo "web2" > /var/www/html/index.html
[root@r2 ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for r2.junjie.vom
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
4.4 客户端访问real-server-2的web服务:(使用vmnet1)
5. 客户端测试:wrr
5.1 客户端访问director的群集服务服务:(网卡使用桥接模式)http://10.106.6.254
5.2 客户端不断刷新,发现出现2次web2,一次web1界面,说明按权重轮询
5.3 在director上查看信息如下:轮询调度比几乎为2:1
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.106.6.254:80 wrr-> 192.168.1.2:80 Masq 1 0 12
-> 192.168.1.3:80 Masq 2 0 24
5.4 客户端测试-2:rr
[root@director ~]# ipvsadm –C #首先清空以前配置
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@director ~]# ipvsadm -A -t 10.106.6.254:80 -s rr[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.2 -m
[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.3 –m
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.106.6.254:80 rr-> 192.168.1.3:80 Masq 1 0 0
-> 192.168.1.2:80 Masq 1 0 0
[root@director ~]# service ipvsadm save
Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
[root@director ~]# service ipvsadm restart
Clearing the current IPVS table: [ OK ]
Applying IPVS configuration: [ OK ]客户端访问director的群集服务服务:(网卡使用桥接模式)http://10.106.6.254
客户端不断刷新,发现web2和web1交替出现,比率为1:1,说明依次轮询rr
在director上查看信息如下:轮询调度比几乎为1:1;
说明lvs调度方法是用的是RR模式
[root@director ~]# ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.106.6.254:80 rr-> 192.168.1.2:80 Masq 1 0 15
-> 192.168.1.3:80 Masq 1 0 15
《完》
关于Linux下集群服务简介和lvs的详解请参看我的博客:
http://xjzhujunjie.blog.51cto.com/3582724/850650
--xjzhujunjie
--2012/05/03