1、lvs nat模式 地址轉發
只需要一個公網ip節省費用,但是請求和響應都經過lvs服務器,請求增多會給帶寬帶來瓶頸
lvs需要打開路由管道,轉換公網和內網,
通過網絡地址轉換,調度器重寫請求報文的目標地址,根據預設的調度算法,將請求分派給實際服務器,真是服務器的響應報文通過調度器時,報文的源地址被重寫,再返回客戶。
由於請求和響應報文都要經過調度器地址重寫,當客戶越來越多時,調度器的處理能力成爲瓶頸
2、lvs ip-tun 模式 通過mac地址
但是每個服務器都需要一個公網ip,費用增多。並且lvs需要兩塊網卡。
調度器把請求報文通過ip通道轉發至真實服務器,真實服務器將響應直接返回給客戶,所以調度器只處理請求報文,由於一般網絡服務應答比請求報文大許多,採用ip tun技術,集羣系統的最大吞吐量可以是nat模式的10倍。
Lvs ip tun 腳本
ifconfig tunl0 192.168.10.10 netmask 255.255.255.255 up //確保兩個網卡的ip在不同的網段
route add-host 192.168.10.10 dev tunl0
ipvsadm -C
ipvsadm —A -t192.168.10.10 :80 -s rr
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2 -i
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3 -i
ipvsadm
3、lvs Dr模式
dr 通過改寫請求報文mac地址,將請求發送到真實服務器,而真實服務器將響應直接返回給客戶,
同 ip tun一樣可以極大提高集羣系統的伸縮性,這種方法也沒有ip隧道的開銷,對真實服務器也沒有必須支持ip隧道協議的要求,但是要求真實服務器與調度服務器都有一塊網卡連在同一物理網段。
四種常用的負載算法
1、輪叫(round roubi)
2、加權輪叫
3、最少鏈接
4、加權最少鏈接