O:\RHCA\群集_Cluster\Linux下群集服务之LB群集-lvs-nat模式.docx
<b>Linux</b><b>下群集服务之lvs在企业网络中的应用案例</b>
<b>案例应用拓扑图:</b>
<a href="http://blog.51cto.com/attachment/201205/083406420.png" target="_blank"></a>
<b>案例应用实现详细步骤如下:</b>
<b>1. </b><b>Client-pc</b><b>客户端配置</b>
<a href="http://blog.51cto.com/attachment/201205/083415976.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201205/083423567.png" target="_blank"></a>
<b>2. Director</b><b>服务器配置</b>
<b>2.1 Director</b><b>服务器</b><b>ip</b><b>地址配置</b>
<b>[root@junjie ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0</b>
<b>DEVICE=eth0</b>
<b>BOOTPROTO=none</b>
<b>ONBOOT=yes</b>
<b>NETMASK=255.255.255.0</b>
<b>IPADDR=10.106.6.254</b>
<b>GATEWAY=10.106.6.1</b>
<b>[root@junjie ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1</b>
<b>DEVICE=eth1</b>
<b>IPADDR=192.168.1.1</b>
<b>[root@junjie ~]# service network restart</b>
<b>Shutting down interface eth0: [ OK ]</b>
<b>Shutting down interface eth1: [ OK ]</b>
<b>Shutting down loopback interface: [ OK ]</b>
<b>Bringing up loopback interface: [ OK ]</b>
<b>Bringing up interface eth0: [ OK ]</b>
<b>Bringing up interface eth1: [ OK ]</b>
<b>[root@junjie ~]# ifconfig eth0</b>
<b>eth0 Link encap:Ethernet HWaddr 00:0C:29:66:E1:DA </b>
<b> inet addr:10.106.6.254 Bcast:10.106.6.255 Mask:255.255.255.0</b>
<b> </b>
<b>[root@junjie ~]# ifconfig eth1</b>
<b>eth1 Link encap:Ethernet HWaddr 00:0C:29:66:E1:E4 </b>
<b> inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0</b>
<b>[root@junjie ~]# hostname director.junjie.com #</b><b>注销重新登录</b>
<b>2.2 </b><b>开启</b><b>director</b><b>数据包转发能力</b>
<b>[root@director ~]# vim /etc/sysctl.conf</b>
<b> 7 net.ipv4.ip_forward = 1</b>
<b>[root@director ~]# sysctl -p</b>
<b>net.ipv4.ip_forward = 1</b>
<b>2.3 </b><b>配置本地</b><b>yum</b><b>服务器:</b>
<b>[root@director ~]# vim /etc/yum.repos.d/server.repo</b>
<b>[rhel-server]</b>
<b>name=Red Hat Enterprise Linux server</b>
<b>baseurl=file:///mnt/cdrom/Server/</b>
<b>enabled=1</b>
<b>gpgcheck=1</b>
<b>gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release</b>
<b>[rhel-cluster]</b>
<b>name=Red Hat Enterprise Linux cluster</b>
<b>baseurl=file:///mnt/cdrom/Cluster/</b>
<b>[root@director ~]#mkdir /mnt/cdrom</b>
<b>[root@director ~]# mount /dev/cdrom /mnt/cdrom/</b>
<b>mount: block device /dev/cdrom is write-protected, mounting read-only</b>
<b>[root@director ~]#yum list all</b>
<b>2.4 </b><b>安装配置</b><b>dircetor</b><b>服务器:</b>
<b>[root@director ~]# yum install -y ipvsadm</b>
<b>[root@director ~]# ipvsadm -ln</b>
<b>IP Virtual Server version 1.2.1 (size=4096)</b>
<b>Prot LocalAddress:Port Scheduler Flags</b>
<b> -> RemoteAddress:Port Forward Weight ActiveConn InActConn</b>
<b>[root@director ~]# ipvsadm -A -t 10.106.6.254:80 -s wrr</b>
<b>[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.2 -m -w 1</b>
<b>[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.3 -m -w 2</b>
<b>TCP 10.106.6.254:80 wrr</b>
<b> -> 192.168.1.3:80 Masq 2 0 0 </b>
<b> -> 192.168.1.2:80 Masq 1 0 0</b>
<a href="http://blog.51cto.com/attachment/201205/083444840.png" target="_blank"></a>
<b>[root@director ~]# service ipvsadm save</b>
<b>Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]</b>
<b>[root@director ~]# service ipvsadm start</b>
<b>Clearing the current IPVS table: [ OK ]</b>
<b>Applying IPVS configuration: [ OK ]</b>
<b>3. </b><b>配置</b><b>real-server-1</b><b>的</b><b>web</b><b>服务器:</b>
<b>3.1 ip</b><b>地址配置</b>
<b>[root@junjie ~]# hostname r1.junjie.com</b>
<b>注销重新登录</b>
<b>[root@r1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0</b>
<b>HWADDR=00:0c:29:1b:f1:ba</b>
<b>IPADDR=192.168.1.2</b>
<b>GATEWAY=192.168.1.1</b>
<b>[root@r1 ~]# service network restart</b>
<b>Bringing up interface eth0: [ OK ]</b>
<b>3.2 </b><b>配置本地</b><b>yum</b><b>服务器:</b>
<b>[root@r1 ~]# vim /etc/yum.repos.d/server.repo</b>
<b>[root@</b><b>r1</b> <b> ~]#mkdir /mnt/cdrom</b>
<b>[root@r1 ~]# mount /dev/cdrom /mnt/cdrom/</b>
<b>[root@r1 ~]#yum list all</b>
<b>3.3 Real-server-1</b><b>的</b><b>Web</b><b>服务器:</b>
<b>[root@r1 ~]# rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm</b>
<b>warning: /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186</b>
<b>Preparing... #################################### [100%]</b>
<b>1:httpd ########################################### [100%]</b>
<b>[root@r1 ~]#echo "web1" > /var/www/html/index.html</b>
<b>[root@r1 ~]# service httpd start</b>
<b>Starting httpd: httpd: apr_sockaddr_info_get() failed for r1.junjie.com</b>
<b>httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName</b>
<b> [ OK ]</b>
<b>3.4 </b><b>客户端访问</b><b>real-server-1</b><b>的</b><b>web</b><b>服务</b><b>:(使用</b><b>vmnet1</b><b>)</b>
<a href="http://blog.51cto.com/attachment/201205/083505763.png" target="_blank"></a>
<b>4. </b><b>配置</b><b>real-server2</b><b>的</b><b>web</b><b>服务器:</b>
<b>4.1 ip</b><b>地址配置</b>
<b>[root@junjie ~]# hostname r2.junjie.com</b>
<b>[root@r2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0</b>
<b>IPADDR=192.168.1.3</b>
<b>[root@r2 ~]# service network restart</b>
<b>4.2 </b><b>配置本地</b><b>yum</b><b>服务器:</b>
<b>[root@r2 ~]# vim /etc/yum.repos.d/server.repo</b>
<b>[root@r2 ~]#mkdir /mnt/cdrom</b>
<b>[root@r2 ~]# mount /dev/cdrom /mnt/cdrom/</b>
<b>[root@r2 ~]#yum list all</b>
<b>4.3 Real-server-2</b><b>的</b><b>Web</b><b>服务器:</b>
<b>[root@r2 ~]# rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm</b>
<b>[root@r2 ~]#echo "web2" > /var/www/html/index.html</b>
<b>[root@r2 ~]# service httpd start</b>
<b>Starting httpd: httpd: apr_sockaddr_info_get() failed for r2.junjie.vom</b>
<b> [ OK ]</b>
<b>4.4 </b><b>客户端访问</b><b>real-server-2</b><b>的</b><b>web</b><b>服务</b><b>:(使用</b><b>vmnet1</b><b>)</b>
<a href="http://blog.51cto.com/attachment/201205/083516683.png" target="_blank"></a>
<b>5. </b><b>客户端测试:</b><b>wrr</b>
<b>5.1 </b><b>客户端访问</b><b>director</b><b>的群集服务服务</b><b>:(网卡使用桥接模式)</b><b>http</b><b>:</b><b>//10.106.6.254</b>
<a href="http://blog.51cto.com/attachment/201205/083527711.png" target="_blank"></a>
<b>5.2 </b><b>客户端不断刷新</b>,发现出现2次web2,一次web1界面,说明按权重轮询
<a href="http://blog.51cto.com/attachment/201205/083536369.png" target="_blank"></a>
<b>5.3 </b><b>在director上查看信息如下</b>:轮询调度比几乎为2:1
<b> -> 192.168.1.2:80 Masq 1 0 12 </b>
<b> -> 192.168.1.3:80 Masq 2 0 24</b>
<b>5.4 </b><b>客户端测试-2:rr</b>
<b>[root@director ~]# ipvsadm –C #</b><b>首先清空以前配置</b>
<b>[root@director ~]# ipvsadm -A -t 10.106.6.254:80 -s rr</b>
<b>[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.2 -m</b>
<b>[root@director ~]# ipvsadm -a -t 10.106.6.254:80 -r 192.168.1.3 –m</b>
<b>TCP 10.106.6.254:80 rr</b>
<b> -> 192.168.1.3:80 Masq 1 0 0 </b>
<b>[root@director ~]# service ipvsadm save</b>
<b>[root@director ~]# service ipvsadm restart</b>
<b>客户端访问</b><b>director</b><b>的群集服务服务:(网卡使用桥接模式)</b><b>http</b><b>:</b><b>//10.106.6.254</b>
<a href="http://blog.51cto.com/attachment/201205/083551261.png" target="_blank"></a>
客户端不断刷新,发现web2和web1交替出现,比率为1:1,说明依次轮询rr
<a href="http://blog.51cto.com/attachment/201205/083605621.png" target="_blank"></a>
在director上查看信息如下:轮询调度比几乎为1:1;
说明lvs调度方法是用的是RR模式
<b> -> 192.168.1.2:80 Masq 1 0 15 </b>
<b> -> 192.168.1.3:80 Masq 1 0 15</b>
<b>《完》</b>
关于Linux下集群服务简介和lvs的详解请参看我的博客:
<a href="http://xjzhujunjie.blog.51cto.com/3582724/850650">http://xjzhujunjie.blog.51cto.com/3582724/850650</a>
本文转自xjzhujunjie 51CTO博客,原文链接:http://blog.51cto.com/xjzhujunjie/850866