以Sheepdog Storage系統(tǒng)為例,一個IO請求需要通過QEMU block driver,Gateway,存儲節(jié)點3個網(wǎng)絡跳轉,即網(wǎng)絡路徑為3。以Ceph為例,一個IO請求需要通過RBD(客戶端驅動),主OSD(存儲節(jié) 點),從OSD共3個網(wǎng)絡跳轉,即網(wǎng)絡路徑為3。
圖2 擁有最短網(wǎng)絡路徑的系統(tǒng)
目前為止,我們見到的分布式存儲系統(tǒng)里最優(yōu)的I/O路徑為2:客戶端驅動和存儲節(jié)點;其中尋址功能被合并到客戶端驅動,并且尋址不需要查詢元數(shù)據(jù)庫??蛻舳蓑寗又苯訌V播到所有的存儲節(jié)點上。
同樣的,就像上篇文章提到,有沒有一個判斷ServerSAN系統(tǒng)I/O路徑的簡單方法呢?
不幸地是,我們很難通過一個系統(tǒng)的外部表象來判斷這個系統(tǒng)的I/O路徑是多少,是否最優(yōu)?我也沒有想出一個簡單的方法。但就像判斷直接和間接訪問裸設備一樣,判斷系統(tǒng)的I/O路徑對于判斷系統(tǒng)的水平也是非常重要的。
盡管沒有一個簡單的方法,但在實際的選型過程中,I/O路徑應該成為一個考察的重點,用戶應該要求供應商介紹其系統(tǒng)架構,以及外部I/O、內部I/O請 求的方法,一旦我們得知系統(tǒng)不是內直接尋址或不是將數(shù)據(jù)一次性廣播給所有的副本節(jié)點,我們就可以得出如此的判斷:該系統(tǒng)的I/O路徑極有可能不是極有可能 最優(yōu)的。
(未完待續(xù))
作者簡介:陳靚,1999年北京航空航天大學碩士畢業(yè),2002年考入美國俄亥俄州立大學 學習計算機科學,2006年獲得該校博士學位。此后入職美國Amazon,于AWS Storage Team(云計算核心存儲團隊)工作,長達7年之久,曾經(jīng)擔任系統(tǒng)架構師和研發(fā)團隊帶頭人,負責設計和實現(xiàn)了著名的AWS Glacier系統(tǒng)結構;2011年加入AWS S3團隊,負責對AWS S3 的Volume子系統(tǒng)新版本的研發(fā)。2013年,接受南京市政府321計劃的感召,選擇歸國創(chuàng)業(yè),創(chuàng)辦了南京鵬云網(wǎng)絡科技有限公司,致力于私有云存儲產(chǎn)品 的研發(fā)。2015年入選中組部“國家千人計劃”專家人才。