第十九周作業(yè)

一硬猫、簡(jiǎn)述LVS四種集群特點(diǎn)及使用場(chǎng)景

1、LVS-NAT

多目標(biāo)IP的DNAT松嘶,通過(guò)將請(qǐng)求報(bào)文中的目標(biāo)地址和目標(biāo)端口修改為某挑選出的RS的RIP和PORT實(shí)現(xiàn)轉(zhuǎn)發(fā)

(1) RIP和DIP必須在同一個(gè)IP網(wǎng)絡(luò)昔期,且應(yīng)該使用私網(wǎng)地址;RS的網(wǎng)關(guān)要指向DIP刻恭;

(2) 請(qǐng)求報(bào)文和響應(yīng)報(bào)文都必須經(jīng)由Director轉(zhuǎn)發(fā)瞧省;Director易于成為系統(tǒng)瓶頸;

(3) 支持端口映射鳍贾,可修改請(qǐng)求報(bào)文的目標(biāo)PORT鞍匾;

(4) VS必須是Linux系統(tǒng),RS可以是任意系統(tǒng)骑科;

應(yīng)用場(chǎng)景:由于配置簡(jiǎn)單橡淑,節(jié)省IP的特點(diǎn),一般用在并發(fā)量不大的中小企業(yè)咆爽;

2梁棠、LVS-DR

直接路由;通過(guò)為請(qǐng)求報(bào)文重新封裝一個(gè)MAC首部進(jìn)行轉(zhuǎn)發(fā)斗埂,源MAC是DIP所在接口的MAC符糊,目標(biāo)MAC是某挑選出的RS的RIP所在接口的MAC地址;源IP/PORT以及目標(biāo)IP/PORT均保持不變呛凶;

(1) 確保前端路由器將目標(biāo)IP的VIP的請(qǐng)求報(bào)文發(fā)往Director男娄;

(a) 在前端網(wǎng)關(guān)做靜態(tài)綁定;

(b) 在RS上使用arptables漾稀;

(c) 在RS上修改內(nèi)核參數(shù)以限制arp通告及應(yīng)答級(jí)別模闲;arp_ignore與arp_announce

(2) RS的RIP可以使用私網(wǎng)地址,也可以是公網(wǎng)地址县好;RIP與DIP在同一IP網(wǎng)絡(luò)围橡;RIP的網(wǎng)關(guān)不指向DIP,以確保響應(yīng)報(bào)文不會(huì)經(jīng)由Director缕贡;

(3) RS跟Director要在同一個(gè)物理網(wǎng)絡(luò)翁授;

(4) 請(qǐng)求報(bào)文要經(jīng)由Director,但響應(yīng)不能經(jīng)由Director晾咪,而是由RS直接發(fā)往Client收擦;

(5) 不支持端口映射;

應(yīng)用場(chǎng)景:并發(fā)量非常大的情況下會(huì)用到此類(lèi)型谍倦,DR模型的并發(fā)處理量能達(dá)到硬件級(jí)別的能力塞赂;

3、LVS-TUN

轉(zhuǎn)發(fā)方式:不修改請(qǐng)求報(bào)文的IP首部(源IP為CIP昼蛀,目標(biāo)IP為VIP)宴猾,而是在原IP報(bào)文之外再封裝一個(gè)IP首部(源IP是DIP圆存,目標(biāo)IP是RIP),將報(bào)文發(fā)往挑選出的目標(biāo)RS仇哆;RS直接響應(yīng)給客戶端(源IP是VIP沦辙,目標(biāo)IP是CIP);

(1) DIP讹剔、VIP油讯、RIP都應(yīng)該是公網(wǎng)地址;

(2) RS的網(wǎng)關(guān)不能也不可指向DIP延欠;

(3) 請(qǐng)求報(bào)文要經(jīng)由Director陌兑,但響應(yīng)不能經(jīng)由Director;

(4) 不支持端口映射由捎;

(5) RS的OS得支持隧道功能兔综;

應(yīng)用場(chǎng)景:如果環(huán)境要求DIP與RIP不在同一物理網(wǎng)絡(luò)(如災(zāi)備)時(shí),就需要用到lvs-tun模型隅俘;

4邻奠、LVS-FULLNAT

通過(guò)同時(shí)修改請(qǐng)求報(bào)文的源IP地址和目標(biāo)IP地址進(jìn)行轉(zhuǎn)發(fā);

(1) VIP是公網(wǎng)地址为居,RIP和DIP是私網(wǎng)地址碌宴,且通常不在同一IP網(wǎng)絡(luò);因此蒙畴,RIP的網(wǎng)關(guān)一般不會(huì)指向DIP贰镣;

