003 LVS負載均衡集羣搭建

  • 負載均衡集羣簡介
  • LVS簡介
  • LVS IP Tunnel模式
  • LVS DR模式
  • LVS調度算法
  • LVS集羣搭建
負載均衡集羣介紹
  • 主流開源軟件LVS、Keepalived、haproxy、nginx等。
  • LVS屬於4層負載均衡,Nginx屬於7層負載均衡,Haproxy即可以認爲是4層,也可以做7層使用。
  • LVS這種4層的負載均衡是可以分發除80外的其他端口通信的,比如MySQL,而Nginx僅僅支持HTTP、HTTPS、Mail;Haproxy也支持MySQL;
  • 相比較來說,LVS這種4層的更穩定,能承受更多的請求,而Nginx這種7層的更加靈活,能實現更多個性化需求。
LVS簡介
  • LVS是由國人章文嵩開發。
  • LVS是基於TCP/IP做的路由轉發,穩定性和效率很高。
  • LVS是工作於Linux內核中的。
  • LVS有三種常見的模式:NAT、DR、IP Tunnel
  • LVS架構中有一個核心的角色叫分發器(Load Balancer),它用來分發用戶的請求。

一個LVS集羣往往包含以下角色:

  1. DS:Director Server。指前端負載均衡器節點。
  2. RS:Real Server。後端真實的工作服務器。
  3. VIP:Load Balancer對外暴露的虛擬IP,向外部直接面向用戶請求,作爲用戶請求的目標IP地址。
  4. DIP:Director Server IP。主要用於和內部主機通訊的IP地址。
  5. RIP:Real Server IP,後端服務器的IP地址。
  6. CIP:Client IP。客戶端的IP地址。
NAT模式(改IP)
  • 藉助iptables的nat表來實現。
  • 用戶的請求到分發器後,通過預設的iptables規則,把請求的數據包轉發到後端的RS上去。
  • RS需要設定網關爲分發器的內網IP
  • 用戶請求的數據包和返回給用戶的數據包全部經過分發器,所以分發器成爲瓶頸。
  • 只需要分發器有公網IP即可,所以比較節省公網IP資源。
IP Tunnel模式(封裝報文)
  • 需要有一個公共的IP配置在分發器和所有的RS上,也就是VIP
  • 客戶端請求的目標IP爲VIP,分發器接收到請求數據包後,會對數據包做一個加工(協議包裝,將原數據包作爲包裝協議的payload,),會把目標IP改爲RS的IP,這樣數據包就到了RS上。
  • RS接收數據包後,會還原原始數據包,這樣目標IP爲VIP,因爲所有RS上配置了這個VIP,所以它會認爲是它自已。
DR模式(改Mac)
  • 這種模式也需要有一個公共的IP配置在分發器和所有RS上,也就是VIP。
  • 和IP Tunnel不同的是,它會把數據包的MAC地址修改爲RS的MAC地址。
  • RS接收數據包後,會還原原始數據包,這樣目標IP爲VIP,因爲所有RS上配置了這個VIP,所以它會認爲是它自已。
LVS調度算法
  1. 輪叫 Round Robin
  2. 加權輪叫 Weighted Round Robin
  3. 最少鏈接 Least Connections
  4. 加權最少鏈接 Weighted Least Connections
  5. 基於局部性的最少鏈接 Locality-Based Least Connections
  6. 帶複製的基於局部性的最少鏈接 Locality-Based Least Connections with Replication
  7. 目標地址散列 Destination Hashing
  8. 源地址散列 Source Hashing
LVS集羣搭建
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章