一.lvs 基本工作流程介紹
如圖1,ipvsadm定義lvs服務監聽的ip和port,并發送給ipvs,而ipvs是工作在netfilter的input鉤子上的程序,當input鏈中有目標ip屬于lvs服務的請求報文時,ipvs就會修改該報文的鏈路,使其不進入用戶空間而直接轉到postrouting鏈上,并轉發給其中一臺real server,轉發的方式由下文詳述。
二.lvs 4種工作模式介紹
-
lvs-nat:
多目標nat
轉發方式:如圖2.1,Director將請求報文的目標IP修改RIP(步驟②),響應報文的源IP修改為VIP(步驟④)
-
步驟③④中Director將響應報文源IP修改為VIP,所以RS網關需指向到DIP
-
請求報文、響應報文都由Director轉發,所以Director易成為性能瓶頸
-
lvs-dr
direct routing(常用)
轉發方式:如圖2.2,Director僅為請求報文 新封裝一個MAC首部(步驟②),目標MAC為RIP的MAC,故DIP與RIP需要在同一物理網絡以實現arp通信;并且RS的本地回環接口lo配置VIP,響應報文從lo的VIP發出,所以IP首部中的源IP就會是VIP
-
RS、Director都有VIP,所以需要確保請求報文只發到Director,常見方法為修改RS的內核參數arp_ignore、arp_announce設為1,使RS不響應其他主機的ARP通信
-
lvs-tun
tunnel
轉發方式:如圖2.3,Director在請求報文的原有IP上再封裝一個IP首部,響應報文不經由Director,直接發到CIP,故多個RS可不在同一網絡
-
當RS不在同一網絡時,很難保持會話一致性
-
lvs-fullnat
轉發方式:如圖2.4,Director同時修改請求報文、響應報文的源IP和目標IP,
-
請求報文修改后源IP是DIP,故DIP與RIP可以不在同一網絡
原創文章,作者:N24_lizi1,如若轉載,請注明出處:http://www.www58058.com/55919
內容格式把握得很好,原理部分可以加入一些自己的理解,加油!