LVS調度算法參考算法
RR:輪詢 WRR :加權輪詢 DH :目標地址哈希 SH:源地址hash LC:最少鏈接 WLC:加權最少鏈接,默認 SED:最少指望延遲 NQ:從不排隊調度方法 LBLC:基於本地的最少鏈接 LBLCR:帶複製的基於本地的最少鏈接
ipvsadm命令參考bash
ipvsadm -A|E -t|u virutal-service-address:port [-s scheduler] #-A:添加虛擬服務器記錄 #-E:修改虛擬服務器記錄 #-t:tcp服務 #-u:udp服務 #-s:調度算法,默認wlc ipvsadm -D -t|u|f virtual-service-address #-D:刪除虛擬服務器記錄 ipvsadm -C #-C:清空lvs規則 ipvsadm -R #-R:重載lvs配置 ipvsadm -S [-n] > ipvs.save #-S:保存lvs配置 #-n:不解析地址 ipvsadm -a|e -t|u service-address:port -r real-server-address:port [-g|i|m] [-w weight] #-a:添加真實服務器記錄 #-e:修改真實服務器記錄 #-r:對應的真實服務器地址 #-g:指定lvs工做模式爲DR,默認 #-i:指定lvs工做模式爲tunnel #-m:指定lvs工做模式爲NAT #-w:手工指定權重 ipvsadm -d -t|u|f service-address -r server-address #-d:刪除真實服務器記錄 ipvsadm -Ln [options] #-L:顯示lvs運行狀態 #-n:不解析地址 #-c:顯示ipvs鏈接 #--stats:統計數據 #--rate:速率 #--exact:精確值 ipvsadm -Z [-t|u|f service-address] #-Z:清空lvs計數器 ipvsadm -h #-h:顯示幫助信息
NAT模型服務器
NAT模型能夠作端口映射tcp
1.首先在兩臺真實服務器上安裝http服務 2.開啓lvs服務器的轉發功能 echo 1 > /proc/sys/net/ipv4/ip_forward 3.配置lvs服務 ipvsadm -A -t VIP:PORT -s rr #定義一個lvs服務,指定vip和端口,指定調度方式爲輪訓 ipvsadm -a -t VIP:PORT -r RIP1 -m #添加第一臺真實服務器,並指定爲NAT模型 ipvsadm -a -t VIP:PORT -r RIP2 -m #添加第二臺真實服務器,並指定爲NAT模型 ipvsadm -L -n #查看ipvs定義的規則
DR模型 spa
三臺服務器的全部ip地址都指向路由器的網關接口server
arp_announce:arp通告
0:所有通告(默認)
1:儘可能避免通告非本網段地址
2:不通告非本網段地址blog
arp_ignore:arp應答
0:有的話就應答(默認)
1:不在請求的接口就不該答接口
1.兩臺http服務器添加vip到lo口,並關閉lo口和其餘接口的arp通告和應答 #關閉arp通知應答 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #添加vip ip addr add vip/32 dev lo #添加路由 route add -h vip/32 dev lo #開啓http服務 systemctl start http 2.在lvs服務器上添加vip到eth0:0口,並開啓轉發功能 #添加vip ip addr add vip/32 dev eth0:0 #開啓轉發 echo 1 > /proc/sys/net/ipv4/ip_forward #添加路由 route add -h vip/32 dev eth0:0 #添加ipvs記錄 ipvsadm -A -t VIP:80 -s rr ipvsadm -a -t VIP:80 -r RIP1 -g ipvsadm -a -t VIP:80 -r RIP2 -g