圖1 擁有最長網(wǎng)絡(luò)路徑的系統(tǒng)

以Sheepdog Storage系統(tǒng)為例,一個IO請求需要通過QEMU block driver,Gateway,存儲節(jié)點3個網(wǎng)絡(luò)跳轉(zhuǎn),即網(wǎng)絡(luò)路徑為3。以Ceph為例,一個IO請求需要通過RBD(客戶端驅(qū)動),主OSD(存儲節(jié) 點),從OSD共3個網(wǎng)絡(luò)跳轉(zhuǎn),即網(wǎng)絡(luò)路徑為3。

 圖2 擁有最短網(wǎng)絡(luò)路徑的系統(tǒng)

  目前為止,我們見到的分布式存儲系統(tǒng)里最優(yōu)的I/O路徑為2:客戶端驅(qū)動和存儲節(jié)點;其中尋址功能被合并到客戶端驅(qū)動,并且尋址不需要查詢元數(shù)據(jù)庫??蛻舳蓑?qū)動直接廣播到所有的存儲節(jié)點上。

同樣的,就像上篇文章提到,有沒有一個判斷ServerSAN系統(tǒng)I/O路徑的簡單方法呢?

不幸地是,我們很難通過一個系統(tǒng)的外部表象來判斷這個系統(tǒng)的I/O路徑是多少,是否最優(yōu)?我也沒有想出一個簡單的方法。但就像判斷直接和間接訪問裸設(shè)備一樣,判斷系統(tǒng)的I/O路徑對于判斷系統(tǒng)的水平也是非常重要的。

盡管沒有一個簡單的方法,但在實際的選型過程中,I/O路徑應(yīng)該成為一個考察的重點,用戶應(yīng)該要求供應(yīng)商介紹其系統(tǒng)架構(gòu),以及外部I/O、內(nèi)部I/O請 求的方法,一旦我們得知系統(tǒng)不是內(nèi)直接尋址或不是將數(shù)據(jù)一次性廣播給所有的副本節(jié)點,我們就可以得出如此的判斷:該系統(tǒng)的I/O路徑極有可能不是極有可能 最優(yōu)的。

(未完待續(xù))

作者簡介:陳靚,1999年北京航空航天大學(xué)碩士畢業(yè),2002年考入美國俄亥俄州立大學(xué) 學(xué)習(xí)計算機(jī)科學(xué),2006年獲得該校博士學(xué)位。此后入職美國Amazon,于AWS Storage Team(云計算核心存儲團(tuán)隊)工作,長達(dá)7年之久,曾經(jīng)擔(dān)任系統(tǒng)架構(gòu)師和研發(fā)團(tuán)隊帶頭人,負(fù)責(zé)設(shè)計和實現(xiàn)了著名的AWS Glacier系統(tǒng)結(jié)構(gòu);2011年加入AWS S3團(tuán)隊,負(fù)責(zé)對AWS S3 的Volume子系統(tǒng)新版本的研發(fā)。2013年,接受南京市政府321計劃的感召,選擇歸國創(chuàng)業(yè),創(chuàng)辦了南京鵬云網(wǎng)絡(luò)科技有限公司,致力于私有云存儲產(chǎn)品 的研發(fā)。2015年入選中組部“國家千人計劃”專家人才。

分享到

王珂玥

存儲在線(DOSTOR)主編

相關(guān)推薦