十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
負(fù)載均衡:
是建立在現(xiàn)有的網(wǎng)絡(luò)之上,它提供了一種廉價(jià)、有效、透明的方法來擴(kuò)大網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,以及提高網(wǎng)絡(luò)的靈活性和可用性。通過負(fù)載均衡器,可以實(shí)現(xiàn)N臺廉價(jià)的Linux服務(wù)器并行處理,從面達(dá)到小型機(jī)或大型機(jī)的計(jì)算能力。單臺負(fù)載均衡器位于網(wǎng)站的最前端,它起著分流客戶請求的作用,相當(dāng)于整個(gè)網(wǎng)站或系統(tǒng)的入口。由于IPv4中IP地址日益緊張以及出于安全方面的才慮,很多網(wǎng)絡(luò)使用保留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上使用,而是專門為內(nèi)部網(wǎng)絡(luò)預(yù)留的。當(dāng)內(nèi)部網(wǎng)絡(luò)中的主機(jī)要訪問Internet或被Internet訪問時(shí),就需要進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT),NAT方法就是交不同IP地址的并行網(wǎng)絡(luò)服務(wù)變成一個(gè)在同一IP地址上的虛擬服務(wù)。
以LVS作為負(fù)載均衡器:
LVS(Linux Virtual Server)主要是針對大業(yè)務(wù)量的網(wǎng)絡(luò)應(yīng)用。
LVS類型:
NAT-->(DNAT)
DR
TUN
FULLNAT
VS/NAT的體系結(jié)構(gòu)比較簡單:在一組服務(wù)器前有一個(gè)調(diào)度器,它們是通過Switch/HUB相連接的,這些服務(wù)器提供相同的網(wǎng)絡(luò)服務(wù)、相同的服務(wù)內(nèi)容,即不管請求被發(fā)送到哪一臺服務(wù)器,執(zhí)行結(jié)果都是一樣的。服務(wù)的內(nèi)容可以復(fù)制到每一臺服務(wù)器的本地硬盤上,可能通過網(wǎng)絡(luò)文件系統(tǒng)共享,也可以通過一個(gè)分布式文件系統(tǒng)來提供。
LVS NAT的特性:
1、RS應(yīng)該使用私有地址;
2、RS的網(wǎng)關(guān)的必須指向DIP;
3、RIP和DIP必須在同一網(wǎng)段內(nèi);
4、請求和響應(yīng)的報(bào)文都得經(jīng)過Director;在高負(fù)載場景中,Director很可能成為系統(tǒng)性能瓶頸;
5、支持端口映射;
6、RS可以使用任意支持集群服務(wù)的OS;
VS/DR或VS/TUN應(yīng)用的一種模型中(所有機(jī)器都在同一個(gè)物理網(wǎng)絡(luò)),所有機(jī)器(包括Director和RealServer)都使用了一個(gè)額外的IP地址,即VIP。當(dāng)一個(gè)客戶端向VIP發(fā)出一個(gè)連接請求時(shí),此請求必須要連接至Director的VIP,而不能是RealServer的。因?yàn)?,LVS的主要目標(biāo)就是要Director負(fù)責(zé)調(diào)度這些連接請求至RealServer的。
因此,在Client發(fā)出至VIP的連接請求后,只能由Director將其MAC地址響應(yīng)給客戶端(也可能是直接與Director連接的路由設(shè)備),而Director則會(huì)相應(yīng)的更新其ipvsadm table以追蹤此連接,而后將其轉(zhuǎn)發(fā)至后端的RealServer之一。
如果Client在請求建立至VIP的連接時(shí)由某RealServer響應(yīng)了其請求,則Client會(huì)在其MAC table中建立起一個(gè)VIP至RealServer的對就關(guān)系,并以至進(jìn)行后面的通信。此時(shí),在Client看來只有一個(gè)RealServer而無法意識到其它服務(wù)器的存在。
為了解決此問題,可以通過在路由器上設(shè)置其轉(zhuǎn)發(fā)規(guī)則來實(shí)現(xiàn)。當(dāng)然,如果沒有權(quán)限訪問路由器并做出相應(yīng)的設(shè)置,則只能通過傳統(tǒng)的本地方式來解決此問題了。這些方法包括:
1、禁止RealServer響應(yīng)對VIP的ARP請求;
2、在RealServer上隱藏VIP,以使得它們無法獲知網(wǎng)絡(luò)上的ARP請求;
3、基于“透明代理(Transparent Proxy)”或者“fwmark (firewall mark)”;
4、禁止ARP請求發(fā)往RealServers;
LVS DR類型的特性:
1、RS可以使用私有地址;但也可以使用公網(wǎng)地址,此時(shí)可以直接通過互聯(lián)網(wǎng)連入RS以實(shí)現(xiàn)配置、監(jiān)控等;
2、RS的網(wǎng)關(guān)一定不能指向DIP;
3、RS跟Dirctory要在同一物理網(wǎng)絡(luò)內(nèi)(不能由路由器分隔);
4、請求報(bào)文經(jīng)過Directory,但響應(yīng)報(bào)文一定不經(jīng)過Director
5、不支持端口映射;
6、RS可以使用大多數(shù)的操作系統(tǒng);
LVS TUN類型:IP隧道
1、RIP、DIP、VIP都得是公網(wǎng)地址;
2、RS的網(wǎng)關(guān)不會(huì)指向也不可能指向DIP;
3、請求報(bào)文經(jīng)過Directory,但響應(yīng)報(bào)文一定不經(jīng)過Director;
4、不支持端口映射;
5、RS的OS必須得支持隧道功能;
1。先配置好網(wǎng)絡(luò)環(huán)境,要三個(gè)虛擬機(jī)(本次實(shí)驗(yàn)在虛擬機(jī)上完成),一臺用作Director,其他兩臺分別為RealServer1 和RealServer2
其中Director要兩個(gè)網(wǎng)卡,Eth0網(wǎng)卡為橋接(Birdged),Eth1網(wǎng)卡為僅主機(jī)(Host-only),RealServer1 和RealServer2的網(wǎng)卡也都是僅主機(jī)
類型的。
2.為了演示效果,將Director的兩塊網(wǎng)卡配置成不在同一個(gè)網(wǎng)段的IP地址,RealServer1 和RealServer2的IP地址為同一網(wǎng)段,規(guī)劃如下圖:
3.為192.168.10.11和192.168.10.12配置web服務(wù)
先查看是否安裝了web服務(wù)
[root@node1 ~]# rpm -q httpd
httpd-2.2.15-29.el6.centos.x86_64
如果沒有安裝則使用yum install httpd安裝即可
RealServer1配置網(wǎng)站頁面并啟動(dòng)服務(wù)
虛擬機(jī)1網(wǎng)卡地址設(shè)置
ifconfig eth0 192.168.10.11
route add default gw 192.168.10.1
[root@node2 ~]# vim /var/www/html/index.html
[root@node2 ~]# service httpd start
RealServer2配置網(wǎng)站頁面并啟動(dòng)服務(wù)
虛擬機(jī)2網(wǎng)卡地址設(shè)置
ifconfig eth0 192.168.10.12
route add default gw 192.168.10.1
[root@node3 ~]# vim /var/www/html/index.html
[root@node3 ~]# service httpd start
4.在Director虛擬主機(jī)上配置
打開路由間轉(zhuǎn)發(fā)功能
--查看ipvsadm是否安裝,如果沒有安裝則安裝之,直接使用yum安裝即可
配置Directory網(wǎng)卡,添加一塊網(wǎng)卡eth1
配置地址ifconfig eth1 192.168.10.1
[root@node1 ~]# ifconfig eth0:0 172.16.24.6《=========定義VIP地址
定義LVS-NAT模型規(guī)則
本文出自 “linux” 博客,謝絕轉(zhuǎn)載!