服務器群集技術
群集(Cluster)技ji術shu是shi近jin幾ji年nian興xing起qi的de發fa展zhan高gao性xing能neng計ji算suan機ji的de一yi項xiang技ji術shu。它ta是shi一yi組zu相xiang互hu獨du立li的de計ji算suan機ji,利li用yong高gao速su通tong信xin網wang絡luo組zu成cheng一yi個ge單dan一yi的de計ji算suan機ji係xi統tong,並bing以yi單dan一yi係xi統tong的de模mo式shi加jia以yi管guan理li。其qi出chu發fa點dian是shi提ti供gong高gao可ke靠kao性xing、可ke擴kuo充chong性xing和he抗kang災zai難nan性xing。一yi個ge群qun集ji包bao含han多duo台tai擁yong有you共gong享xiang數shu據ju存cun儲chu空kong間jian的de服fu務wu器qi,各ge服fu務wu器qi通tong過guo內nei部bu局ju域yu網wang相xiang互hu通tong信xin。當dang一yi台tai服fu務wu器qi發fa生sheng故gu障zhang時shi,它ta所suo運yun行xing的de應ying用yong程cheng序xu將jiang由you其qi他ta服fu務wu器qi自zi動dong接jie管guan。在zai大da多duo數shu模mo式shi下xia,群qun集ji中zhong所suo有you的de計ji算suan機ji擁yong有you一yi個ge共gong同tong的de名ming稱cheng,群qun集ji內nei的de任ren一yi係xi統tong上shang運yun行xing的de服fu務wu都dou可ke被bei所suo有you的de網wang絡luo客ke戶hu所suo使shi用yong。
概述
群集技術使得網絡主管們可按其所需向網絡中添加資源而無需對網絡結構進行大規模的改動。網絡主管們都清楚一件事——兩(liang)點(dian)之(zhi)間(jian)直(zhi)線(xian)最(zui)短(duan),然(ran)而(er)在(zai)實(shi)際(ji)工(gong)作(zuo)中(zhong)他(ta)們(men)卻(que)總(zong)是(shi)花(hua)費(fei)大(da)量(liang)寶(bao)貴(gui)的(de)時(shi)間(jian)繞(rao)道(dao)而(er)行(xing),尤(you)其(qi)是(shi)在(zai)維(wei)護(hu)和(he)升(sheng)級(ji)各(ge)種(zhong)服(fu)務(wu)器(qi)時(shi)更(geng)是(shi)如(ru)此(ci)。他(ta)們(men)總(zong)是(shi)喜(xi)氣(qi)洋(yang)洋(yang)地(di)抱(bao)回(hui)一(yi)台(tai)嶄(zhan)新(xin)的(de)服(fu)務(wu)器(qi),在(zai)用(yong)過(guo)一(yi)段(duan)時(shi)間(jian)後(hou)才(cai)發(fa)現(xian)它(ta)無(wu)法(fa)承(cheng)受(shou)龐(pang)大(da)的(de)網(wang)絡(luo)流(liu)量(liang)所(suo)帶(dai)來(lai)的(de)壓(ya)力(li)。於(yu)是(shi)這(zhe)台(tai)當(dang)初(chu)嶄(zhan)新(xin)的(de)機(ji)器(qi)便(bian)被(bei)淘(tao)汰(tai)掉(diao),代(dai)之(zhi)以(yi)一(yi)台(tai)更(geng)新(xin)更(geng)龐(pang)大(da)的(de)機(ji)器(qi),最(zui)後(hou)依(yi)然(ran)是(shi)同(tong)樣(yang)的(de)結(jie)局(ju)。網(wang)絡(luo)就(jiu)像(xiang)是(shi)一(yi)個(ge)永(yong)遠(yuan)無(wu)法(fa)完(wan)工(gong)的(de)建(jian)築(zhu)工(gong)地(di)一(yi)樣(yang)。
這zhe正zheng是shi群qun集ji技ji術shu所suo要yao解jie決jue的de問wen題ti。通tong過guo將jiang眾zhong多duo計ji算suan機ji協xie同tong起qi來lai完wan成cheng一yi樣yang工gong作zuo,群qun集ji技ji術shu使shi網wang絡luo具ju有you了le無wu限xian的de可ke伸shen縮suo性xing,就jiu像xiang一yi座zuo房fang子zi,無wu需xu將jiang其qi推tui倒dao重zhong建jian也ye可ke以yi使shi其qi煥huan然ran一yi新xin,並bing且qie由you於yu被bei群qun集ji在zai一yi起qi的de計ji算suan機ji可ke以yi協xie同tong工gong作zuo,係xi統tong的de可ke用yong性xing也ye大da大da地di提ti高gao了le。一yi旦dan某mou個ge結jie點dian出chu現xian故gu障zhang或huo無wu法fa工gong作zuo了le,群qun集ji中zhong的de任ren何he一yi台tai機ji器qi都dou可ke以yi接jie替ti它ta完wan成cheng工gong作zuo。
更(geng)吸(xi)引(yin)人(ren)的(de)是(shi),群(qun)集(ji)技(ji)術(shu)使(shi)網(wang)絡(luo)管(guan)理(li)人(ren)員(yuan)不(bu)用(yong)再(zai)為(wei)設(she)計(ji)服(fu)務(wu)器(qi)的(de)能(neng)力(li)而(er)費(fei)神(shen)了(le)。它(ta)允(yun)許(xu)你(ni)依(yi)照(zhao)需(xu)要(yao)向(xiang)網(wang)絡(luo)中(zhong)添(tian)加(jia)資(zi)源(yuan),量(liang)體(ti)裁(cai)衣(yi)。這(zhe)種(zhong)為(wei)網(wang)絡(luo)度(du)身(shen)訂(ding)做(zuo)服(fu)務(wu)器(qi)的(de)方(fang)法(fa)使(shi)得(de)網(wang)管(guan)工(gong)作(zuo)更(geng)有(you)效(xiao)率(lv)且(qie)更(geng)為(wei)節(jie)約(yue)資(zi)金(jin)。它(ta)省(sheng)去(qu)了(le)因(yin)服(fu)務(wu)器(qi)能(neng)力(li)不(bu)足(zu)而(er)帶(dai)來(lai)的(de)麻(ma)煩(fan),避(bi)免(mian)了(le)因(yin)服(fu)務(wu)器(qi)能(neng)力(li)強(qiang)大(da)得(de)超(chao)過(guo)了(le)實(shi)際(ji)需(xu)要(yao)而(er)帶(dai)來(lai)的(de)浪(lang)費(fei)。
zheyiqietingqilaihenmeimiao,danqunjijishuyebeichongtuhefuzaxingsuokunraozhe,yaoshiqizhengchangyunzhuanjiubixuduibutongdewangluojiagoujiqiyouquediandouyousuolejie。tahaiyiweizhenibixuxianjiejuejigenanti:首先,將軟件與硬件群集結合起來是比較困難的;其次,已有的應用程序需要被大量改寫;第三,這項技術並不是唯一的和最好的解決方法。在某些情況下,采用對稱多機處理(SMP,Symmetrical Multiprocessing)服務器可能是更好的方法。
群集分類
不幸的是,“群集”一詞用法廣泛且意義含混不清。今天,“群集”一詞至少有三種指稱對象——服務器群(Server Farm)、雙機熱備份群集(Failover Cluster)和耦合群集(Coupled Cluster)。
服務器群是一種最古老和最簡單的解決方法。它由一係列節點機組成,這些節點機從一個稱為“管理器”dezhongxindanyuanchuhuoqurenwu。dangwangluozhongcunzaizhedaliangdejisuanhechulixuqiuerjiedianjizhijiandetongxunlianghendishi,zhezhongfangfabushiweiyizhongjiandanyouxiaoqieqiangdayoulidejishu。
Pixar動畫製作室使用一個服務器群來完成電影《玩具總動員》的動畫設計工作。在這一過程中,總體的應用是由許多小的、精(jing)細(xi)複(fu)雜(za)的(de)子(zi)任(ren)務(wu)組(zu)成(cheng)的(de)。每(mei)一(yi)個(ge)子(zi)任(ren)務(wu)都(dou)由(you)群(qun)集(ji)中(zhong)的(de)一(yi)台(tai)節(jie)點(dian)機(ji)單(dan)獨(du)完(wan)成(cheng)。群(qun)集(ji)所(suo)具(ju)有(you)的(de)最(zui)基(ji)本(ben)的(de)容(rong)錯(cuo)性(xing)能(neng)保(bao)證(zheng)了(le),一(yi)旦(dan)對(dui)某(mou)台(tai)機(ji)器(qi)發(fa)出(chu)的(de)請(qing)求(qiu)失(shi)敗(bai),“管理器”可以將這一請求重新分配給其它機器。
然而,服務器群技術是以“嚴格的平行”而著稱的。當遇到需要所有機器協同完成一樣工作的情況(這種情況是很常見的)時,這一模式便不再適用了。
雙機熱備份群集代表了另一種相對古老且極為簡單的網絡架構。它把精力放在了可用性而非可伸縮性上。它通常由兩個節點組成——一個主節點和一個備份節點。兩個節點共同來提供不間斷的服務。如果一台機器出現了故障,另一台會馬上接替它工作。
通tong過guo利li用yong緊jin密mi地di協xie同tong在zai一yi起qi共gong同tong完wan成cheng同tong一yi工gong作zuo的de多duo台tai機ji器qi,耦ou合he群qun集ji所suo關guan注zhu的de不bu再zai是shi簡jian單dan的de可ke用yong性xing或huo可ke升sheng級ji性xing問wen題ti了le。與yu服fu務wu器qi群qun不bu同tong,在zai耦ou合he群qun集ji中zhong每mei台tai機ji器qi的de工gong作zuo不bu再zai是shi相xiang對dui獨du立li的de了le。它ta需xu要yao進jin行xing大da量liang的de跨kua節jie點dian通tong訊xun。與yu雙shuang機ji熱re備bei份fen群qun集ji不bu同tong的de是shi,可ke用yong性xing是shi由you整zheng個ge群qun體ti共gong同tong來lai提ti供gong的de。這zhe意yi味wei著zhe耦ou合he群qun集ji有you能neng力li從cong容rong地di處chu理li多duo點dian故gu障zhang。
四個優勢
與SMP這樣的單機解決方案相比,耦合群集技術至少有4個較為明顯的優勢——絕對可伸縮性、相對可伸縮性、高可用性和高性價比。
絕對可伸縮性是耦合群集技術最明顯的優勢。在處理能力方麵,龐大的群集可以令最龐大的獨立服務器相形見絀。
相(xiang)對(dui)可(ke)伸(shen)縮(suo)性(xing)是(shi)指(zhi)網(wang)絡(luo)通(tong)過(guo)使(shi)群(qun)集(ji)不(bu)斷(duan)成(cheng)長(chang)而(er)滿(man)足(zu)其(qi)不(bu)斷(duan)增(zeng)加(jia)的(de)應(ying)用(yong)需(xu)求(qiu)的(de)能(neng)力(li)。耦(ou)合(he)群(qun)集(ji)在(zai)這(zhe)方(fang)麵(mian)的(de)優(you)勢(shi)更(geng)加(jia)明(ming)顯(xian)。耦(ou)合(he)群(qun)集(ji)的(de)相(xiang)對(dui)可(ke)伸(shen)縮(suo)性(xing)使(shi)得(de)網(wang)絡(luo)主(zhu)管(guan)們(men)不(bu)必(bi)再(zai)在(zai)價(jia)格(ge)低(di)廉(lian)但(dan)有(you)可(ke)能(neng)很(hen)快(kuai)就(jiu)不(bu)能(neng)滿(man)足(zu)需(xu)求(qiu)的(de)小(xiao)係(xi)統(tong)和(he)昂(ang)貴(gui)、龐pang大da的de但dan卻que可ke能neng由you於yu應ying用yong不bu足zu而er閑xian置zhi的de大da機ji器qi之zhi間jian做zuo出chu痛tong苦ku的de選xuan擇ze了le。耦ou合he群qun集ji淘tao汰tai了le那na種zhong叉cha車che式shi的de推tui倒dao重zhong來lai的de升sheng級ji方fang法fa,因yin為wei在zai每mei次ci係xi統tong升sheng級ji時shi這zhe種zhong方fang法fa都dou使shi得de以yi前qian的de投tou資zi付fu之zhi東dong流liu。
能否提供高可用性與網絡的可伸縮性同樣重要。由於每台節點機都有其自己的總線、供(gong)電(dian)係(xi)統(tong)和(he)磁(ci)盤(pan)係(xi)統(tong),任(ren)何(he)一(yi)處(chu)單(dan)點(dian)失(shi)效(xiao)故(gu)障(zhang)都(dou)無(wu)法(fa)使(shi)整(zheng)個(ge)群(qun)集(ji)癱(tan)瘓(huan)。在(zai)多(duo)數(shu)情(qing)況(kuang)下(xia),容(rong)錯(cuo)性(xing)都(dou)可(ke)以(yi)由(you)軟(ruan)件(jian)來(lai)實(shi)現(xian)。麻(ma)煩(fan)的(de)是(shi),這(zhe)類(lei)軟(ruan)件(jian)的(de)開(kai)發(fa)通(tong)常(chang)是(shi)比(bi)較(jiao)困(kun)難(nan)的(de)。
ouhequnjizaixingjiabishangyeshengguolejuyougaochulinenglidefuwuqi。tongguoshiyongtongyongdegoujianmokuai,huashangshaodeduodeqianjiukeyigoujianyigeyudangedaxingfuwuqijuyouxiangtonghuogenggaojisuannenglideouhequnji。
麵臨的難題
群qun集ji技ji術shu有you明ming顯xian的de優you勢shi,但dan其qi缺que陷xian也ye同tong樣yang不bu容rong忽hu視shi。開kai發fa群qun集ji環huan境jing下xia的de應ying用yong程cheng序xu主zhu要yao是shi程cheng序xu員yuan而er不bu是shi網wang絡luo主zhu管guan們men的de工gong作zuo。但dan如ru果guo想xiang提ti供gong最zui優you化hua的de代dai碼ma,程cheng序xu開kai發fa者zhe就jiu需xu要yao盡jin量liang多duo地di了le解jie一yi些xie關guan於yu網wang絡luo流liu量liang的de信xin息xi。
從本質上講,編寫得出色的這類應用程序必須能夠解決3個主要問題:係統部分失效、共享內存及對群集的管理。
duixitongbufenshixiaodechulinenglishizhidangxitongdemougezishebeichuxianguzhangshitaderongcuoheshiyingnengli,zheyinenglishiduishangwuyingyongchengxudezuijibenyaoqiu。dulidegongzuozhanheSMP主zhu機ji永yong遠yuan不bu需xu要yao處chu理li這zhe類lei問wen題ti,因yin為wei單dan獨du的de一yi台tai機ji器qi不bu是shi正zheng在zai運yun行xing就jiu是shi宕dang機ji了le。群qun集ji則ze不bu然ran,它ta的de任ren何he一yi部bu分fen都dou有you可ke能neng失shi效xiao。不bu同tong的de應ying用yong程cheng序xu對dui此ci的de反fan應ying是shi不bu一yi樣yang的de。需xu要yao指zhi出chu的de是shi,“失效”在這裏不僅僅是指硬件,如果某個應用程序需要使用某段內存,卻被告知該內存段無法被訪問,進程就會失敗。
youliangzhongbanfakeyiyonglaiduifubufenshixiao。gaokeyongxingqunjikeyizuidaxiandudiquebaomeitaijiqidezhengchangyunzhuan。zaizheleiqunjizhonghenshaochuxianmougejiedianshixiaohuoyinsuoxudexitongziyuanwufahuodeershijinchengzhongzhideqingkuang。
lingyizhongfangfashitongguorongcuojishulaishixiande。rongcuoqunjiquebaoxitongdequanbuziyuanzongshikeyihuodede。zhezhongtexingshijiaoyichulixitongsuobixude,suoyouxitongchengnuoledejiaoyiguochengdoubixujuyourongcuotexing。
那麼,企業級網絡的主管們應該采取哪種方案呢?對dui於yu新xin手shou,高gao可ke用yong性xing係xi統tong比bi較jiao容rong易yi管guan理li。這zhe種zhong係xi統tong一yi般ban都dou比bi較jiao保bao險xian。網wang管guan們men首shou先xian要yao注zhu意yi係xi統tong是shi否fou聽ting話hua,比bi如ru在zai無wu法fa對dui子zi設she備bei中zhong的de數shu據ju進jin行xing訪fang問wen後hou係xi統tong是shi否fou正zheng常chang或huo重zhong新xin發fa送song失shi敗bai了le的de請qing求qiu是shi否fou方fang便bian等deng。重zhong發fa請qing求qiu是shi目mu前qian最zui簡jian單dan且qie最zui普pu遍bian的de對dui付fu請qing求qiu失shi敗bai的de方fang法fa。這zhe一yi方fang法fa通tong常chang是shi由you查zha詢xun管guan理li器qi來lai實shi現xian的de,它ta反fan複fu地di重zhong試shi失shi敗bai了le的de請qing求qiu直zhi到dao它ta們men得de到dao響xiang應ying,這zhe樣yang便bian將jiang故gu障zhang部bu分fen與yu客ke戶hu端duan分fen離li開kai來lai。
對付請求失敗的另一個方法是所謂的“夥伴係統”(Buddy System)。在該係統中,每台節點機都與一個獨立磁盤冗餘陣列(RAID,Redundent Array of Independent Disk)子係統相連,再通過RAID子係統與另一節點機(夥伴機)相連。在係統正常運行時,每台節點機都隻訪問自己的RAID。yidanmoujiedianyinguzhangershixiao,qihuobanjijiangzidongchulisuoyoudeduishixiaojiedianjidecunchushebeidefangwen。zheyangbianshidezaijieshouqingqiudejiedianjishixiaoshi,fachuqingqiudejiedianjikeyitongguofangwenqihuobanjilaiwanchengqingqiuguocheng。zhezhongfangfayizuididechengbenshixianlejiedianyucipanxitongdegaorongcuoxing。xitongcuowukenenghuijiazhonghuobanjidegongzuofuheeryingxiangqixingneng,danshujurengkeyibeifangwendao。
共gong享xiang內nei存cun也ye不bu失shi為wei一yi種zhong好hao辦ban法fa,至zhi少shao對dui於yu耦ou合he群qun集ji來lai說shuo是shi這zhe樣yang的de。正zheng如ru前qian麵mian所suo提ti到dao的de,共gong享xiang內nei存cun的de目mu的de是shi使shi整zheng個ge群qun集ji在zai應ying用yong程cheng序xu看kan來lai仿fang佛fo是shi一yi個ge單dan獨du的de實shi體ti。
有幾家公司出售專為共享內存式耦合群集而優化了的硬件,稱為SMC。這些機器設備簡化應用程序的接口,使得應用程序不必再為群集中的每個獨立元素而花費精力了。但這種方法有兩個缺陷。首先,SMC加重了防止係統部分失效的應用程序的負擔——某mou個ge請qing求qiu的de失shi敗bai甚shen至zhi會hui引yin起qi整zheng個ge進jin程cheng的de失shi敗bai。通tong過guo改gai寫xie程cheng序xu,讓rang程cheng序xu將jiang失shi敗bai了le的de請qing求qiu發fa送song給gei群qun集ji中zhong的de其qi它ta節jie點dian或huo許xu可ke以yi避bi免mian類lei似si的de故gu障zhang,但dan這zhe樣yang做zuo便bian使shi得de共gong享xiang內nei存cun變bian得de沒mei有you意yi義yi了le。其qi次ci,應ying用yong程cheng序xu的de效xiao率lv會hui依yi數shu據ju是shi來lai自zi於yu本ben機ji內nei存cun或huo緩huan存cun還hai是shi其qi它ta節jie點dian而er呈cheng現xian出chu巨ju大da的de差cha異yi。
如ru何he有you效xiao地di對dui群qun集ji進jin行xing管guan理li也ye是shi一yi個ge難nan題ti。最zui基ji本ben的de一yi個ge問wen題ti是shi,現xian有you的de群qun集ji管guan理li工gong具ju都dou還hai不bu成cheng熟shu,理li論lun上shang,管guan理li工gong具ju應ying該gai具ju備bei兩liang點dian特te性xing。首shou先xian,它ta們men應ying該gai確que保bao所suo有you的de機ji器qi具ju有you相xiang同tong的de功gong能neng,或huo者zhe至zhi少shao差cha異yi不bu是shi很hen大da。這zhe並bing不bu是shi說shuo所suo有you的de硬ying件jian必bi須xu完wan全quan一yi樣yang,但dan節jie點dian的de功gong能neng至zhi少shao應ying該gai是shi對dui稱cheng的de或huo接jie近jin於yu對dui稱cheng的de。從cong網wang絡luo管guan理li的de角jiao度du來lai看kan,這zhe意yi味wei著zhe任ren何he兩liang節jie點dian都dou可ke以yi在zai功gong能neng上shang互hu相xiang替ti代dai,因yin而er對dui所suo有you的de節jie點dian的de監jian控kong和he配pei置zhi也ye應ying該gai是shi一yi樣yang的de。其qi次ci,管guan理li工gong具ju應ying該gai能neng夠gou通tong過guo一yi台tai遠yuan程cheng終zhong端duan對dui所suo有you的de節jie點dian進jin行xing監jian控kong和he配pei置zhi,而er通tong常chang的de做zuo法fa卻que是shi通tong過guo分fen別bie登deng錄lu到dao每mei台tai節jie點dian機ji上shang來lai對dui其qi進jin行xing管guan理li,這zhe並bing不bu是shi一yi個ge好hao辦ban法fa。





閩公網安備 35020302001891號