Director和各RS都得配置使用VIP;
DR模型注意內容:
1、前端路由器將目標IP為VIP的請求報文發往Director
有以下三種方法實現:
arp_announce 限制通告級別
2、RS的RIP可以使用私網地址,也可以是公網地址;RIP與DIP在同一IP網絡;RIP的網關不能指向DIP,以確保響應報文不會經由Director;
3、同時RS跟Director要在同一個物理網絡;
4、請求報文要經由Director,但響應不能經由Director,而是由RS直接發往Client;
5、不支持端口映射;
大致拓撲圖如下:
工作流程:
客戶端發送對VIP的請求,通過網絡路由和交換機,將請求發送到Director,Director接受請求,經過負載均衡算法選取一臺RS,將RIP所在的網卡的MAC地址作為目標MAC,在局域網中進行ARP廣播,指定的RS收到請求,進行解析,之后將響應直接回饋給Client,不經過Director。
實驗,負載均衡wordpress:
準備: VIP : 172.16.0.66
Director: 172.16.251.73
RS1: 172.16.252.137
RS2: 172.16.253.202
RS1、2中:
先搭建amp環境:yum install -y httpd php php-mysql php-mbstring php-mcrypt mariadb-server(最好rs共享mysql和使用分布式共享其他資源,使得訪問的數據相同,在這里先不考慮,詳情可查看之前的博客)
配置數據庫:
vim /etc/my.cnf.d/server.cnf
systemctl start mariadb.service
mysql_secure_installation 加強數據庫安全性,為數據庫設置管理員密碼,并設定不可匿名訪問。
mysql -u root -p password 登錄數據庫創建,名為wordpress的數據庫
CREATE DATABASE wordpress;
編輯wordpress配置文件:
cp wp-config-sample.php wp-config.php
vim wp-config.php
chmod -R a+w wordpress/
配置httpd:
在/var/www/html/下創建wordpress的軟連接 ln -s 源文件 目標文件
vim /etc/httpd/conf.d/test.conf 根據需要進行配置
啟動httpd服務 systemctl start httpd.service
配置RS網卡:ifconfig lo:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up
Directory上:
ifconfig ens33:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up
yum install -y ipvsadm
ipvsadm -A -t 172.16.0.66:80 -s rr
ipvsadm -a -t 172.16.0.66:80 -r 172.16.252.137 -g
ipvsadm -a -t 172.16.0.66:80 -r 172.16.253.202 -g
測試:
在另外一臺172.16網域內的主機上
在RS主機中 tail /var/log/httpd/access_log
原創文章,作者:Immortals、zcy,如若轉載,請注明出處:http://www.www58058.com/78732