(2) RS收到的請(qǐng)求報(bào)文源地址是DIP,因此膳凝,只能響應(yīng)給DIP碑隆;但Director還要將其發(fā)往Client;

(3) 請(qǐng)求和響應(yīng)報(bào)文都經(jīng)由Director蹬音;

(4) 支持端口映射上煤;

應(yīng)用場(chǎng)景:與lvs-nat類(lèi)似,解決了跨越網(wǎng)段部署lvs的問(wèn)題

二著淆、描術(shù)LVS-DR工作原理劫狠,并配置實(shí)現(xiàn)

主機(jī):四臺(tái),一臺(tái)VS服務(wù)器永部,二臺(tái)RS服務(wù)器独泞,一臺(tái)客戶端服務(wù)器

網(wǎng)絡(luò)配置:VS服務(wù)器 DIP:192.168.27.7(eth0),RS1服務(wù)器RIP:192.168.27.17(eth0)苔埋,RS2服務(wù)器RIP:192.168.27.27(eth0)懦砂,VIP:192.168.27.100(lo:1),客戶端服務(wù)器CIP:192.168.27.37(eth1)

軟件包:keepalived,ipvsadm荞膘,httpd(光盤(pán)yum源)

1罚随、在VS服務(wù)器上配置

[root@VS ~]# yum install -y ipvsadm
[root@VS ~]# ifconfig eth0:1 192.168.27.100/32
[root@VS ~]# ipvsadm -A -t 192.168.27.100:80 -s wrr
[root@VS ~]# ipvsadm -a -t 192.168.27.100:80 -r 192.168.27.17 -g -w 1
[root@VS ~]# ipvsadm -a -t 192.168.27.100:80 -r 192.168.27.27 -g -w 1
[root@VS ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.27.100:80 wrr
  -> 192.168.27.17:80             Route   1      0          0         
  -> 192.168.27.27:80             Route   1      0          0

2、在RS1服務(wù)器上配置

[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
[root@RS1 ~]# ifconfig lo:1 192.168.27.100/32

[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo 192.168.27.17 RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl start httpd

3衫画、在RS2服務(wù)器上配置

[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS2 ~]# ifconfig lo:1 192.168.27.100/32

[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo 192.168.27.27 RS2 > /var/www/html/index.html
[root@RS2 ~]# systemctl start httpd

4毫炉、在客戶端服務(wù)器上測(cè)試

[root@client ~]# while true; do curl 192.168.27.100 ;sleep 1; done
192.168.27.17 RS1
192.168.27.27 RS2
192.168.27.17 RS1
192.168.27.27 RS2
192.168.27.17 RS1
192.168.27.27 RS2
192.168.27.17 RS1
192.168.27.27 RS2

三瓮栗、實(shí)現(xiàn)LVS+Keepalived高可用

主機(jī):四臺(tái)削罩,兩臺(tái)LVS+Keepalived的主備服務(wù)器(lvs1:192.168.27.7,lvs2:192.168.27.17)费奸,兩臺(tái)RS服務(wù)器(RS1:192.168.27.37弥激,RS2:192.168.27.47)

軟件包:keepalived,ipvsadm愿阐,httpd(光盤(pán)yum源)

1微服、兩臺(tái)LVS+Keepalived的主備服務(wù)器安裝ipvsadm與keepalived

[root@lvs1 ~]# yum install -y ipvsadm keepalived
[root@lvs2 ~]# yum install -y ipvsadm keepalived

2、 配置keepalived主備與lvs

[root@lvs1 ~]# cp /etc/keepalived/keepalived.conf{,.bak}    #先備份
[root@lvs1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.100.100.100
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.27.100 dev eth0 label eth0:1
    }
}


virtual_server 192.168.27.100 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    protocol TCP

    sorry_server 127.0.0.1 80

    real_server 192.168.27.27 80 {
        weight 1
        HTTP_GET {
            url {
              path /
              status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.27.37 80 {
        weight 1
        HTTP_GET {
            url {
              path /
              status_code 200
            } 
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }   
    } 
}


#從節(jié)點(diǎn)配置與以上大致一樣缨历,只需修改三項(xiàng)
# router_id node1 ----> router_id node2
# state MASTER ----> state BACKUP
# priority 100  ---->  priority 80

3以蕴、配置RS1與RS2服務(wù)器,先安裝httpd服務(wù)辛孵,再配置RS服務(wù)器的VIP與內(nèi)核參數(shù)

#RS1
[root@rs1 ~]# yum install -y httpd
[root@rs1 ~]# echo 192.168.27.27 RS1 > /var/www/html/index.html
[root@rs1 ~]# systemctl start httpd
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
[root@rs1 ~]# ifconfig lo:1 192.168.27.100/32

#RS2
[root@rs2 ~]# yum install -y httpd
[root@rs2 ~]# echo 192.168.27.37 RS1 > /var/www/html/index.html
[root@rs2 ~]# systemctl start httpd
[root@rs2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
[root@rs2 ~]# ifconfig lo:1 192.168.27.100/32

4丛肮、在Keepalived主節(jié)點(diǎn)與備節(jié)點(diǎn)啟動(dòng)keepalived服務(wù),使用ipvsadm查看LVS集群魄缚,并查看VIP的綁定情況

[root@lvs1 ~]# systemctl start keepalived
[root@lvs2 ~]# systemctl start keepalived

[root@lvs1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.27.100:80 wrr
  -> 192.168.27.27:80             Route   1      0          0         
  -> 192.168.27.37:80             Route   1      0          0 
[root@lvs1 ~]#  ip a |grep 192.168.27.100    #VIP綁定在主節(jié)點(diǎn)上
    inet 192.168.27.100/32 scope global eth0:1

5宝与、 在客戶端測(cè)試LVS的調(diào)度情況及故障轉(zhuǎn)移情況

[root@client ~]# while true;do curl 192.168.27.100 ;sleep 1;done
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
...
#下面先測(cè)試VS服務(wù)器(keepalived)的主備故障轉(zhuǎn)移
[root@lvs1 ~]# systemctl stop keepalived
[root@lvs1 ~]# ip a |grep 192.168.27.100    #主節(jié)點(diǎn)上的VIP已轉(zhuǎn)移
[root@lvs2 ~]# ip a |grep 192.168.27.100    #VIP已綁定在備節(jié)點(diǎn)上,而且訪問(wèn)也未斷
    inet 192.168.27.100/32 scope global eth0:1

[root@lvs1 ~]# systemctl start keepalived    #重新啟動(dòng)主節(jié)點(diǎn)
[root@lvs1 ~]#  ip a |grep 192.168.27.100    #主節(jié)點(diǎn)又取得VIP
    inet 192.168.27.100/32 scope global eth0:1
[root@lvs2 ~]# ip a |grep 192.168.27.100    #備節(jié)點(diǎn)VIP已釋放
#下面測(cè)試RS服務(wù)器故障時(shí)冶匹,lvs的調(diào)度情況
#一開(kāi)始是輪詢(xún)的調(diào)度的习劫,現(xiàn)在關(guān)掉RS1的httpd服務(wù)
[root@rs1 ~]# systemctl stop httpd
#短暫的失敗后,后續(xù)的訪問(wèn)全調(diào)度給RS2了
[root@client ~]# while true;do curl 192.168.27.100 ;sleep 1;done
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
curl: (7) Failed connect to 192.168.27.100:80; Connection refused
192.168.27.37 RS2
192.168.27.37 RS2
#恢復(fù)RS1的httpd服務(wù)
[root@rs1 ~]# systemctl start httpd
#等RS1重新連接正常后嚼隘,可以看到后續(xù)也參與了調(diào)度
[root@client ~]# while true;do curl 192.168.27.100 ;sleep 1;done
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
192.168.27.27 RS1
192.168.27.37 RS2
...
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诽里,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子飞蛹,更是在濱河造成了極大的恐慌谤狡,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桩皿,死亡現(xiàn)場(chǎng)離奇詭異豌汇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)泄隔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)拒贱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事逻澳≌⑻欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵斜做,是天一觀的道長(zhǎng)苞氮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瓤逼,這世上最難降的妖魔是什么笼吟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮霸旗,結(jié)果婚禮上贷帮,老公的妹妹穿的比我還像新娘。我一直安慰自己诱告,他們只是感情好撵枢,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著精居,像睡著了一般锄禽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上靴姿,一...
    開(kāi)封第一講書(shū)人閱讀 52,196評(píng)論 1 308
  • 那天沃但,我揣著相機(jī)與錄音,去河邊找鬼空猜。 笑死绽慈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的辈毯。 我是一名探鬼主播坝疼,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谆沃!你這毒婦竟也來(lái)了钝凶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唁影,失蹤者是張志新(化名)和其女友劉穎耕陷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體据沈,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哟沫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锌介。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗜诀。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猾警,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隆敢,到底是詐尸還是另有隱情发皿,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布拂蝎,位于F島的核電站穴墅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏温自。R本人自食惡果不足惜玄货,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捣作。 院中可真熱鬧誉结,春花似錦、人聲如沸券躁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)也拜。三九已至,卻和暖如春趾痘,著一層夾襖步出監(jiān)牢的瞬間慢哈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工永票, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卵贱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓侣集,卻偏偏與公主長(zhǎng)得像键俱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子世分,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容