LVS-DR搭建的兩種方法
注意事項:
此時的LVS服務只有一個網卡;
路由的IP_FORWARD轉發功能必須開啓 ;
客戶端訪問,網關必須指定;
VS服務必須配置網關,若不配置網關,客戶端將無法訪問;
LVS、RS服務必須保持同一網段,中間不可添加路由器。
方法一:VIP 與RIP、DIP不在同一虛擬網段
1. Client客戶端
1) 配置網關
[root@centos7 ~]#route add default gw 192.168.10.49 dev ens37
2)查看網關是否配置好
[root@centos7 ~]#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.49 0.0.0.0 UG 0 0 0 ens37
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens37
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
2. Route路由器
1)準備兩個網卡並設定好IP
ens33 192.168.10.49/24
ens37 192.168.1.106/24
2)在網卡ens33再綁定一個IP能訪問公網VIP
[root@centos7 ~]# ifconfig ens33:1 10.10.0.20
link/ether 00:0c:29:ed:81:c3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.106/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 10.10.0.20/8 brd 10.255.255.255 scope global ens33:1
3)開啓路由的ip_forward轉發功能,此項不開啓客戶端將無法訪問,參數設爲1
[root@centos7 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
3. RS1服務端
1)安裝測試服務器httpd,默認80端口
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# echo www.google.com > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
2)準備好一個與LVS同一物理網段的局域網卡ens33,不可有其他網段網卡避免網關衝突
ens33 192.168.1.110
3)設置網關
[root@localhost ~]# route add default gw 192.168.1.106
4)編輯腳本自動綁定VIP公網,綁定在迴環網卡
[root@localhost ~]# vim /data/shell.sh/lvs_dr_rs.sh
5)執行腳本完成VIP的綁定
~]# bash /data/shell.sh/lvs_dr_rs.sh start
4. RS2服務端
1)安裝測試服務器httpd,默認80端口
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# echo www.china.gov.com > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
2)準備好一個與LVS同一物理網段的局域網卡ens33,不可有其他網段網卡避免網關衝突
ens33 192.168.1.101
3)設置網關
[root@localhost ~]# route add default gw 192.168.1.106
4)編輯腳本自動綁定VIP公網,綁定在迴環網卡,編輯腳本內容與第三步相同,直接複製並執行
[root@localhost ~]# bash /data/shell.sh/lvs_dr_rs.sh start
5. LVS調度服務器
1)準備一個網卡並設定好IP
ens33 192.168.1.107/24
2)指向默認網關爲路由器的R2口
[root@centos7 ~]#route add default gw 192.168.1.106
3)編寫腳本實現創建集羣調度環境
[root@centos7 ~]#vim /data/shell.sh/lvs_dr_vs.sh
#!/bin/bash
vip='10.10.0.10' #公網VIP
iface='lo:1' #綁定值本機迴環網卡
mask='255.255.255.255' #獨立的網絡
port='80'
rs1='192.168.1.101' #rs1服務
rs2='192.168.1.110' #rs2服務
scheduler='wrr' #權重輪詢算法
type='-g' #工作模式爲DR模式
rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null #判斷是否安裝ipvsadm
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler #創建調度集羣環境
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1 #添加rs1服務到調度集羣環境
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1 #添加rs2服務到調度集羣環境
echo "The VS Server is Ready!"
;;
stop)
ipvsadm -C
ifconfig $iface down
echo "The VS Server is Canceled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
4)執行腳本完成lvs的環境搭建
[root@centos7 ~]# bash /data/shell.sh/lvs_dr_vs.sh start
6. 在Client客戶端進行訪問測試,設置調度爲權重輪詢訪問
[root@centos7 ~]# while true;do curl 10.10.0.10;sleep 1;done
方法二. VIP 與RIP、DIP都在在同一網段
1.Client客戶端
1)配置默認網關爲路由Route的R1口IP
[root@centos7 ~]#route del default gw 192.168.10.1 dev ens37
2.路由Route
1)開啓路由的轉發功能ip_forward,參數設置爲1
[root@centos7 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
3.RS1服務端
1)將VIP綁定至迴環網卡
[root@localhost ~]# ifconfig lo:1 192.168.1.119/32
2)指定默認網關至路由Route的R2口IP
[root@localhost ~]# route add default gw 192.168.1.108 dev ens33
3)開啓httpd測試服務
[root@localhost ~]# systemctl start httpd
4.RS2服務端
1)將VIP綁定至迴環網卡
[root@localhost ~]# ifconfig lo:1 192.168.1.119/32
2)指定默認網關至路由Route的R2口IP
[root@localhost ~]# route add default gw 192.168.1.108 dev ens33
3)開啓httpd測試服務
[root@localhost ~]# systemctl start httpd
5.LVS調度服務
1)將VIP綁定至迴環網卡
[root@localhost ~]# ifconfig lo:1 192.168.1.119/32
2)指定默認網關至路由Route的R2口IP
[root@localhost ~]# route add default gw 192.168.1.108 dev ens33
3)搭建集羣調度環境,算法設爲權重WLC
[root@centos7 ~]#ipvsadm -A -t 192.168.1.119:80 -s wlc
4)將RS1與RS2添加至集羣環境並配置權重
[root@centos7 ~]#ipvsadm -a -t 192.168.1.119:80 -r 192.168.1.110 -w 3
[root@centos7 ~]#ipvsadm -a -t 192.168.1.119:80 -r 192.168.1.101 -w 1
6. 在客戶端進行訪問測試
[root@centos7 ~]#while true;do curl 192.168.1.119;sleep 1;done