天天看點

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

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

VS是

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

LVS 有三種模式

NAT

TUN 隧道模式(過渡階段)

DR

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

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

工作模式:

一、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

沒有出站流量了就成功了

繼續閱讀