1.使用NAT模型的TCP協定類型的lvs服務負載均衡一個php應用,如Discuz!論壇或者phpMyAdmin;
NAT模型的lvs叢集的建構是基于網絡位址轉換進行的;是以首先必須要有至少三台主機,配置其IP位址;
①
Directory主機:
172.16.72.5(面向外網IP)
192.168.72.5(面向内網RS的IP)
RS1主機:
192.168.72.6(RIP1)
設定預設網關:
RS2主機:
192.168.72.7(RIP2)
配置RS主機通往Directory的網關,為什麼添加網關,詳情請看上一篇部落格!
②在三台主機上安裝httpd服務
yum -y install httpd
配置RS1的虛拟主機
配置RS2的虛拟主機
安裝RS的php-fpm與mariadb-server服務
yum -y install php-fpm mariadb-server
對php-fpm的配置檔案進行修改,修改為監聽本機(預設就是監聽本機的,剛下載下傳的朋友可以不用改了)
③設定Directory
首先檢查一下Directory主機是否加載IPVS的核心子產品
有則已加載
下載下傳lvs的使用者空間指令ipvsadm,用于設定ipvs的規則指令
yum install -y ipvsadm
設定叢集服務規則:
-t:表示tcp服務;後面的IP位址與端口表示的是這次叢集Directory的VIP與相關服務端口;
-s:表示使用的算法,這裡算法表示為rr算法,算法詳情請見上一篇部落格;
-p:設定長連接配接,不設定無法正常啟動;
添加RS管理規則:
-r:為指定的RIP;
最後設定核心轉發功能,否則Directory無法轉發
将phpMyAdmin導入兩台RS主機中,解壓;
配置MySQL表與表對應的使用者權限
RS1:
RS2:
配置php-fpm:
建立其session目錄,存放會話,并将其屬主屬組更改為apache
通過用戶端通路:
因為是rr算法,,從第一台RS通路,是以其使用者密碼為wjq,123456
經過一段時間的長連接配接再次通路:
2.使用DR模型的FWM類型的lvs服務負載均衡一個php應用,如Discuz!論壇或者phpMyAdmin;
DR模型的原理上篇部落格已經講得很清楚了,在這裡就不多說了;
首先配置DR排程器:
因為DR模型的直連路由架構,是以DR排程器的VIP與DIP在同一個端口,在這裡将VIP作為從接口,将DIP作為主接口,友善後續解決單點故障;
VIP的配置方式:
ifconfig eno16777736:0 172.16.72.5 netmask 255.255.255.255 broadcast 172.16.72.5 up
設定FWH規則:
規則模式同ipvs相似,不同在于其需要在封包進入核心空間後設定防火牆标簽,然後由設定的FWH規則根據其标簽确定使用哪個叢集服務,使用哪種算法發往哪台RS;
設定防火牆标簽需在mangle表的PREROUTING鍊上設定;
#iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 172.16.72.5 -j MARK --set-mark 10
注意:目标IP設定為VIP的,--set-mark設定的為防火牆标簽,設定的值随意,80端口則為通路VIP的的那個端口服務;
設定基于FWH的叢集服務:
#ipvsadm -A -f 10 -s rr
最後設定核心轉發功能!!
DR模型的排程器配置完畢!
配置RS:
首先需要配置一個與DIP同網段的RIP,并将其arp_ignore與arp_announce設定為1與2
arp_ignore常用的三種等級:
0:預設值,對于任何網絡的通路都會回應;
1:對不是通路本網絡接口的封包不予以回應;
2:對不是通路本網絡接口的保溫不予以回應,并且保證來訪IP位址與該接口的IP位址在同一子 網;
注意:一般用的是1這個級别;
arp_announce常用的三種級别:
0:預設值,将本機所有接口的資訊向所有接口所連接配接的網絡中通告;
1:盡量避免向本接口不同網絡中的其他接口通告;
2:絕對避免向非本網絡的主機通告;
設定方式:在/proc/sys/net/ipv4/conf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce
/proc/sys/net/ipv4/conf/lo/arp_ignore
/proc/sys/net/ipv4/conf/lo/arp_announce
使用輸出重定向的方式寫入
如echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
配置RS的VIP,再環回接口的标簽上配置
如:
配置方法:#ifconfig lo:0 172.16.72.5 netmask 255.255.255.255 broadcast 172.16.72.5 up
第二台RS配置方法同上;
将phpMyAdmin壓縮包導入/var/www/html中,解壓,配置php-fpm(同nat模型的配置一樣),配置 Mariadb(同nat模型配置一樣)
直接通路:
通路第一次,因為使用的是rr算法
經過了一段時間的持久連接配接,再次通路時:
本文轉自 wujunqi1996 51CTO部落格,原文連結:http://blog.51cto.com/12480612/1974885