ipvsadm命令用法、LVS-NAT集群 顾复、 LVS-DR集群

1 ipvsadm命令用法

1.1 問題

準(zhǔn)備一臺Linux服務(wù)器班挖,安裝ipvsadm軟件包,練習(xí)使用ipvsadm命令芯砸,實現(xiàn)如下功能:

  • 使用命令添加基于TCP一些的集群服務(wù)
  • 在集群中添加若干臺后端真實服務(wù)器
  • 實現(xiàn)同一客戶端訪問萧芙,調(diào)度器分配固定服務(wù)器
  • 會使用ipvsadm實現(xiàn)規(guī)則的增、刪假丧、改
  • 保存ipvsadm規(guī)則

1.2 方案

安裝ipvsadm軟件包双揪,關(guān)于ipvsadm的用法可以參考man ipvsadm資料。常用ipvsadm命令語法格式如表-1所示包帚。

表-1 ipvsadm語法格式


image

1.3 步驟

實現(xiàn)此案例需要按照如下步驟進(jìn)行渔期。

步驟一:使用命令增、刪渴邦、改LVS集群規(guī)則

1)創(chuàng)建LVS虛擬集群服務(wù)器
[root@svr5 ~]# ipvsadm -A -t 192.168.0.254 -s wrr -p 30
2)為集群添加若干real server
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m -w 1
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.2 -m -w 2
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.3 -m -w 3
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.4 -m -w 4
3)修改集群服務(wù)器設(shè)置
[root@svr5 ~]# ipvsadm -E -t 192.168.0.254 -s sh -p 30
4)修改read server
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m
5)查看LVS狀態(tài)
[root@svr5 ~]# ipvsadm –Ln
6)保存所有規(guī)則
[root@svr5 ~]# service ipvsadm save
7)清空所有規(guī)則
[root@svr5 ~]# ipvsadm –C

2 部署LVS-NAT集群

2.1 問題

使用LVS實現(xiàn)NAT模式的集群調(diào)度服務(wù)器疯趟,為用戶提供Web服務(wù):

  • 集群對外公網(wǎng)IP地址為202.114.106.20
  • 調(diào)度器內(nèi)網(wǎng)IP地址為192.168.0.254
  • 真實Web服務(wù)器地址分別為192.168.0.1、192.168.0.2谋梭、192.168.0.3
  • 使用加權(quán)輪詢調(diào)度算法信峻,真實服務(wù)器權(quán)重與其IP地址末尾數(shù)一致

2.2 方案

使用4臺虛擬機(jī),1臺作為Director調(diào)度器瓮床、3臺作為Real Server站欺、物理機(jī)作為客戶端,拓?fù)浣Y(jié)構(gòu)如圖-1所示纤垂。

image

圖-1

2.3 步驟

實現(xiàn)此案例需要按照如下步驟進(jìn)行矾策。

步驟一:配置網(wǎng)絡(luò)環(huán)境

1)設(shè)置Web服務(wù)器網(wǎng)絡(luò)參數(shù)
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web1 ~]# systemctl restart NetworkManager
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web2 ~]# systemctl restart NetworkManager
 [root@web3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web3 ~]# systemctl restart NetworkManager
2)自定義Web頁面
[root@web1 ~]# echo “192.168.0.1” > /var/www/html/index.html
[root@web2 ~]# echo “192.168.0.2” > /var/www/html/index.html
[root@web3 ~]# echo “192.168.0.3” > /var/www/html/index.html
3)啟動Web服務(wù)器軟件
[root@web1 ~]# service httpd start
[root@web2 ~]# service httpd start
[root@web3 ~]# service httpd start
4)設(shè)置LVS調(diào)度器網(wǎng)絡(luò)參數(shù)
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=202.114.106.20
DNS1=202.106.0.20
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
DNS1=202.106.0.20
[root@lvs ~]# systemctl restart NetworkManager
[root@lvs ~]# sed -i '/ip_forward/s/0/1/'  sysctl.conf  //開啟路由轉(zhuǎn)發(fā)
[root@lvs ~]# sysctl -p

步驟二:調(diào)度器安裝軟件并啟動服務(wù)

1)安裝軟件
[root@lvs Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm
2)啟動服務(wù)
[root@lvs Packages]# service ipvsadm start
[root@lvs Packages]# chkconfig ipvsadm on

步驟三:部署LVS-NAT模式調(diào)度器

1)創(chuàng)建集群服務(wù)器
[root@lvs ~]# ipvsadm -A -t 202.114.106.20:80 -s wrr
2)添加真實服務(wù)器
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.1 -w 1
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.2 -w 2
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.3 -w 3
3)查看規(guī)則列表,并保存規(guī)則
[root@lvs ~]# ipvsadm –Ln
[root@lvs ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm

步驟四:客戶端測試

客戶端使用curl命令反復(fù)連接http://202.114.106.20峭沦,查看訪問的頁面是否會輪詢到不同的后端真實服務(wù)器贾虽。

3 部署LVS-DR集群

3.1 問題

使用LVS實現(xiàn)DR模式的集群調(diào)度服務(wù)器,為用戶提供Web服務(wù):

  • 路由器對外公網(wǎng)IP地址為202.114.106.20
  • 路由器內(nèi)網(wǎng)IP地址為192.168.0.254
  • 路由是需要設(shè)置SNAT及DNAT功能
  • LVS調(diào)度器真實IP地址為192.168.0.10
  • LVS調(diào)度器VIP地址設(shè)置為192.168.0.253
  • 真實Web服務(wù)器地址分別為192.168.0.1吼鱼、192.168.0.2
  • 使用加權(quán)輪詢調(diào)度算法蓬豁,真實服務(wù)器權(quán)重與其IP地址末尾數(shù)一致

3.2 方案

使用4臺虛擬機(jī)绰咽,1臺作為Linux路由器、1臺作為Director調(diào)度器地粪、2臺作為Real Server取募、物理機(jī)作為客戶端,拓?fù)浣Y(jié)構(gòu)如圖-2所示蟆技。

