數據存儲產業服務平臺

DoSTOR專家觀點:Linux文件系統 一分錢一分貨

DoSTOR專家觀點:Henry Newman是國外專業存儲網站的撰稿人,在高性能計算和存儲行業從事了27年的顧問工作。

我經常被潛在客戶問道如果他們可以使用Linux而不是AIX或Solaris操作系統,那么如何應對高I/O的要求。沒有人曾經問過我有關Windows或NTFS上的高性能I/O–高IOPS(每秒輸入輸出)或高I/O流的問題,因為這是不可能的。自從10年前發布以來,Windows和NTFS文件系統沒有什么變化。鑒于它目前的架構,它也不能進行擴展。NTFS文件系統布局、分配方式和結構不能有效支持多TB文件系統,更不用說PB級別的文件系統。這并不奇怪,因為這不是微軟的目標市場。

那么Linux最初的目標市場是什么呢?當然,是替代微軟的桌面環境。后來,Linux從桌面運行轉移到運行在許多來自Sun、IBM和SGI的大型SMP(對稱多處理器結構)服務器上面。但是,作為一個操作系統,Linux以及其Linux文件系統可以應對來自高性能I/O的挑戰嗎?

你可能會想你不需要高性能I/O,但是即使是簡單到備份和恢復這樣的操作,每個服務器也都需要這種類型的I/O性能。目前的LTO-4(線性磁帶開放協議)磁帶驅動器在無壓縮的情況下可以以每秒120MB的速率運行,在帶壓縮情況下,可以支持高達每秒240MB的數據速率。如果你的文件系統并不支持這種流式數據速率I/O,那么備份和恢復將會花費比預期更多的時間。對于帶許多磁帶驅動器的大型環境來說,不能在全數據速率下使用這些磁帶驅動器意味著需要更多的磁帶驅動器來滿足備份時間窗口的要求,同時恢復操作也會受到影響。因此,我覺得,即使只是針對備份和恢復,每個人都應該對Linux文件系統的性能感興趣。

那么Linux文件系統–我的定義是在ext-4、XFS和xxx–是否能夠達到其他的基于UNIX的諸如Sun和IBM這樣的大型SMP服務器的文件系統的性能呢?一些人可能還會問到SGI,但是SGI有一個名為ProPack的軟件包,這個包包含了針對Linux高速I/O的一系列優化,而且SGI同時還有它們自己的名為CxFS的開放私有域Linux文件系統,而這個文件系統并不是標準的Linux產品的一部分。由于SGI ProPack和CxFS都不是標準Linux產品的一部分,因此我們這里不考慮它們。我們堅持討論標準Linux是因為這是大多數人所使用的。

我們將關注兩個領域:

作為操作系統的Linux以及Linux文件系統。

Linux操作系統的問題

我們將暫時不考慮Linux未來所可能發生的事情,而是專注于現在已有的情況。Linux有一些功能可以達到AIX和Solaris的I/O性能,例如直接I/O,但是底線是Linux并不是圍繞著高性能多線程I/O而設計的。

有一些領域限制了Linux的性能,例如和其他操作系統相比的頁大小,Linux在直接I/O和頁對齊上的限制,以及Linux不能通過自動根據請求大小來進行直接I/O的情況–我看到過Linux內核將大的I/O請求(大于512KB)分解成128KB大小的請求。鑒于Linux I/O性能和文件系統當初是為了替代Windows桌面而設計的,因此出現這種情況并不奇怪。

就我所見,Linux還有其他問題。對于初學者而言,缺乏能夠負責的人。在Linux上,如果你發現一個問題,會有各個組的人來同意解決這個問題,但是當初寫Linux的人卻并不一定會響應你所遇到的問題。如果一個大型的Linux廠商同意你的問題,并提供解決方法,這并不意味著這種方法將會被–或很快會被–Linux社區所接受。而且,針對你的問題的補丁還會帶來維護的問題。

Linux文件系統和Linux內核設計的目標看起來似乎是試圖解決和AIX或Solaris完全不同的問題,而如果你有問題,IBM和Sun也比Linux社區更直接負責得多。如果你運行AIX或Solaris,并且向IBM或Sun抱怨并反映問題,它們不可能說我們沒法控制。

Linux文件系統

記住,大部分的Linux文件系統都是圍繞替代NTFS而開發的,而不是一些諸如GPFS(IBM)、StorNext(昆騰)或QFS(Sun)這樣的高性能文件系統。這些文件系統是為流式I/O設計的,我們現在知道流式I/O對每個人、對一些高速IOPS以及一些情況下對數據庫訪問都是很重要的。

現在所通常使用的Linux文件系統(現在是ext-3,很快將有ext-4和xfs)在很長時間內都沒有大的結構性變動了。Ext-4在ext-3和ext-2的基礎上改進了一些分配,但是沒有考慮一些簡單的事情,例如RAID(獨立磁盤冗余陣列)帶超級鎖的對齊,以及第一次元數據分配。

此外,類似于將額外文件系統元數據域和RAID帶值相對齊這樣的事情也沒有被考慮,類似于間接分配的功能也沒有,而這樣的分配是固定值,所以如果系統支持小分配(最大4KB),那么就需要大量的分配數。舉200TB的文件系統為例子,如果ext-3使用最大為4KB的分配值,那么這樣的文件系統將需要5370億個分配數來代表200TB。在企業級文件系統中可以使用8MB的分配值,那么分配數量就縮小為可以管理的2620萬個。使用這種數字的分配值,位圖或分配表甚至小于等于內存!xfs文件系統擁有和ext-3非常相似的特征。是的,它的分配可以更大,達到64KB,但是超級鎖、元數據域的對齊以及其他問題仍然存在。

Linux有它自己的位置

我前面的評述并不代表我是反對Linux的,就像我并不傾向AIX或Solaris。我甚至不反對Windows,因為我使用一臺Windows筆記本電腦作為我的主要電腦。但是我認為缺省的Linux文件系統還不足以代替高性能、高可擴展性SMP文件系統。計算機是工具,而操作系統和文件系統也是工具箱中的工具。沒有人會在有電鋸的情況下卻去使用鏈鋸,同樣的比喻也適用于操作系統、文件系統以及它們所運行的硬件。

我日常接觸的許多人使用MS Word、MS Excel、MS PowerPoint和MS Visio。即使不是全部,我還是可以運行一些來自別人的Windows上的應用程序,但是我經常發現字體不匹配等問題,于是我在很早以前就決定采用Windows,除非有人可以證明給我看沒有問題。我這里的觀點是每個計算機都是一個工具,而且有自己的用途。目前,沒有一個單一的計算機或文件系統可以滿足所有應用的要求。這并不奇怪。Linux是有一席之地,但是就我而言,它的定位并不支持大型文件系統的單實例,不能支持高性能要求下的大型和小型文件系統的良好擴展。而我不認為這種情況會很快改變。

未經允許不得轉載:存儲在線-存儲專業媒體 » DoSTOR專家觀點:Linux文件系統 一分錢一分貨
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走