對于liunx叢集,尤其是DR模式,很不容易了解,因他太有點亂和繞了,其實把理了解了,自然就不難了,我把DR最難了解的三個問題,做了标注和說明,這樣可以讓大家很好的了解。
VS是
linux虛拟服務linux核心自帶的(創始人現在在他淘寶)
LVS 有三種模式
NAT
TUN 隧道模式(過渡階段)
DR
---------------
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauEDOxgDN1UDMy8CX5AzMxAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.jpg)
工作模式:
一、NAT
分發器:Director
VIP 虛拟IP 提供服務的IP
DIP 直連伺服器的IP
RIP 伺服器的IP
CIP 用戶端IP
資料包過程
第一步:client——>GW
源ip CIP 目标IP VIP 源mac CIPmac 目标mac up口mac
第二步:
GW——>Director 源ip CIP 目标IP VIP 源mac down口mac 目标mac VIP口mac
第三步:
Director——>Real Server [DNAT] 源ip CIP 目标IP RIP 源mac DIP mac 目标mac RIPmac
第四步:
Real Server——>Director 源ip RIP 目标IP CIP 源mac RIPmac 目标mac DIPmac
第五步:
Director——>GW 源ip VIP 目标IP CIP 源mac VIPmac 目标mac down口mac
第六步:
GW——>Client 源ip VIP 目标IP CIP 源mac up口mac 目标mac CIPmac
三、DR(直接路由)
GW——>Director
源ip CIP 目标IP VIP 源mac down口mac 目标mac VIPmac
Director——>Real Server
源ip DIP 目标IP RIP 源mac DIP mac 目标mac 廣播
源ip RIP 目标ip DIP 源mac RIPmac 目标mac DIPmac
源ip CIP 目标ip VIP 源mac DIPmac 目标mac RIPmac
Real Server——>GW
源ip VIP 目标IP CIP 源mac RIPmac 目标mac down口mac
GW——>Client
源ip VIP 目标IP CIP 源mac up口mac 目标mac CIPmac
NAT(位址轉換) 作LB附載均衡的 一個人幹活幹不過來 在加一個 (工作中不會用原理進站資料少出去資料包大伺服器承受不了)
分發去器 通過建立政策将接收到的任務分發給伺服器
分發到的伺服器成為 真實 server
VIP 對外提供服務的 連接配接外網的
DIP之連IP 連接配接AB 服務的位址
RIP是AB伺服器的IP
虛拟機倆網卡是在硬體上添加network
連接配接虛拟機
virt-viewer XU1
SSH IP
virsh console xu1 退出ctrl+右]
如果連不上
在本機上
grep ttys0 /etc/securetty
vim /etc/securetty
添加 ttyS0
grep ttys0 /boot/grub/grub.conf
title Red Hat Enterprise Linux Server (2.6.18-308.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-308.el5
module /vmlinuz-2.6.18-308.el5xen ro root=LABEL=/ rhgb quiet console=ttyS0 添加
module /initrd-2.6.18-308.el5xen.img
title Red Hat Enterprise Linux Server (2.6.18-308.el5)
kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/ rhgb quiet console=ttyS0
GW電腦上也要打開 位址轉換echo 1
在 director電腦上(建立一個虛拟服務)
在核心寫政策 需要裝 /mnt/cluster/ipvsadm-1.24-
-A 添加一個虛拟接口 輪詢
ipvsadm -A -t 1.1.1.1:80 -s rr ------建立了一個工作
(僞裝)
ipvsadm -a -t 1.1.1.1:80 -r 172.16.1.1 -m ------添加政策
ipvsadm -a -t 1.1.1.1:80 -r 172.16.1.2 -m
ipvasdm -Ln ---檢視政策
打開位址轉換 echo 1
在本機上設定
在虛拟機上挂載iso
第一個虛拟機 這個檔案 映射到這台電腦上 為hdc 以隻讀的方式
[root@localhost ~]# xm block-attach 5 file://rhel5u8.iso /dev/hdm r
在挂載 iso
ipvasdm -Ln --stats -----顯示詳細資訊
入站流量大于出戰流量 原因一個網站進入的是請求出去的是資料
------------------------------------------
DR 直接路由
第一步 原ip cip 目标ip vip 原mac cip mac 目标mac up口
第一個問題 倆個web服務要有VIP
第二個問題 路由喊VIP的時候 隻有真正的VIP回應
第三個問題 當分發器上分發資料包的時候必須讓dip分發 (向外發包第一步查路由表 在路由表裡第一條寫DIP)
第一個問題原因:為什麼倆個web伺服器要都要有VIP ,因為: 用戶端發送一個資料包給張三,然後恢複的時候是李四恢複的,計算機一看人不對,誤認為是李四發錯了,
他會一直等張三的資料包到來,等到逾時的時候就會斷開,為了避免這個問題,是以讓倆個伺服器端都把張三的名字儲存起來,這樣,資料包回去的時候看到裡面有張三的字眼就會接受了。
是以說 倆個web伺服器必須要有VIP。 (在自己的電腦上添加領一個IP位址)(倆個web伺服器上添加VIP在lo:1)
第二個問原因:路由喊VIP的時候 隻有真正的VIP回應 第一個問題上面倆個web伺服器上有張三的名字了 ,加上真正的張三一共有三個張三 等路由喊張三的時候 會有三個人回答, 這不就亂了馬?
是以說我們要讓 真正的張三回答 不是真的閉嘴,避免亂套。這就又牽扯到第一個問題了,如果在一個eth1上添加了張三,假如一天插上網線,那麼arp一喊eth1必須回應,
是以我們把這個張三設定在lo:1上回環位址的另一個上確定不會插上網線 他回應。(設定虛拟服務設定政策 打開倆個核心資訊一是 喊真VIP的時候假的不回答, 喊本機的本機回答,喊本機的兄弟IP 本機的IP不回答二是讓自己的IP和兄弟IP都接收 兄弟IP也幫你接收)
第三個問題 當分發器上分發資料包的時候為什麼必須dip分發
因為分發器和倆個web伺服器是在同一個交換機上 VIP和DIP倆個口都可以進出 不非要DIP出 ,但是 假如讓VIP出包的話 第二個問題說到讓web的VIP提他兄弟接受資料包
他原位址是VIP 接收的位址也是VIP 那麼分發器會誤認為他給自己發的資料包,這樣就會把資料包給自己, 是以我們要選擇讓DIP發送資料包 ,因為DIP在這個網絡裡就他一個不會回環。
在 www1和www2設定
ifconfig lo:1 1.1.1.1/32 ---添加這個位址
核心參數的永久設定
vim /etc/sysctl.conf
喊真VIP的時候假的不回答, 喊本機的本機回答,喊本機的兄弟IP 本機的IP不回答
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore ---喊VIP的時候他不回答 喊我我回答 喊我兄弟我不回答
[root@localhost ~]# echo 2 /proc/sys/net/ipv4/conf/eth0/arp_announce ----VIP幫正真的IP 接收 給我的我收 我給兄弟我也收 +
service httpd restart
touch /var/www/html/index.html
echo "11111" > /var/www/html/index.html
在分發器上 讓DIP在最上面
ipsadm -C 清空
ifdown eth0
ifdown eth1
ifup eth1
ifup eth0
VIP位址
ipvsadm -A -t 1.1.1.1:80 -s rr
ipvsadm -a -t 1.1.1.1:80 -r 1.1.1.10:80 -g
ipvsadm -a -t 1.1.1.1:80 -r 1.1.1.20:80 -g
沒有出站流量了就成功了