image

圖-2

3.3 步驟

實現(xiàn)此案例需要按照如下步驟進(jìn)行玩敏。

步驟一:配置網(wǎng)絡(luò)環(huán)境

1)設(shè)置Web服務(wù)器網(wǎng)絡(luò)參數(shù)
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.255
[root@web1 ~]# vim /etc/sysctl.conf
.. ..
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
[root@web1 ~]# sysctl -p
[root@web1 ~]# systemctl restart NetworkManager
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.255
[root@web2 ~]# vim /etc/sysctl.conf
.. ..
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
[root@web2 ~]# sysctl -p
[root@web2 ~]# systemctl restart NetworkManager
2)自定義Web頁面
[root@web1 ~]# echo “192.168.0.1” > /var/www/html/index.html
[root@web2 ~]# echo “192.168.0.2” > /var/www/html/index.html
3)啟動Web服務(wù)器軟件
[root@web1 ~]# systemctl start httpd; systemctl enable httpd
[root@web2 ~]# systemctl start httpd; systemctl enable httpd
4)設(shè)置LVS調(diào)度器網(wǎng)絡(luò)參數(shù)
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@lvs ~]# systemctl restart NetworkManager
5)設(shè)置Linux路由器網(wǎng)絡(luò)參數(shù)
[root@router ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=202.114.106.20
DNS1=202.106.0.20
[root@router ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
DNS1=202.106.0.20
[root@router ~]# systemctl restart NetworkManager
6)設(shè)置Linux路由器的SNAT、DNAT功能
[root@router ~]# sed -i '/ip_forward/s/0/1/'  sysctl.conf  //開啟路由轉(zhuǎn)發(fā)
[root@router ~]# sysctl -p
[root@router ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p tcp –j SNAT --to-source 202.114.106.20
[root@router ~]# iptables -t nat -A PREROUTING -d 202.114.106.20 -p tcp --dport 80 –j DNAT --to-destination 192.168.0.253:80
[root@router ~]# service iptables save

步驟二:調(diào)度器安裝軟件并啟動服務(wù)

1)安裝軟件
[root@lvs Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm
2)啟動服務(wù)
[root@lvs Packages]# systemctl start ipvsadm
[root@lvs Packages]# systemctl enable ipvsadm

步驟三:部署LVS-DR模式調(diào)度器

1)創(chuàng)建集群服務(wù)器
[root@lvs ~]# ipvsadm -A -t 192.168.0.253:80 -s wrr
2)添加真實服務(wù)器
[root@lvs ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.1 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.2 -g -w 2
3)查看規(guī)則列表质礼,并保存規(guī)則
[root@lvs ~]# ipvsadm –Ln
[root@lvs ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm

步驟四:客戶端測試

客戶端使用curl命令反復(fù)連接http://202.114.106.20旺聚,查看訪問的頁面是否會輪詢到不同的后端真實服務(wù)器。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眶蕉,一起剝皮案震驚了整個濱河市砰粹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌造挽,老刑警劉巖碱璃,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饭入,居然都是意外死亡嵌器,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門圣拄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘴秸,“玉大人毁欣,你說我怎么就攤上這事庇谆。” “怎么了凭疮?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵饭耳,是天一觀的道長。 經(jīng)常有香客問我执解,道長寞肖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任衰腌,我火速辦了婚禮新蟆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘右蕊。我一直安慰自己琼稻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布饶囚。 她就那樣靜靜地躺著帕翻,像睡著了一般鸠补。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嘀掸,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天紫岩,我揣著相機(jī)與錄音,去河邊找鬼睬塌。 笑死泉蝌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的衫仑。 我是一名探鬼主播梨与,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼文狱!你這毒婦竟也來了粥鞋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瞄崇,失蹤者是張志新(化名)和其女友劉穎呻粹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苏研,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡等浊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了摹蘑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筹燕。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖衅鹿,靈堂內(nèi)的尸體忽然破棺而出撒踪,到底是詐尸還是另有隱情,我是刑警寧澤大渤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布制妄,位于F島的核電站,受9級特大地震影響泵三,放射性物質(zhì)發(fā)生泄漏耕捞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一烫幕、第九天 我趴在偏房一處隱蔽的房頂上張望俺抽。 院中可真熱鬧,春花似錦较曼、人聲如沸磷斧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞳抓。三九已至埃疫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間孩哑,已是汗流浹背栓霜。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留横蜒,地道東北人胳蛮。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像丛晌,于是被迫代替她去往敵國和親仅炊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359