LVS - 直接路由(DR)模式示例
1、排程伺服器的lvs_serv_dr.sh指令碼
#! /bin/bash
#定義虛擬IP和實服務IP變數
Vip=192.168.2.200
Rs1=192.168.2.222
Rs2=192.168.2.231
source /etc/rc.d/init.d/functions
case "$1" in
start)
echo "Start LVS of Server..."
# 在Director伺服器上基於物理網路卡eth0建立一個虛擬網路介面(新增一個子網路卡,設定它的虛擬IP和廣播地址以及子網掩碼並啟動)
/sbin/ifconfig eth0:1 $Vip broadcast $Vip netmask 255.255.255.255 up
# 開啟Director伺服器上開啟路由轉發功能(多網路卡下的網路卡間資料包轉發)
#echo 1 > /proc/sys/net/ipv4/ip_forward
# 將虛擬地址新增到路由表
/sbin/route add -host $Vip dev eth0:1
# 清除所有的虛擬伺服器記錄
/sbin/ipvsadm -C
# 在核心虛擬伺服器表中新增一臺虛擬伺服器(指定為tcp協議,指定虛擬ip和prot,指定排程演算法)
/sbin/ipvsadm -A -t $Vip:6500 -s rr # rr 表示輪詢排程
# 在一臺虛擬伺服器中增加一臺新的真實伺服器(執行虛擬服務對應真實服務的關係,指定負載均衡模式)
/sbin/ipvsadm -a -t $Vip:6500 -r $Rs1:6500 -g # -g 表示DR模式
/sbin/ipvsadm -a -t $Vip:6500 -r $Rs2:6500 -g
# 啟動LVS
/sbin/ipvsadm
;;
stop)
echo "Close LVS of Server..."
# 清除所有的虛擬伺服器記錄
/sbin/ipvsadm -C
# 關閉這個子網路卡
/sbin/ifconfig eth0:1 down
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
exit 0
2、真實伺服器的lvs_real_dr.sh指令碼
#!/bin/bash
#定義虛擬IP變數
Vip=192.168.2.200
source /etc/rc.d/init.d/functions
case "$1" in
start)
echo "Start Real Server..."
# 在Real伺服器上基於迴環虛擬網路卡lo建立一個虛擬網路介面
/sbin/ifconfig lo:1 $Vip broadcast $Vip netmask 255.255.255.255 up
# 將虛擬地址新增到路由表
/sbin/route add -host $Vip dev lo:1
# 定義對目標地址為本地IP的ARP詢問的應答模式(1表示只應答目標Ip是接收請求的網路介面(非網路卡,雙介面可共用一個網路卡)本地地址的ARP查詢請求)
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
# 控制系統在對外傳送arp請求時,如何選擇arp請求資料包的源IP地址(2表示忽略Ip資料包源地址,選擇可能接收到該ARP迴應的網路介面來進行傳送)
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
echo "Close Real Server..."
# 關閉這個網路卡
ifconfig lo:1 down
# 恢復arp_ignore和arp_announce的值
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: "$1" {start|stop}"
;;
esac
exit 0
3、補充說明
1). Director 上需要安裝 ipvsadm,命令:yum install -y ipvsadm
2). 指令碼使用方式:./lvs_serv_dr.sh start
相關文章
- LVS-DR直連路由模式路由模式
- LVS DR模式單網段案例模式
- LVS 負載均衡之 VS/DR 模式負載模式
- LVS的DR模型配置模型
- LVS - 地址轉換(NAT)模式示例模式
- LVS + Keepalived + Nginx基於DR模式構建高可用方案Nginx模式
- 大白話理解LVS DR模型中的arp_ignore模型
- Flannel IPIP DR 模式模式
- Flannel VxLAN DR 模式模式
- linux下部署lvs-DR群集構建實施過程Linux
- LVS負載均衡群集--NAT模式負載模式
- LVS-NAT模式的實現模式
- dva 路由跳轉示例路由
- LVS - 使用用Keepalived實現健康檢查的示例
- LVS負載均衡群集概念、NAT模式LVS負載均衡實戰部署負載模式
- LVS-NAT模式的配置詳解模式
- LVS 負載均衡之 VS/NAT 模式負載模式
- LVS 負載均衡之 VS/TUN 模式負載模式
- LVS四種實現模式詳解模式
- HCNA Routing&Switching之動態路由協議OSPF DR和BDR路由協議
- LVS基礎-四種模式原理與實現模式
- RabbitMQ-路由模式MQ路由模式
- Java設計模式之策略模式示例Java設計模式
- Java設計模式之外觀模式示例Java設計模式
- 叢集,lvs負載均衡的四種工作模式負載模式
- LVS
- RabbitMQ六種佇列模式-路由模式MQ佇列模式路由
- 前端路由: hash & history 模式前端路由模式
- Vue路由History模式分析Vue路由模式
- Vue路由Hash模式分析Vue路由模式
- 前端路由模式詳解前端路由模式
- LVS(五)LVS的持久連線
- 前端路由原理之 hash 模式和 history 模式前端路由模式
- 華為單臂路由nateasy_natserver配置示例路由Server
- 每日一學: Routing路由模式路由模式
- vue history路由模式 部署NginxVue路由模式Nginx
- LVS原理
- Spring中實現策略模式示例Spring模式