版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 RedHat5+lvs實(shí)現(xiàn)負(fù)載均衡一、Linux Virtual Server概述Linux Virtual Server (LVS)是一套完整的基于IP的負(fù)載均衡的集群軟件。LVS運(yùn)行在一對(duì)有相似配置的計(jì)算機(jī)上:一個(gè)作為活動(dòng)LVS Router(Active LVS Router),一個(gè)作為備份LVS Router(Backup LVS Router)?;顒?dòng)LVS Router服務(wù)有兩個(gè)角色:* 均衡負(fù)載到真實(shí)服務(wù)器上。* 檢查真實(shí)服務(wù)器提供的服務(wù)是否正常。備份LVS Router用來監(jiān)控活動(dòng)的LVS Router,以備活動(dòng)的LVS Router失敗時(shí)由備份LVS Router接管。
2、60;Pulse進(jìn)程運(yùn)行在活動(dòng)LVS Router和備份LVS Router上。在備份LVS Router上,pulse發(fā)送一個(gè)心跳(heartbeat)到活動(dòng)LVS Router的公網(wǎng)接口上以檢查活動(dòng)LVS Router是否正常。在活動(dòng)LVS Router上,pulse啟動(dòng)lvs進(jìn)程并響應(yīng)來自于備份LVS Router的心跳。lvs進(jìn)程調(diào)用ipvsadm工具去配置和維護(hù)IPVS路由表,并為每一個(gè)在真實(shí)服務(wù)器上的虛擬服務(wù)啟動(dòng)一個(gè)nanny進(jìn)程。每一個(gè)nanny進(jìn)程去檢查真實(shí)服務(wù)器上的虛擬服務(wù)狀態(tài),并將故障情況通知lvs進(jìn)程。假如一個(gè)故障被發(fā)現(xiàn),lvs進(jìn)程通知ipvsadm在IPVS路由表中將此
3、節(jié)點(diǎn)刪除。如果備份LVS Router未收到來自于活動(dòng)LVS Router的響應(yīng),它將調(diào)用send_arp將虛擬IP地址再分配到備份LVS Router的公網(wǎng)接口上。并在公網(wǎng)接口和局域網(wǎng)接口上分別發(fā)送一個(gè)命令去關(guān)掉活動(dòng)LVS Router上的lvs進(jìn)程。同時(shí)啟動(dòng)自己的lvs進(jìn)程來調(diào)度客戶端請(qǐng)求。下面是一個(gè)兩層結(jié)構(gòu)的LVS架構(gòu): 下面是一個(gè)三層結(jié)構(gòu)的LVS架構(gòu): 兩層結(jié)構(gòu)的LVS架構(gòu)適合于Real Server上的數(shù)據(jù)變化不是很頻繁的情況,如果Real Server上的數(shù)據(jù)變化很頻繁應(yīng)該考慮使用三層結(jié)構(gòu)的LVS架構(gòu),將數(shù)據(jù)放到一個(gè)共享文件系統(tǒng)(GFS)上供所有的Real Se
4、rver同時(shí)讀寫。你可以使用VS/NAT、VS/TUN和VS/DR來實(shí)現(xiàn)IP負(fù)載均衡:* 使用VS/NAT方法:客戶通過Virtual IP Address(虛擬服務(wù)的IP地址)訪問網(wǎng)絡(luò)服務(wù)時(shí),請(qǐng)求報(bào)文到達(dá)調(diào)度器,調(diào)度器根據(jù)連接調(diào)度算法從一組真實(shí)服務(wù)器中選出一臺(tái)服務(wù)器,將報(bào)文的目標(biāo)地址Virtual IP Address改寫成選定服務(wù)器的地址,報(bào)文的目標(biāo)端口改寫成選定服務(wù)器的相應(yīng)端口,最后將修改后的報(bào)文發(fā)送給選出的服務(wù)器。同時(shí),調(diào)度器在連接Hash表中記錄這個(gè)連接,當(dāng)這個(gè)連接的下一個(gè)報(bào)文到達(dá)時(shí),從連接Hash表中可以得到原選定服務(wù)器的地址和端口,進(jìn)行同樣的改寫操作,并將報(bào)文傳給原選定的服務(wù)器。
5、當(dāng)來自真實(shí)服務(wù)器的響應(yīng)報(bào)文經(jīng)過調(diào)度器時(shí),調(diào)度器將報(bào)文的源地址和源端口改為Virtual IP Address和相應(yīng)的端口,再把報(bào)文發(fā)給用戶。當(dāng)使用VS/NAT方法時(shí),如果有大量的響應(yīng)數(shù)據(jù)經(jīng)過調(diào)度器,調(diào)度器將成為整個(gè)集群的瓶頸。 * 使用VS/TUN方法:VS/TUN的連接調(diào)度和管理與VS/NAT中的一樣,只是它的報(bào)文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,將請(qǐng)求報(bào)文封裝在另一個(gè)IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來目標(biāo)地址為VIP的報(bào)文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的IP隧道設(shè)備上,所以就處理這個(gè)請(qǐng)求
6、,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。 * 使用VS/DR方法:調(diào)度器和服務(wù)器組都必須在物理上有一個(gè)網(wǎng)卡通過不分?jǐn)嗟木钟蚓W(wǎng)相連,如通過交換機(jī)或者高速的HUB相連。VIP地址為調(diào)度器和服務(wù)器組共享,調(diào)度器配置的VIP地址是對(duì)外可見的,用于接收虛擬服務(wù)的請(qǐng)求報(bào)文;所有的服務(wù)器把VIP地址配置在各自的Non-ARP網(wǎng)絡(luò)設(shè)備上,它對(duì)外面是不可見的,只是用于處理目標(biāo)地址為VIP的網(wǎng)絡(luò)請(qǐng)求。在VS/DR中,調(diào)度器根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,不修改也不封裝IP報(bào)文,而是將數(shù)據(jù)幀的MAC地址改為選出服務(wù)器的MAC地址,再將修改后的數(shù)據(jù)幀在與服務(wù)器組的局域網(wǎng)上發(fā)送。因?yàn)閿?shù)據(jù)幀的
7、MAC地址是選出的服務(wù)器,所以服務(wù)器肯定可以收到這個(gè)數(shù)據(jù)幀,從中可以獲得該IP報(bào)文。當(dāng)服務(wù)器發(fā)現(xiàn)報(bào)文的目標(biāo)地址VIP是在本地的網(wǎng)絡(luò)設(shè)備上,服務(wù)器處理這個(gè)報(bào)文,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。二、本實(shí)驗(yàn)拓?fù)鋱D 在實(shí)際環(huán)境中可修改00、0、1為真IP。三、LVS在RedHat 5上的安裝1、需要的安裝包:操作系統(tǒng):RedHat 5LVS安裝包:php-common-5.1.6-5.el5.i386.rpmphp-cli-5.1.6-5.el5.i386.rpmphp-5.1.6-5.el5.i386.rpmipvs
8、adm-1.24-8.1-i386.rpmpiranha-0.8.4-7.el5.i386.rpm如果系統(tǒng)中沒有安裝Apache還需要Apache的安裝包。 2、在Active LVS Router上安裝PHPShell # rpm -ivh php-common-5.1.6-5.el5.i386.rpmShell # rpm -ivh php-cli-5.1.6-5.el5.i386.rpmShell # rpm -ivh php-5.1.6-5.el5.i386.rpmShell # vi /etc/httpd/conf/httpd.conf查找AddType applicati
9、on/x-compress .ZAddType application/x-gzip .gz .tgz在其下加入:AddType application/x-tar .tgzAddType application/x-httpd-php .phpAddType image/x-icon .ico修改DirectoryIndex 行,添加index.php修改為DirectoryIndex index.php index.html index.html.var# vi /var/www/html/test.php添加以下行:/php標(biāo)記(用<代替)?php
10、; phpinfo();?wq保存退出。Shell # /etc/init.d/httpd restart /重新啟動(dòng)Apache打開瀏覽器進(jìn)行測試,輸入http:/localhost/test.php,如果能夠成功顯示PHP變量則說明PHP安裝成功。 3、在Active LVS Router上安裝LVS所需要的包Shell # rpm -ivh ipvsadm-1.24-8.1-i386.rpmShell # rpm -ivh piranha-0.8.4-7.el5.i386.rpm 4、在Active
11、LVS Router上配置VIP虛擬IP和主機(jī)路由安裝IPVS后,就可以配置LVS集群了,首先在Director Server上綁定一個(gè)虛擬IP(也叫VIP),此IP用于對(duì)外提供服務(wù),執(zhí)行如下命令:Shell #ifconfig eth0:0 00 broadcast 00 netmask 55 up此處在eth0設(shè)備上綁定了一個(gè)虛擬設(shè)備eth0:0,同時(shí)設(shè)置了一個(gè)虛擬IP是00,也就是上面我們規(guī)劃的IP地址,然后指定廣播地址也為00,需要特別注意的是,這里的子網(wǎng)掩碼為255.25
12、5.255.255。然后給設(shè)備eth0:0指定一條路由,執(zhí)行如下指令:Shell #route add -host 00 dev eth0:0 5、在Active LVS Router上打開數(shù)據(jù)轉(zhuǎn)發(fā)Shell # vi /etc/sysctl.conf找到下面行:net.ipv4.ip_forward = 0將0 改成1,net.ipv4.ip_forward = 1執(zhí)行如下命令來應(yīng)用:sysctl -p聲明服務(wù),添加服務(wù)器# ipvsadm -A -t 01:80 -s rr# ipvsadm -a -t 192.168.1.
13、101:80 -r 00 -g# ipvsadm -a -t 01:80 -r 01 g保存Service ipvsadm save6、在Backup LVS Router上重復(fù)2、3、4、5步。 6、在Active LVS Router上初始化piranha的密碼Shell # piranha-passwd輸入兩遍密碼即可。在Active LVS Router上啟動(dòng)需要的服務(wù)Shell # /etc/init.d/piranha-gui start在Active LVS Router上配置LVS (兩種方法實(shí)現(xiàn)pir
14、anha的配置)一:通過編譯文件來進(jìn)行piranha的配置Piranha安裝完畢后,會(huì)產(chǎn)生/etc/sysconfig/ha/lvs.cf文件,默認(rèn)此文件是空的,可以通過Piranha提供的web界面配置此文件,也可以直接手動(dòng)編輯此文件,編輯好的lvs.cf文件內(nèi)容類似如下,注意,“#”號(hào)后面的內(nèi)容為注釋。rootlocalhost # more /etc/sysconfig/ha/lvs.cfserial_no = 18 #序號(hào)。prim
15、ary = 6 #指定主Director Server的真實(shí)IP地址,是相對(duì)與有備用的Director Server而言的,也就是給Director Server做HA Cluster。service = lvs #指定雙機(jī)的服務(wù)名。backup_active = 0 #是否激活備用D
16、irector Server。“0”表示不激活,“1”表示激活。backup = #這里指定備用Director Server的真實(shí)IP地址,如果沒有備用Director Server,可以用“”代替。heartbeat = 0 #是否開啟心跳,1表示開啟,0表示不開啟。heartbeat_
17、port = 539 #指定心跳的UDP通信端口。keepalive = 5 #心跳間隔時(shí)間,單位是秒。deadtime = 10 #如果主Director Server在deadtime(秒
18、)后沒有響應(yīng),那么備份DirectorServer就會(huì)接管主Director Server的服務(wù)。network = direct #指定LVS的工作模式,direct表示DR模式,nat表示NAT模式,tunnel表示TUNL模式。debug_level = NONE #定義debug調(diào)試信息級(jí)別。virtual
19、60; #指定虛擬服務(wù)的名稱。active = 1 #是否激活此服務(wù)。address = 00 eth0:0 #虛擬服務(wù)綁定的虛擬IP以及網(wǎng)絡(luò)設(shè)備名。port = 80 #虛擬服務(wù)的端口。send = "GET / HTTP/1.0rnrn&
20、quot; #給real server發(fā)送的驗(yàn)證字符串。expect = "HTTP" #服務(wù)器正常運(yùn)行時(shí)應(yīng)該返回的文本應(yīng)答信息,用來判斷real server是否工作正常。use_regex = 0 # expect選項(xiàng)中是否使用正則表達(dá)式,0表示不使用
21、,1表示使用。load_monitor = none #LVS中的Director Server能夠使用 rup 或 ruptime 來監(jiān)視各個(gè)real server的負(fù)載狀態(tài)。該選項(xiàng)有3個(gè)可選值,rup、ruptime和none,如果選擇rup,每個(gè)real server就必須運(yùn)行rstatd服務(wù)。如果選擇了ruptime,每個(gè)real server就必須運(yùn)行 rwhod 服務(wù)。scheduler = rr
22、0; #指定LVS的調(diào)度算法。protocol = tcp #虛擬服務(wù)使用的協(xié)議類型。timeout = 6 #real server失效后從lvs路由列表中移除失效real server所必
23、須經(jīng)過的時(shí)間,以秒為單位。reentry = 15 #某個(gè)real server被移除后,重新加入lvs路由列表中所必須經(jīng)過的時(shí)間,以秒為單位。quiesce_server = 0 #如果此選項(xiàng)為1.那么當(dāng)某個(gè)新的節(jié)點(diǎn)加入集群時(shí),最少連接數(shù)會(huì)被重設(shè)為零,因此LVS會(huì)發(fā)送大量請(qǐng)求到此服務(wù)節(jié)點(diǎn),造成新的節(jié)點(diǎn)服務(wù)阻塞
24、,建議設(shè)置為0。server RS1 #指定real server服務(wù)名。address = 32 #指定real server的IP地址。active = 1
25、60; #是否激活此real server服務(wù)。weight = 1 #指定此real server的權(quán)值,是個(gè)整數(shù)值,權(quán)值是相對(duì)于所有real server節(jié)點(diǎn)而言的,權(quán)值高的real server處理負(fù)載的性能相對(duì)較強(qiáng)。server RS2 address = 44active = 1weight = 1編輯完成,然后啟動(dòng)pulse服務(wù),即啟動(dòng)lvs服務(wù)
26、rootlocalhost #service pulse start同理,此種方式下也要啟用系統(tǒng)的包轉(zhuǎn)發(fā)功能:rootlocalhost #echo "1" >/proc/sys/net/ipv4/ip_forward到此為止,Piranha工具方式配置Director Server完畢。二:圖形界面配置piranha首先在瀏覽器中輸入http:/localhost:3636打開piranha,輸入用戶名:piranha,密碼:上面設(shè)置的密碼。 登錄后將看到監(jiān)視屏幕。 配置Global Settings(是對(duì)Active LVS Rou
27、ter的配置),點(diǎn)擊Direct Routing,然后輸入公網(wǎng)IP,和局域網(wǎng)IP。點(diǎn)擊ACCEPT按鈕保存設(shè)置。 配置Redundancy(是對(duì)Backup LVS Router的配置),輸入公網(wǎng)IP,和局域網(wǎng)IP。點(diǎn)擊ACCEPT按鈕保存設(shè)置。 點(diǎn)擊ADD按鈕添加一個(gè)服務(wù)。 按下面配置添加的服務(wù)。配置完成后不要忘記點(diǎn)擊ACCEPT按鈕保存設(shè)置。 點(diǎn)擊REAL SERVER連接,配置Real Server。 點(diǎn)擊ADD按鈕添加一個(gè)節(jié)點(diǎn),點(diǎn)擊EDIT按鈕編輯節(jié)點(diǎn),點(diǎn)擊(DE)ACTIVATE按鈕激活
28、節(jié)點(diǎn)。點(diǎn)擊MONITORING SCRIPTS連接修改監(jiān)控設(shè)置,在此保持默認(rèn)。 點(diǎn)擊VIRTUAL SERVERS連接,然后點(diǎn)擊(DE)ACTIVATE按鈕激活上面設(shè)置的服務(wù)。 7、在Active LVS Router上啟動(dòng)pulse進(jìn)程Shell # /etc/init.d/pulse startShell # chkconfig -level 2345 piranha-gui onShell # chkconfig -level 2345 pulse on拷貝配置文件到Backup LVS Router。Shell # scp /etc/sysconfig/ha/lvs.cfg root
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療診斷、監(jiān)護(hù)及治療設(shè)備制造考核試卷
- 二零二五年度跨境電子商務(wù)平臺(tái)運(yùn)營承包合同2篇
- 合同簽訂授權(quán)委托書
- 2025年滬教版七年級(jí)歷史下冊(cè)月考試卷含答案
- 2025年北師大新版八年級(jí)地理上冊(cè)月考試卷含答案
- 2025年外研版三年級(jí)起點(diǎn)選擇性必修3歷史下冊(cè)階段測試試卷
- 2025年度暖通工程綠色建材采購合同4篇
- 二零二五版景區(qū)導(dǎo)覽門牌定制服務(wù)合同4篇
- 2025版南京市房產(chǎn)局推廣的房屋抵押權(quán)設(shè)立合同模板4篇
- 二零二五年度農(nóng)膜行業(yè)人才培養(yǎng)與交流合同3篇
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(附答案)
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
- 九宮數(shù)獨(dú)200題(附答案全)
- 人員密集場所消防安全管理培訓(xùn)
- 《聚焦客戶創(chuàng)造價(jià)值》課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹脂耐腐蝕立式貯罐
- 典范英語2b課文電子書
- 員工信息登記表(標(biāo)準(zhǔn)版)
評(píng)論
0/150
提交評(píng)論