集群-基礎知識(2)

負載均衡集群實現方法:

1、硬件方式

F5,CITRX,NETSCALER,A10(價格逐漸降低,由于為了防止調度器成為單點故障,所以要配置一臺備用設備,所以造價更高了)

2、軟件方式

四層:LVS(根據請求的ip和端口來分發),性能好,但對高級特性支持不好。

七層(反向代理):Nginx(http,smtp,pop3,imap),Haproxy(主要是http,tcp(mysql,smtp)),能夠精確解碼請求的協議,并能做適當修改后向后轉發,操作能力強,性能略差于LVS,更適應生產環境。

LVS:Linux virtual server

lvs工作于內核的tcp/ip協議棧的input鏈,不能和iptables同時工作。當調度器上定義一個集群服務后才會向后進行轉發,當請求報文經過prerouting到達input時,經過input上定義的集群策略審查,若是集群服務則請求報文會被送至forward并通過postrouting向后轉發。

Lvs也是兩段式:ipvsadm(用戶空間)和ipvs(內核的input)

內核2.4.23之前并沒有ipvs代碼,所以需要打補丁。

相關術語:

blob.png

Lvs的類型:

1、Nat模型

2、DR模型

3、TUN模型

Nat模型:工作機制和DNAT一樣

blob.png

當客戶端請求報文到達調度器時ip報文首部是CIP|VIP,從prerouting送至input發現為集群服務后,將報文轉發至forward經postrouting向后轉發,此時ip首部變為CIP|RIP1,后端realserver發現是目標地址是自己后進行拆解報文、響應報文、封裝報文,此時ip首部為RIP1|CIP,然后經過調度器的源地址轉換,ip首部變為VIP|CIP,通過路由設備回應給客戶端。

NAT模型遵循的法則:

1、集群節點和調度器必須在一個網絡中

2、RIP地址為私有地址,僅用于集群節點間的通信

3、調度器位于客戶端和realserver之間,復制處理進出的所有通信

4、realserver網關必須指向DIP

5、調度器支持端口映射

6、realserver可以支持使用任何操作系統

較大規模場景中,調度器容易成為瓶頸,理想狀況下后端能帶10臺主機。生產環境一般不用這種模型。

DR模型:(常用)

blob.png

調度器和realserver都連接在交換機上,并且調度器和RS都配置了VIP,只是RS的VIP被隱藏起來了,不用做通信,只是在響應時修改源地址而已。調度器的VIP配置在網卡上,而DIP配置在網卡別名上,RS的RIP配置在網卡上,VIP配置在網卡別名上。因為在一個網絡中,所以調度器和RS的mac地址會通過arp解析得到其他人的mac地址。當請求報文發送至集群網絡時ip報文首部為CIP|VIP,這時因為RS的VIP被隱藏起來了,所以只有調度器響應,而位于input鏈的策略發現是集群服務時,它不會拆解ip首部,而是把mac首部拆了,封裝mac(源mac改為調度器的mac,目標mac改為調度器挑選的RS的mac),并向RS轉發,報文傳至RS時,RS發現目標地址是自己,然后進行響應,封裝報文,源地址修改為VIP,目標地址為CIP,然后直接通過路由設備將報文發給客戶端。

DR模型遵循的法則:

1、集群節點必須和調度器在同一物理網絡中

2、RIP不用為私有地址了,實現了便捷的遠程管理和監控

3、調度器只負責進站請求,響應保衛有RS直接發往客戶端

4、集群節點不能將網關指向DIP

5、調度器不支持端口映射

6、大多數操作系統能支持RS,因為RS要求隱藏VIP

TUN模型:為了實現異地災備(不常用)

blob.png

工作機制和DR模型近似。RS有兩個IP:RIP、VIP(隱藏的),且RIP是公網地址,RS和調度器不再同一網絡,RS可直接將響應報文發送給客戶端。調度器也有兩個ip:VIP、DIP(別名)。當請求報文發送到調度器時,ip報文首部為CIP|VIP,調度器發現是集群服務想外轉發時在CIP|VIP前面封裝一層首部DIP|RIP,RS接受報文并且拆分外面的首部后發現目標地址的確為自己,便開始響應并直接經過路由設備回傳給客戶端,不需要經過調度器。這種模型需要調度器和RS支持隧道機制。

TUN模型遵循的法則:

1、各集群節點可跨越互聯網

2、RIP必須為公網地址

3、調度器僅處理入站請求,響應報文則由RS直接發往客戶端

4、RS網關不能指向調度器

5、只有支持隧道功能的os才能用于RS

6、不支持端口映射


原創文章,作者:黑白子,如若轉載,請注明出處:http://www.www58058.com/9482

(0)
黑白子黑白子
上一篇 2015-11-23 21:03
下一篇 2015-11-26 16:40

相關推薦

  • linux系統文件的元數據

    linux系統文件的元數據 什么是元數據 文件的數據分兩種: 一種元數據,既屬性數據:metadata 一種就是數據本身:data 如何查看元數據: stat stat命令用于顯示文件的狀態信息 [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO …

    Linux干貨 2018-03-11
  • grep命令v2

    顯示netstat 以LISTEN結尾,或后接空白的行

    Linux干貨 2016-11-20
  • find命令基本應用

       簡單的find命令查找 Find +路徑+條件(支持文件通配)+找到后執行的操作 條件: 可根據文件類型查找:-type   f為普通文件 d為目錄文件 l為鏈接文件(常用) 可根據屬主和屬組查找:-uid  -gid 可根據時間戳來查找:alime(查看時間)ctime(文件屬性更改時間)m…

    Linux干貨 2017-04-11
  • 主流Linux發行版對比

      對服務器來說,沒有最好的Linux發行版。一切都取決于企業的實際需求。 如今Linux已不再只是一款自由操作系統,它還承載了許多企業的核心應用。在對比流行的Linux發行版時,不僅要考慮有吸引力的功能集,還要關注系統的支持與服務。 服務器管理員擔心操作系統的維護和支持周期。維護生命周期指的是Linux發行版持續提供產品補丁和更新的時間。支持方面…

    Linux干貨 2016-10-31
  • 看了還想看—普通權限及umask

        權限在操作系統是尤為重要的,無論是windows和linux中,都少不了權限這么一說,權限的大小決定了你能操作些什么,在linux中,權限對目錄和文件的意義是不同的,并且還有特殊權限。今天,我們就來說說一說權限在linux中的重要性以及權限操作命令。     權限:權限決…

    Linux干貨 2016-08-03
  • find—查找條件

    find—查找條件    目 錄 一、根據時間戳查找: 二、根據權限查找 三、根據文件所屬人owner,文件所屬組group查找 四、根據搜索層級查找 五、根據文件名查找 六、根據文件類型查找    find實時查找工具,通過遍歷指定路徑完成文件查找 (1)工作特點: 查找速度略慢 精確查找 實時查找 可以只…

    Linux干貨 2017-08-13
欧美性久久久久