liunx系統LVS的DR集羣的配置和介紹

對於liunx集羣,尤其是DR模式,很不容易理解,因他太有點亂和繞了,其實把理理解了,自然就不難了,我把DR最難理解的三個問題,做了標註和說明,這樣可以讓大家很好的理解。



VS是

linux虛擬服務linux內核自帶的(創始人現在在他淘寶)


LVS 有三種模式

NAT

TUN 隧道模式(過渡階段)

DR


---------------

205548181.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(直接路由)

數據包過程

第一步:client——>GW

源ip CIP 目標IP VIP 源mac CIPmac 目標mac up口mac

第二步:

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)

root (hd0,0)

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




ipvasdm -Ln --stats -----顯示詳細信息

沒有出站流量了就成功了



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章