1. 程式人生 > 其它 >|NO.Z.00005|——————————|Applications|——|LBC負載均衡叢集.V2|----------------------------------|6臺server|

|NO.Z.00005|——————————|Applications|——|LBC負載均衡叢集.V2|----------------------------------|6臺server|



[Applications:LBC負載均衡叢集.V2]                                                                 [Applications.LBC&HAC$HPC]








一、LVS-工作方式:LVS工作層級
### --- user:
~~~     使用者空間:更貼近使用者;使用者連線

### --- kernel:
~~~     核心空間:更貼近系統,驅動,作業系統,QQ,微信都是在核心空間的

### --- ipvsadm:
~~~     通過命令列管理工具去觸發,類似於/etc/sysconfig開啟路由轉發。

### --- ipvs:
~~~     它才是真正的核心元件,是嵌在linux主機核心的,才是真正的LVS 的核心元件,
~~~     只需要考慮有沒有觸發,通過命令確認
二、LVS工作模式分類
### --- 第四種模式正在開發,GitHub上可以看到,提交了一個新的字典,目前還是隻支援三種模式

### --- NAT模式:
~~~     LVS有兩個網絡卡, 內網網絡卡:需要和後端的生產伺服器建立所謂的資料傳輸,必須要相互通訊。
~~~     公網網絡卡:和使用者去連線的部分。通過私網和負載路由器相連

### --- TUN模式:
~~~     負載路由器和使用者都是通過公網直接和業務伺服器直連的,
~~~     也就意味著我們的業務伺服器在全國各地的情況下通過TUN模式把它結合起來,
~~~     構成一個完整的負載均衡叢集,比較特殊,用途不是特別廣泛

### --- DR模式:
~~~     負載路由器與我們的業務伺服器都是處於同一個廣播域之中,若外部使用者想訪問進來的話,
~~~     需要藉助一個物理的路由器進行跳轉,這種模式是整個環境中負載量最高的一種方式。
~~~     也是企業比較容易選擇的一種方式。   
三、LVS-NAT模式
### --- LVS-NAT模式

~~~     負載和業務伺服器是處於同一個網域之中的,
~~~     資料包經過交換及路由的傳輸,會到達負載路由器
~~~     負載路由想把資料包傳遞給後端的伺服器,
~~~     所以要經過自己的演算法去選擇將目標地址改為後面真實伺服器的其中一個地址,
~~~     怎麼去確定它們三個其中哪一個呢,是經過演算法去決定的。
~~~     資料包若是選擇了11這臺伺服器,它會把目標地址改為11:80埠,
~~~     使用的DNAT技術:目標地址轉換。目的地址進行更改,完成資料報文的傳輸,前提是開啟路由轉發。
~~~     資料包能夠到達客戶端嗎?肯定是沒有任何問題的
~~~     客戶與之能夠與源資料伺服器建立連線嗎,是不行的只有當發出的資料報文的格式源時11,12,13,14,
~~~     目標是11,12,13,14的時候,源資料報文才能夠到達我們的客戶端
~~~     rs1、rs2、rs3都是指向DNAT/SNAT,進行資料的轉發。
~~~     所有的資料報文都是需要進過負載路由器進行資料的轉發。
1、LVS-NAT模式-總結
### --- LVS-NAT模式-總結

~~~     叢集節點處於同一個網路環境中:
~~~     真實伺服器必須將閘道器指向負載排程器
~~~     RIP通常是私有IP,僅用於各個叢集節點通訊
~~~     負載排程器必須位於RS與DS之間,充當閘道器:客戶與真實伺服器之間,
~~~     支援埠對映:真實伺服器的埠不一定一直,只需要在LVS中把對應埠註明明確即可
~~~     負載排程器必須是Linux作業系統,真實伺服器隨意;
### --- LVS:linux虛擬服務技術,所以必須是linux系統。
~~~     進出資料報文都要進過負載排程器機器,壓力較大;
四、LVS-DR模式
### --- LVS-DR模式

~~~     不管是負載排程器,真實伺服器都是處於同一個網路域中,必須處於同一個網路域
~~~     客戶設定的是一個私有地址,真實的生產環境中是通過公網去訪問的。
~~~     設定私有地址授課是不涉及到路由器的轉發。
~~~     資料報文的轉發是比較困難的,單網路的訪問加入路由就可以進行公網訪問
~~~     把資料報文轉發給後邊某一臺真實伺服器上,怎麼轉發:
~~~     源和目標對應不上,改為目標mac,可以通過三層轉,也可以通過三層轉,
~~~     資料報文給rs1,對應不是自己的Mac,而是另外一臺Mac,
~~~     而我們還是想讓它接收包,為它設定一個100的IP地址,並且把它隱藏起來。
~~~     只要rs1自己知道就可以了;rs1會拿著100的IP去返回資料,並傳輸到客戶端。
1、LVS-DR模式-總結
### --- LVS-DR模式-總結

~~~     叢集節點處於同一個廣播域中
~~~     真實伺服器將閘道器指向真實路由器:真實路由器:只是做了一個二層資料報文的修改。
~~~     負載排程器只負責處理入站請求,壓力最小;併發量越大的原有;併發量最大。
~~~     不支援埠對映:協議層是配置不到的,
~~~     所以不支援埠對映,客戶端訪問的80,真實伺服器的埠是80 ,訪問的443,
~~~     真實伺服器的埠必須是443。
~~~     負載排程器必須是Linux,真實伺服器最好是Linux
五、LVS-TUN模式
### --- LVS-TUN模式

~~~     公網使用者:公網IP
~~~     北京的負載排程器:公網IP
~~~     廣州的真實伺服器2:公網IP
~~~     上市的真實伺服器1:公網IP
~~~     說明客戶端可以被公網IP路由到。客戶端傳送資料包,可以被負載排程器探測到,並改寫。
~~~     資料包的二次封裝。耗費的資源比LVS-NAT模式高一些,不太好用,
~~~     走的是公網網路,公網網路典型的特點是慢,特殊的環境中生產伺服器下,
~~~     可以執行這種方案,一般不會去使用。
1、LVS-TUN模式-總結
### --- LVS-TUN模式-總結

~~~     叢集所有節點都必須直接/間接擁有公網地址:直接:配一個公網IP,間接:路由轉換。
~~~     真實伺服器必須將閘道器指向真實閘道器處
~~~     不支援埠對映:需要對資料報文進行二次封裝,埠對映的話不便於進行修改。
~~~     DS與RS必須開啟隧道功能:必須要對資料報文進行MAC,TCP,UDP的封裝,
~~~     不然不可以進行LVS-TUN級別的負載均衡的。
~~~     入站由DS完成,出站由RS完成:入站是需要進過負載排程器的,
~~~     負載排程器進行二次封裝以後轉發至真實伺服器,
~~~     真是伺服器在進行第二次報文返回給客戶真實資料,完成真個鏈路的負載。
~~~     負載排程器是Linux作業系統,真實伺服器隨意:支援隧道功能就可以配置;
~~~     現在市面上的伺服器都支援隧道功能的。
~~~     壓力較大:需要對資料進行二次封裝,所以壓力較大,用途不是很廣泛。








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)