Linux下羣集服務之LB集羣-lvs-nat模式

 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
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=10.106.6.254
GATEWAY=10.106.6.1

[root@junjie ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.1

[root@junjie ~]# service network restart

Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  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
eth0      Link encap:Ethernet  HWaddr 00:0C:29:66:E1:DA 
          inet addr:10.106.6.254  Bcast:10.106.6.255  Mask:255.255.255.0
 
[root@junjie ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:66:E1:E4 
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
 

[root@junjie ~]# hostname director.junjie.com  #註銷重新登錄

2.2  開啓director數據包轉發能力

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

  7 net.ipv4.ip_forward = 1

[root@director ~]# sysctl -p
net.ipv4.ip_forward = 1

2.3  配置本地yum服務器:

[root@director ~]# vim /etc/yum.repos.d/server.repo

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-cluster]

name=Red Hat Enterprise Linux cluster

baseurl=file:///mnt/cdrom/Cluster/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[root@director ~]#mkdir /mnt/cdrom

[root@director ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@director ~]#yum list all

2.4  安裝配置dircetor服務器:

[root@director ~]# yum install -y ipvsadm

[root@director ~]# ipvsadm -ln

IP 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 -ln

IP 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 save

Saving IPVS table to /etc/sysconfig/ipvsadm:               [  OK  ]

[root@director ~]# service ipvsadm start

Clearing the current IPVS table:                           [  OK  ]

Applying IPVS configuration:                               [  OK  ]

3.     配置real-server-1web服務器:

3.1 ip地址配置

[root@junjie ~]# hostname r1.junjie.com

註銷重新登錄

[root@r1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:1b:f1:ba
NETMASK=255.255.255.0
IPADDR=192.168.1.2
GATEWAY=192.168.1.1

[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/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[root@r1  ~]#mkdir /mnt/cdrom

[root@r1 ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@r1 ~]#yum list all

3.3  Real-server-1Web服務器:

[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 start

Starting 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-1web服務:(使用vmnet1

4.     配置real-server2web服務器:

4.1 ip地址配置

[root@junjie ~]# hostname r2.junjie.com
註銷重新登錄
[root@r2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:1b:f1:ba
NETMASK=255.255.255.0
IPADDR=192.168.1.3
GATEWAY=192.168.1.1

[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/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[root@r2 ~]#mkdir /mnt/cdrom

[root@r2 ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@r2 ~]#yum list all

4.3  Real-server-2Web服務器:

[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-2web服務:(使用vmnet1

5.     客戶端測試:wrr

5.1  客戶端訪問director的羣集服務服務:(網卡使用橋接模式)http//10.106.6.254

5.2 客戶端不斷刷新,發現出現2次web2,一次web1界面,說明按權重輪詢

5.3  在director上查看信息如下:輪詢調度比幾乎爲2:1

[root@director ~]# ipvsadm -ln

IP 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 -ln

IP 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 -ln

IP 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 -ln

IP 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章