圖1 傳統(tǒng)GlusterFS在Windows平臺中的應用架構
GlusterFS Windows客戶端由上海儲迅信息技術有限公司開發(fā)。在這之前,雖然業(yè)界對于GlusterFS的Windows原生客戶端需求早已求之若渴,并且方案設計也在技術社區(qū)中屢屢提出。但是由于Linux和Windows在操作系統(tǒng)、文件系統(tǒng)等方面的巨大差異,其相關設計一直以來僅停留在概念階段。
圖2是上海儲迅信息技術有限公司的GlusterFS Windows客戶端架構。如圖所示,GlusterFS Windows客戶端相對于原有的Samba客戶端有重大改進:在安裝GlusterFS Windows客戶端的主機中去掉了Samba連接,再者Windows客戶端能同時連接GlusterFS集群中的多個Server(圖中僅畫出了兩個)。改進之后的客戶端相對于Samba連接在文件讀寫性能上有巨大的優(yōu)勢:
一是接口直連優(yōu)勢。GlusterFS協(xié)議原本只能應用于Linux平臺,而Windows客戶端是將GlusterFS協(xié)議以及GlusterFS的stack wind/unwind過程調(diào)用模型移植到Windows平臺。在Windows平臺上,我們設計的GlusterFS客戶端在平臺內(nèi)使用FUSE和操作系統(tǒng)的文件系統(tǒng)對接(與GlusterFS在Linux中使用FUSE情形類似),對外使用GlusterFS協(xié)議及其過程調(diào)用模型與GlusterFS集群通信,這中間省去了Samba協(xié)議轉(zhuǎn)換的中間環(huán)節(jié),提高了系統(tǒng)的性能并節(jié)省了計算資源,大大縮短了文件訪問的響應時間。
二是可并發(fā)優(yōu)勢。在使用GlusterFS Windows客戶端的場景中,一個Windows客戶端可以直接與GlusterFS集群中的每個單機通信。也就意味著GlusterFS Windows客戶端能利用并發(fā)物理連接成倍提高自己的帶寬。
以上兩點,直連和并發(fā)正是當今云存儲優(yōu)化的精髓,而之前使用Samba客戶端的Windows平臺則顯得廉頗老矣。
圖2 GlusterFS Windows客戶端原理圖
?性能對比測試
為了驗證GlusterFS Windows客戶端的性能,我們分別通過Samba和GlusterFS Windows客戶端連接同一套GlusterFS集群,以下圖3是Samba和GlusterFS客戶端在Windows環(huán)境中的性能對比測試。
實驗Windows客戶端是Windows Server 2008 R2,GlusterFS存儲集群是兩臺各配備6塊企業(yè)級SATA盤的GlusterFS存儲節(jié)點,節(jié)點之間使用萬兆以太網(wǎng)連接,測試程序使用單進程讀寫方式。
圖3 GlusterFS Windows客戶端與Samba的性能對比測試
從上圖可以看出,GlusterFS Windows客戶端相比Samba連接有了巨大的性能提升。在大文件測試中,GlusterFS客戶端的表現(xiàn)與Samba連接旗鼓相當,但在小文件測試中,GlusterFS客戶端性能大幅領先Samba。比如在4kB文件測試中,Samba連接僅能提供數(shù)百kB/s的讀寫帶寬,而通過GlusterFS客戶端訪問時,4kB文件的讀寫速度平均測出高達2.1MB/s的性能。測試文件改為8kB時,GlusterFS客戶端達到4MB/s的性能,而Samba仍然只有數(shù)百kB/s的速度。
以上是單進程讀寫測試,在多進程并發(fā)讀寫的場景中,GlusterFS的Windows客戶端還表現(xiàn)出一定程度性能疊加,Samba就更望塵莫及了。
總結
GlusterFS的Windows客戶端無疑是有其存在的巨大價值。當然除了性能需求,Windows操作系統(tǒng)的使用者會要求一些Windows平臺才有的特性。當前,公司開發(fā)者正在全力以赴增強產(chǎn)品的功能。展望未來,上海儲迅信息技術有限公司會繼續(xù)積極投入到分布式存儲的開源項目之中,也會深耕行業(yè)應用,推出更多的高性能、高可靠性、能解決行業(yè)痛點的優(yōu)秀產(chǎn)品。