羣集列表
html
LB:192.168.4.4linux
RIP1:192.168.4.5web
RIP2:192.168.4.6算法
RIP3:192.168.4.7vim
NFS:192.168.4.8瀏覽器
LB集羣的管理工做包括bash
1. 建立虛擬服務器服務器
2. 添加服務器節點tcp
3. 查看集羣節點ide
4. 刪除集羣節點
5. 保存負載分配策略
[root@LB ~]# vim /opt/vip.sh
#!/bin/bash
VIP=192.168.4.100
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
[root@LB ~]# chmod +x /opt/vip.sh
[root@LB ~]# echo "/opt/vip.sh" >> /etc/rc.local
[root@LB ~]# sh /opt/vip.sh
[root@LB ~]# yum -y install ipvsadm
[root@LB ~]# ipvsadm -v
ipvsadm v1.26 2008/5/15 (compiled with popt and IPVS v1.2.1)
[root@LB ~]# lsmod | grep ip_vs
ip_vs 125220 0
libcrc32c 1246 1 ip_vs
ipv6 317340 272 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
[root@LB ~]# ipvsadm -A -t 192.168.4.100:80 -s rr
[root@LB ~]# ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.5:80 -g -w 1
[root@LB ~]# ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.6:80 -g -w 1
[root@LB ~]# ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.7:80 -g -w 1
-A 表示添加虛擬服務器
-t 用來指定VIP地址及TCP端口
-s 用來指定負載調度算法——輪詢(rr)、加權輪詢(wrr)、最少鏈接(lc)、加權最少鏈接(wlc)。
-a 表示添加服務器
-t 用來指定VIP地址及TCP端口
-r 用來指定RIP地址及TCP端口
-m 表示使用NAT羣集模式(-g DR模式、-I TUN模式)
-w 用來設置權後重(權重爲0時表示暫停節點)。
[root@LB ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.4.100:80 rr
-> 192.168.4.5:80 Masq 1 0 0
-> 192.168.4.6:80 Masq 1 0 0
-> 192.168.4.7:80 Masq 1 0 0
(此後步驟爲測試,不用作)
[root@LB ~]# ipvsadm -d -r 192.168.4.5:80 -t 192.168.4.100:80
[root@LB ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.4.100:80 rr
-> 192.168.4.6:80 Masq 1 0 0
-> 192.168.4.7:80 Masq 1 0 0
[root@LB ~]# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
[root@LB ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.4.100:80 -s rr
-a -t 192.168.4.100:80 -r 192.168.4.5:80 -g -w 1
-a -t 192.168.4.100:80 -r 192.168.4.6:80 -g -w 1
-a -t 192.168.4.100:80 -r 192.168.4.7:80 -g -w 1
提供服務的RIP不須要安裝任何IPVS 軟件,只須要開機運行腳本
[root@RIP1 opt]# vim /opt/LB-dr.sh
#!/bin/bash
VIP="192.168.4.100"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
arp_ignore=1,系統只回答目的IP爲是本地IP的包。也就是對廣播包不作響應。
arp_announce=2,系統忽略IP包的源地址(source address),而根據目標主機(target host),選擇本地地址。
[root@RIP1 opt]# chmod +x LB-dr.sh
[root@RIP1 opt]# sh LB-dr.sh
[root@RIP1 opt]# ip a
傳到其餘兩個RIP
[root@RIP1 opt]# scp LB-dr.sh 192.168.4.6:/opt/
[root@RIP1 opt]# scp LB-dr.sh 192.168.4.7:/opt/
yum安裝,略。。。 注意關掉防火牆和selinux
[root@NFS ~]# yum -y install nfs-utils rpcbind
[root@NFS ~]# chkconfig nfs on
[root@NFS ~]# chkconfig rpcbind on
[root@NFS ~]# mkdir -p /opt/wwwroot
[root@NFS ~]# vim /etc/exports
/opt/wwwroot 192.168.4.0/24(rw,sync,no_root_squash)
rw 表示:讀寫
sync:表示同步寫入
no_root_suash:表示當客戶機以root身份訪問時,賦予本地root權限。
ro:表示只讀
[root@NFS ~]# service rpcbind start
Starting rpcbind: [ OK ]
[root@NFS ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@NFS ~]# netstat -antp |grep rpcbind
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2030/rpcbind
tcp 0 0 :::111 :::* LISTEN 2030/rpcbind
查看本機發布的服務
[root@NFS ~]# showmount -e localhost
Export list for localhost:
/opt/wwwroot 192.168.4.0/24
[root@NFS ~]# echo "www.calabash.com" >/opt/wwwroot/index.html
[root@RIP1 ~]# yum -y install nfs-utils rpcbind
[root@RIP1 ~]# showmount -e 192.168.4.8
Export list for 192.168.4.8:
/opt/wwwroot 192.168.4.0/24
[root@RIP1 ~]# mount 192.168.4.8:/opt/wwwroot /var/www/html/
三個客戶機操做都同樣
驗證:
在瀏覽器輸入vip地址192.168.4.100,多刷新幾回
[root@LB ~]# ipvsadm –Lnc