系統版本:ubuntu14.04
lvs伺服器:14.17.64.3
真實伺服器:14.17.64.4-12
vip:14.17.64.13
部署目的:使用者請求14.17.64.13的報文**至14.17.64.4-12上進行負載均衡。
由於lvs像iptables一樣是工作在核心層,所以只需要安裝模組ip_vs就可以了,並沒有後台程序在跑
#aptitude install ipvsadm
# ipvsadm -v
ipvsadm v1.26
# lsmod |grep ip_vs #檢視核心模組,有代表
ipvsadm
載入進核心當中,此時
lvs安裝完畢
ip_vs 136701 0
nf_conntrack 96976 1 ip_vs
libcrc32c 12644 3 xfs,btrfs,ip_vs
# ipvsadm -l -n #檢視
lvs規則
ip virtual server version 1.2.1 (size=4096)
prot localaddress:port scheduler flags
-> remoteaddress:port forward weight activeconn inactconn
root@ubun
# ipvsadm -l -c #檢視連線情況
-a是新增一條虛擬伺服器記錄,即vip。此處配置要選擇演算法。
#ipvsadm -a-t 14.17.64.13 -s wrr -p 300 #****所有去往該
ip tcp
的報文,
-s指定演算法
wrr為加權輪詢演算法,
-p會話保持時間(預設值是
300s
) #ipvsadm -a-t 14.17.64.13:80 -s wrr -p 20 #****去往該
ip tcp80
埠的報文
vip維護:
使用-e修改vip設定
例:ipvsadm -e -t 14.17.64.13 -s wrr -p 40 #可修改會話保持時間與演算法。
使用-d刪除vip設定
例:ipvsadm -d -t 14.17.64.13 #刪除該條
vip-a是新增vip要對哪些真實伺服器ip(即rip)進行負載(預設是dr模式即-g)。
ipvsadm -a -t 14.17.64.13 -r 14.17.64.4 -g -w 1 #-r
指定真實伺服器ip,
-g為選擇
dr模式(-m為
nat模式,-t為
tunnel
模式),
-w選擇權重。
ipvsadm -a -t 14.17.64.13 -r 14.17.64.5 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.6 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.7 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.8 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.9 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.10 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.11 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.12 -g -w 1
#如果只對
tcp 80
埠進行負載,可使用如下命令
#ipvsadm -a-t14.17.64.13:80 -r 14.17.64.4:80 -g -w 1
rip維護:
使用-e修改rip配置
例:ipvsadm -e -t14.17.64.13 -r 14.17.64.6 -g -w 4 #修改這條
rip規則的權重。
使用-d刪除rip配置
例:ipvsadm -d -t14.17.64.13 -r 14.17.64.6 -g -w 1 #刪除該條
rip配置
在真實伺服器上都配置上vip,即14.17.64.13位址。
#ifconfig lo:1314.17.64.13 netmask 255.255.255.255
關閉真實伺服器上loop口的arp回應,其它口的無須關閉。
預設arp_ignore和arp_announce的引數都是0,即回應所有目的ip是本機的arp請求。
在所有真實伺服器上進行如下操作:
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore #
只回答目標
ip位址是來訪網路介面本地位址的
arp查詢請求。
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce #
對查詢目標使用最適當的本地位址。
#此處可以進行測試,在測抑制arp前,能ping通vip位址。在抑制arp後,在前端交換機上清掉arp快取,再ping vip就不通了。但物理eth0網絡卡ip還是能通的。
接下來在lvs上配置vip:
ifconfig lo:13 14.17.64.13 netmask255.255.255.255
在lvs上開啟核心**功能。
#echo 'net.ipv4.ip_forward=1' >>/etc/sysctl.conf
#sysctl -p
由於真實伺服器上未搭建http服務,但我設定的lvs是**所有tcp連線,所以我通過ssh到vip上進行測試。
#iptables -l -c #檢視lvs**記錄,確定請求**成功。
tcp 14:59 established 242.103.143.219.broad.bj.bj.dynamic.163data.com.cn:5197714.17.64.13:22 14.17.64.10:22
至此lvs搭建成功。
1、自身無法對真實伺服器保活,如果出現伺服器down情況,還會向down的伺服器**請求。
解決方法是keepalived或自已寫指令碼來監測連通性再清除相應規則。
2、一台lvs伺服器會出現單點故障,需要有備份lvs伺服器
解決方法是keepalived來進行lvs故障接管。
Ubuntu LVS DR模式生產環境部署
系統版本 ubuntu14.04 lvs伺服器 14.17.64.3 真實伺服器 14.17.64.4 12 vip 14.17.64.13 部署目的 使用者請求14.17.64.13的報文 至14.17.64.4 12上進行負載均衡。由於lvs像iptables一樣是工作在核心層,所以只需要安裝模...
Ubuntu LVS DR模式生產環境部署
系統版本 ubuntu14.04 lvs伺服器 14.17.64.3 真實伺服器 14.17.64.4 12 vip 14.17.64.13 部署目的 使用者請求14.17.64.13的報文 至14.17.64.4 12上進行負載均衡。由於lvs像iptables一樣是工作在核心層,所以只需要安裝模...
生產消費模式
package com.phone.week5.day3 有乙個倉庫放字元的,它有乙個生產字元的方法,也有乙個拿字元的方法 倉庫裡只能有乙個字元 有乙個生產者,可以呼叫倉庫裡生產字元的方法 有乙個消費者,可以呼叫倉庫裡拿字元的方法 兩個人不能同時生產或拿 1.建立乙個共享資源類 2.建立生產者 3....