7月4日任務

18.6 負載均衡集羣介紹
18.7 LVS介紹
18.8 LVS調度算法

18.9/18.10 LVS NAT模式搭建


本質區別在於網絡OSI模型不同,LVS屬於4層,nginx屬於7層

LVS介紹


LVS: NAT/DR/IP Tunnel三種模式,核心角色load Balancer(分發器),處理用戶請求Real Server(簡稱rs)

NAT模式


IP TUNNEL模式


DR模式


LVS調度算法


LVS NAT模式搭建

要組成一個dr(director)和兩個rs(Real Server)的架構進行測試,其中01機器作爲交互內網和外網的VIP需要有兩塊網卡

如下圖先把機器二的克隆,重命名爲03,不重啓需要進入一個子shell(bash),修改03機器的IP地址,vim /etc/sysconfig/network-scripts/ifcfg-eno16777736,修改IP爲192.168.242.130,重啓網卡 systemctl restart network,ifconfig如下圖所示


遠程連接Xshell設置


修改字體並遠程登錄成功如下圖


修改01機器上的另外一張網卡IP信息,如下圖網卡網段爲52,所以在該網卡配置文件中設置成52.147


修改IP,無需設置網關,ifup 網卡, 在windows上的dos界面查看外網是否能ping通它


修改成功後ifdown 網卡,ifup 網卡名,ip addr/if config查看ip,並測試是否能ping通


測試成功


建議yum安裝iptables-services,啓動後並drop iptables規則(即調用一個空的iptables規則,爲防止影響實驗數據)


安裝成功後發現 systemctl start iptables-services顯示unit not found


rpm -ql iptables-services查看到底有哪些安裝文件


輸入systemctl start iptables;並iptables -nvL查看iptables規則生效

 iptables -F清空;service iptables save(調用空的iptables規則)


查看各臺機器上的防火牆selinux,修改配置文件爲disabled(vi /etc/selinux/config中);setenforce 0臨時立即生效爲Permissive


01機器作爲分發器需要把rs1和rs2的網關設置成01分發器的IP(即修改後無法與外界通信,只能和01分發器通信)



重啓網卡


監測網關 route -n


準備工作完畢,NAT測試:

①在dir上安裝ipvsadm(實現LVS的重要工具,和iptables類似)


②在dir上編寫腳本,vim /usr/local/sbin/lvs_nat.sh


③執行腳本 sh  /usr/local/sbin/lvs_nat.sh


無報錯信息,說明腳本執行成功


把02.03的rs服務器主頁都做一些修改方便測試信息的提取,如下圖(因爲是克隆機,所以02,03的nginx服務都在該路徑下,修改index.html分別爲liut02,liut03)


如下圖,啓動02,03的nginx,查看80端口是否監聽,curl localhost測試


打開瀏覽器訪問“公網”192.168.52.147(分發器IP)


訪問的是rs2(即03機器)刷新網頁一直都是rs2,由此想到是ipvsadm 規則中的-p 3(含義爲延遲三秒跳轉),去掉該參數並把wlc算法改成rr更爲均配的算法再次測試發現還是如此,可能是瀏覽器緩存的問題,在虛擬機環境中用curl測試,結果如下:


測試成功

下圖爲ipvsadm查看規則的語句 ipvsadm -ln



擴展

lvs 三種模式詳解 http://www.it165.net/admin/html/201401/2248.html 
lvs幾種算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html
關於arp_ignore和 arp_announce http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
lvs原理相關的 http://blog.csdn.net/pi9nc/article/details/23380589



發佈了81 篇原創文章 · 獲贊 0 · 訪問量 4253
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章