負載均衡:
是建立在現有的網絡之上,它提供了一種廉價、有效、透明的方法來擴大網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力,以及提高網絡的靈活性和可用性。通過負載均衡器,可以實現N臺廉價的Linux服務器並行處理,從面達到小型機或大型機的計算能力。單臺負載均衡器位於網站的最前端,它起着分流客戶請求的作用,相當於整個網站或系統的入口。由於IPv4中IP地址日益緊張以及出於安全方面的才慮,很多網絡使用保留IP地址(如10.0.0.0/255.0.0.0、172.16.0.0/255.128.0.0、和192.168.0.0/255.255.0.0).這些不在Internet上使用,而是專門爲內部網絡預留的。當內部網絡中的主機要訪問Internet或被Internet訪問時,就需要進行網絡地址轉換(Network Address Translation,NAT),NAT方法就是交不同IP地址的並行網絡服務變成一個在同一IP地址上的虛擬服務。
以LVS作爲負載均衡器:
LVS(Linux Virtual Server)主要是針對大業務量的網絡應用。
LVS類型:
NAT-->(DNAT)
DR
TUN
FULLNAT
VS/NAT的體系結構比較簡單:在一組服務器前有一個調度器,它們是通過Switch/HUB相連接的,這些服務器提供相同的網絡服務、相同的服務內容,即不管請求被髮送到哪一臺服務器,執行結果都是一樣的。服務的內容可以複製到每一臺服務器的本地硬盤上,可能通過網絡文件系統共享,也可以通過一個分佈式文件系統來提供。
LVS NAT的特性:
1、RS應該使用私有地址;
2、RS的網關的必須指向DIP;
3、RIP和DIP必須在同一網段內;
4、請求和響應的報文都得經過Director;在高負載場景中,Director很可能成爲系統性能瓶頸;
5、支持端口映射;
6、RS可以使用任意支持集羣服務的OS;
VS/DR或VS/TUN應用的一種模型中(所有機器都在同一個物理網絡),所有機器(包括Director和RealServer)都使用了一個額外的IP地址,即VIP。當一個客戶端向VIP發出一個連接請求時,此請求必須要連接至Director的VIP,而不能是RealServer的。因爲,LVS的主要目標就是要Director負責調度這些連接請求至RealServer的。
因此,在Client發出至VIP的連接請求後,只能由Director將其MAC地址響應給客戶端(也可能是直接與Director連接的路由設備),而Director則會相應的更新其ipvsadm table以追蹤此連接,而後將其轉發至後端的RealServer之一。
如果Client在請求建立至VIP的連接時由某RealServer響應了其請求,則Client會在其MAC table中建立起一個VIP至RealServer的對就關係,並以至進行後面的通信。此時,在Client看來只有一個RealServer而無法意識到其它服務器的存在。
爲了解決此問題,可以通過在路由器上設置其轉發規則來實現。當然,如果沒有權限訪問路由器並做出相應的設置,則只能通過傳統的本地方式來解決此問題了。這些方法包括:
1、禁止RealServer響應對VIP的ARP請求;
2、在RealServer上隱藏VIP,以使得它們無法獲知網絡上的ARP請求;
3、基於“透明代理(Transparent Proxy)”或者“fwmark (firewall mark)”;
4、禁止ARP請求發往RealServers;
LVS DR類型的特性:
1、RS可以使用私有地址;但也可以使用公網地址,此時可以直接通過互聯網連入RS以實現配置、監控等;
2、RS的網關一定不能指向DIP;
3、RS跟Dirctory要在同一物理網絡內(不能由路由器分隔);
4、請求報文經過Directory,但響應報文一定不經過Director
5、不支持端口映射;
6、RS可以使用大多數的操作系統;
LVS TUN類型:IP隧道
1、RIP、DIP、VIP都得是公網地址;
2、RS的網關不會指向也不可能指向DIP;
3、請求報文經過Directory,但響應報文一定不經過Director;
4、不支持端口映射;
5、RS的OS必須得支持隧道功能;
1。先配置好網絡環境,要三個虛擬機(本次實驗在虛擬機上完成),一臺用作Director,其他兩臺分別爲RealServer1 和RealServer2
其中Director要兩個網卡,Eth0網卡爲橋接(Birdged),Eth1網卡爲僅主機(Host-only),RealServer1 和RealServer2的網卡也都是僅主機
類型的。
2.爲了演示效果,將Director的兩塊網卡配置成不在同一個網段的IP地址,RealServer1 和RealServer2的IP地址爲同一網段,規劃如下圖:
3.爲192.168.10.11和192.168.10.12配置web服務
先查看是否安裝了web服務
[root@node1 ~]# rpm -q httpd
httpd-2.2.15-29.el6.centos.x86_64
如果沒有安裝則使用yum install httpd安裝即可
RealServer1配置網站頁面並啓動服務
虛擬機1網卡地址設置
ifconfig eth0 192.168.10.11
route add default gw 192.168.10.1
[root@node2 ~]# vim /var/www/html/index.html
<h1>Web1</h1>
[root@node2 ~]# service httpd start
RealServer2配置網站頁面並啓動服務
虛擬機2網卡地址設置
ifconfig eth0 192.168.10.12
route add default gw 192.168.10.1
[root@node3 ~]# vim /var/www/html/index.html
<h1>Web2</h1>
[root@node3 ~]# service httpd start
4.在Director虛擬主機上配置
打開路由間轉發功能
--查看ipvsadm是否安裝,如果沒有安裝則安裝之,直接使用yum安裝即可
配置Directory網卡,添加一塊網卡eth1
配置地址ifconfig eth1 192.168.10.1
[root@node1 ~]# ifconfig eth0:0 172.16.24.6《=========定義VIP地址
定義LVS-NAT模型規則