Ubuntu LVS DR模式生產環境部署
1、環境說明
系統版本: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上進行負載均衡。
2、安裝LVS
由於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 #檢視連線情況
3、配置LVS VIP服務
-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
4、配置LVS RIP規則
-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配置
5、在真實伺服器上配置VIP
在真實伺服器上都配置上VIP,即14.17.64.13地址。
#ifconfig lo:1314.17.64.13 netmask 255.255.255.255
6、在真實伺服器上關閉ARP響應
關閉真實伺服器上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還是能通的。
arp含義參考地址:http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
接下來在lvs上配置VIP:
ifconfig lo:13 14.17.64.13 netmask255.255.255.255
7、開啟核心轉發功能
在lvs上開啟核心轉發功能。
#echo 'net.ipv4.ip_forward=1' >>/etc/sysctl.conf
#sysctl -p
8、LVS測試
由於真實伺服器上未搭建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搭建成功。
9、lvs補充思考
1、 自身無法對真實伺服器保活,如果出現伺服器down情況,還會向down的伺服器轉發請求。
解決方法是keepalived或自已寫指令碼來監測連通性再清除相應規則。
2、一臺LVS伺服器會出現單點故障,需要有備份LVS伺服器
解決方法是keepalived來進行LVS故障接管。
相關文章
- LVS - 直接路由(DR)模式示例路由模式
- LVS-DR直連路由模式路由模式
- LVS DR模式單網段案例模式
- LVS 負載均衡之 VS/DR 模式負載模式
- ClickHouse生產環境部署
- VueJs生產環境部署VueJS
- lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)NginxTomcatRedis模式
- LVS的DR模型配置模型
- Flask 生產環境部署(Falsk + uWSGI + nginx)FlaskNginx
- LVS + Keepalived + Nginx基於DR模式構建高可用方案Nginx模式
- Django + Uwsgi + Nginx 實現生產環境部署DjangoNginx
- 轉 機器學習 演算法生產環境部署機器學習演算法
- Linux系統(五)負載均衡LVS叢集之DR模式Linux負載模式
- LVS+keepalived DR模式配置高可用負載均衡叢集模式負載
- 大資料平臺生產環境部署指南大資料
- LVS+Keepalived 高可用環境部署記錄(主主和主從模式)模式
- Flannel VxLAN DR 模式模式
- Flannel IPIP DR 模式模式
- 生產環境部署Nginx伺服器雙機熱備部署-keepalived(多種模式教程)Nginx伺服器模式
- Spring Boot (二)整合Jsp與生產環境部署Spring BootJS
- 生產消費者模式模式
- 整合生產模式為何能比非整合生產模式更具有競爭力模式
- LVS-DR VIP和RIP不同網段的配置方法
- 生產環境部署springcloud微服務啟動慢的問題排查SpringGCCloud微服務
- 生產者消費者模式模式
- 大白話理解LVS DR模型中的arp_ignore模型
- Ubuntu環境下Tornado環境部署Ubuntu
- 如何將LLaMA 3部署到生產中以及硬體要求?
- linux下部署lvs-DR群集構建實施過程Linux
- win_weblogic_生產模式_nodeManagerWeb模式
- WebLoigc的配置(生產模式與開發模式)WebGC模式
- weblogic生產模式恢復到開發模式Web模式
- 從科學管理到豐田生產模式,精益是如何產生的?模式
- 併發設計模式---生產者/消費者模式設計模式
- 九、生產者與消費者模式模式
- python 生產者消費者模式Python模式
- 生產模式MTO&MTS的區別模式
- ubuntu搭建nodejs生產環境——快速部署手冊UbuntuNodeJS