LVS 簡介及使用

IPVS三種機(jī)制:

VS/NAT蚜点,VS/TUN帝璧,VS/DR


一.LVS是什么先誉?

LVS的英文全稱是Linux?Virtual?Server,即Linux虛擬服務(wù)器的烁。它是我們國家的章文嵩博士的一個開源項(xiàng)目褐耳。在linux內(nèi)存2.6中,它已經(jīng)成為內(nèi)核的一部分渴庆,在此之前的內(nèi)核版本則需要重新編譯內(nèi)核铃芦。二.LVS能干什么?

LVS主要用于多服務(wù)器的負(fù)載均衡襟雷。它工作在網(wǎng)絡(luò)層刃滓,可以實(shí)現(xiàn)高性能,高可用的服務(wù)器集群技術(shù)耸弄。它廉價咧虎,可把許多低性能的服務(wù)器組合在一起形成一個超級服務(wù)器。它易用计呈,配置非常簡單砰诵,且有多種負(fù)載均衡的方法。它穩(wěn)定可靠捌显,即使在集群的服務(wù)器中某臺服務(wù)器無法正常工作茁彭,也不影響整體效果。另外可擴(kuò)展性也非常好扶歪。

三.工作原理


如上圖理肺,LVS可分為三部分:

1.Load?Balancer:這是LVS的核心部分,它好比我們網(wǎng)站MVC模型的Controller。它負(fù)責(zé)將客戶的請求按照一定的算法分發(fā)到下一層不同的服務(wù)器進(jìn)行處理哲嘲,自己本身不做具體業(yè)務(wù)的處理贪薪。另外該層還可用監(jiān)控下一層的狀態(tài),如果下一層的某臺服務(wù)器不能正常工作了眠副,它會自動把其剔除画切,恢復(fù)后又可用加上。該層由一臺或者幾臺Director?Server組成囱怕。

2.Server?Array:該層負(fù)責(zé)具體業(yè)務(wù)霍弹。可有WEB?Server娃弓、mail?Server典格、FTP?Server、DNS?Server等組成台丛。注意耍缴,其實(shí)上層的Director?Server也可以當(dāng)Real?server用的。

3.Shared?Storage:主要是提高上一層數(shù)據(jù)和為上一層保持?jǐn)?shù)據(jù)一致挽霉。四.負(fù)載均衡機(jī)制前面我們說了LVS是工作在網(wǎng)絡(luò)層防嗡。相對于其它負(fù)載均衡的解決辦法,比如DNS域名輪流解析侠坎、應(yīng)用層負(fù)載的調(diào)度蚁趁、客戶端的調(diào)度等,它的效率是非常高的实胸。LVS的通過控制IP來實(shí)現(xiàn)負(fù)載均衡他嫡。IPVS是其具體的實(shí)現(xiàn)模塊。IPVS的主要作用:安裝在Director?Server上面庐完,在Director?Server虛擬一個對外訪問的IP(VIP)钢属。用戶訪問VIP,到達(dá)Director?Server门躯,Director?Server根據(jù)一定的規(guī)則選擇一個Real?Server淆党,處理完成后然后返回給客戶端數(shù)據(jù)。這些步驟產(chǎn)生了一些具體的問題生音,比如如何選擇具體的Real?Server,Real?Server如果返回給客戶端數(shù)據(jù)等等窒升。IPVS為此有三種機(jī)制:

1.VS/NAT(Virtual?Server?via?Network?Address?Translation)缀遍,即網(wǎng)絡(luò)地址翻轉(zhuǎn)技術(shù)實(shí)現(xiàn)虛擬服務(wù)器。當(dāng)請求來到時饱须,Diretor?server上處理的程序?qū)?shù)據(jù)報文中的目標(biāo)地址(即虛擬IP地址)改成具體的某臺Real?Server,端口也改成Real?Server的端口域醇,然后把報文發(fā)給Real?Server。Real?Server處理完數(shù)據(jù)后,需要返回給Diretor?Server譬挚,然后Diretor?server將數(shù)據(jù)包中的源地址和源端口改成VIP的地址和端口锅铅,最后把數(shù)據(jù)發(fā)送出去。由此可以看出减宣,用戶的請求和返回都要經(jīng)過Diretor?Server盐须,如果數(shù)據(jù)過多,Diretor?Server肯定會不堪重負(fù)漆腌。

2.VS/TUN(Virtual?Server?via?IP?Tunneling),即IP隧道技術(shù)實(shí)現(xiàn)虛擬服務(wù)器贼邓。它跟VS/NAT基本一樣,但是Real?server是直接返回數(shù)據(jù)給客戶端闷尿,不需要經(jīng)過Diretor?server,這大大降低了Diretor?server的壓力塑径。

3.VS/DR(Virtual?Server?via?Direct?Routing),即用直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器填具。跟前面兩種方式统舀,它的報文轉(zhuǎn)發(fā)方法有所不同,VS/DR通過改寫請求報文的MAC地址劳景,將請求發(fā)送到Real?Server誉简,而Real?Server將響應(yīng)直接返回給客戶,免去了VS/TUN中的IP隧道開銷枢泰。這種方式是三種負(fù)載調(diào)度機(jī)制中性能最高最好的描融,但是必須要求Director?Server與Real?Server都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。五.負(fù)載調(diào)度算法前面我們都知道Director?Server要選擇不同的Real?server衡蚂,那么它具體的如果選擇Real?Server以達(dá)到負(fù)載均衡的呢窿克,IPVS實(shí)現(xiàn)了八種調(diào)度方法,具體算法可以查看官網(wǎng)或者百度,這里就不一一列出了毛甲。官網(wǎng):www.linuxvirtualserver.org年叮。六、具體配置操作

首先我們這里有三臺機(jī)子玻募,IP分別是192.168.132.30(Diretor?server),192.168.132.64(Real?server?1)只损,192.168.132.68(real?server?2)。在real?server?1和2上面七咧,已經(jīng)配置好了web服務(wù)跃惫,并且我們假設(shè)還有一個對外訪問的虛擬IP是192.168.132.254(VIP)。另外在Diretor?server上面已經(jīng)安裝好了ipvsadm艾栋。下面我們VS/DR介紹詳細(xì)的配置過程爆存。Diretor?server上面的配置:

//首先在Director Server上綁定一個虛擬IP(也叫VIP),此IP用于對外提供服務(wù):

Ifconfig eth0:0 192.168.132.254 broadcast 192.168.132.254 netmask 255.255.255.255 up


//給設(shè)備eth0:0指定一條路由

route add -host 192.168.132.254 dev eth0:0


//啟用系統(tǒng)的包轉(zhuǎn)發(fā)功能

echo "1">/proc/sys/net/ipv4/ip_forward


//清楚ipvsadm以前的設(shè)置

ipvsadm -C

//添加一個新的虛擬IP記錄192.168.132.254蝗砾,其持續(xù)服務(wù)之間是120秒


ipvsadm -A -t 192.168.132.254:80 -s rr -p 120


//在新增的虛擬IP記錄中新增兩天real server記錄先较,-g即為使用VS/DR模式

ipvsadm -a -t 192.168.132.254:80 -r 192.168.132.64:80 -g


ipvsadm -a -t 192.168.132.254:80 -r 192.168.132.68:80 -g


//啟用LVS服務(wù)

ipvsadm


兩臺real?server上的配置:

/*在回環(huán)設(shè)備上綁定了一個虛擬IP地址携冤,并設(shè)定其子網(wǎng)掩碼為255.255.255.255,與Director Server上的虛擬IP保持互通*/

ifconfig lo:0 192.168.132.254 broadcast 192.168.132.254 netmask 255.255.255.255 up

route add -host 192.168.132.254 dev lo:0

//禁用本機(jī)的ARP請求echo "1"?>/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "1"?>/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2"?>/proc/sys/net/ipv4/conf/lo/arp_announce

echo "2"?>/proc/sys/net/ipv4/conf/all/arp_announce

之后在其他客戶端機(jī)子上面闲勺,訪問http://192.168.132.254/曾棕,則可以看到結(jié)果了。

最后我把這個寫出了SHELL腳本菜循,可以下載使用翘地。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市债朵,隨后出現(xiàn)的幾起案子子眶,更是在濱河造成了極大的恐慌,老刑警劉巖序芦,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臭杰,死亡現(xiàn)場離奇詭異,居然都是意外死亡谚中,警方通過查閱死者的電腦和手機(jī)渴杆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宪塔,“玉大人磁奖,你說我怎么就攤上這事∧晨穑” “怎么了比搭?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長南誊。 經(jīng)常有香客問我身诺,道長,這世上最難降的妖魔是什么抄囚? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任霉赡,我火速辦了婚禮,結(jié)果婚禮上幔托,老公的妹妹穿的比我還像新娘穴亏。我一直安慰自己,他們只是感情好重挑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布嗓化。 她就那樣靜靜地躺著,像睡著了一般谬哀。 火紅的嫁衣襯著肌膚如雪刺覆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天玻粪,我揣著相機(jī)與錄音隅津,去河邊找鬼。 笑死劲室,一個胖子當(dāng)著我的面吹牛伦仍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播很洋,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼充蓝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喉磁?” 一聲冷哼從身側(cè)響起谓苟,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎协怒,沒想到半個月后涝焙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡孕暇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年仑撞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妖滔。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡隧哮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出座舍,到底是詐尸還是另有隱情沮翔,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布曲秉,位于F島的核電站采蚀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岸浑。R本人自食惡果不足惜搏存,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望矢洲。 院中可真熱鬧璧眠,春花似錦、人聲如沸读虏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盖桥。三九已至灾螃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揩徊,已是汗流浹背腰鬼。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工嵌赠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人熄赡。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓姜挺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親彼硫。 傳聞我的和親對象是個殘疾皇子炊豪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

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