開源的NAS虛擬化
NAS虛擬化產品有些是開源軟件。比如,Apache Hadoop Distributed File System (HDFS)就是開源的,它可以處理分布式的文件同時保證文件的冗余,而且當某個文件尺寸大于其底層的物理存儲空間時,仍然可以保證這個文件的邏輯視圖,對上層屏蔽底層的差異。HDFS兼容商業化的硬件,可以支持幾個甚至數以千計的節點。開源文件系統另外一個例子是Gluster clustered file System,利用它可以部署一個具有單一命名空間的NAS系統。
與其在傳統的NAS系統上花費大量的費用, 不如選擇一個開源的文件系統,運行在廉價的硬件組件之上,這種做法顯得更實惠。但是開源的文件系統對于企業來講并不是一個最好的選擇了。它們需要仔細的調校以及大量的維護工作,以及了解所選擇的開源軟件的細節。另外,這些開源軟件并不提供與傳統NAS一樣的售前售后服務。可用性、可靠性、性能以及服務支持是企業存儲所關注的,而這些正是開源軟件的痛處。開源文件系統對于云存儲提供商或者那些想用存儲平臺來獲利的公司來講卻是一個很好的選擇,同時,對于研究和教育機構來講也是適合的,但是畢竟不適合企業用戶。
NAS系統以及基于集群文件系統的NAS網關,或者集群NAS架構都屬于下一代的NAS系統,而且與現存的傳統文件存儲不相容,通常這些新架構的系統會與當前現存系統并行運行或者直接替代后者。所以,這些系統會有些難于部署,以及在成本上高于文件系統虛擬化產品。然而,管理一臺獨立的NAS設備而不是被文件系統虛擬化產品所整合起來的多個文件存儲設備,其在所耗費的額外精力和成本上的好處也是不可小視的。
文件系統虛擬化產品應用場合以及選擇標準
在很多情況下,直接使用橫向(scale-out)架構的NAS系統來替代現有的文件存儲系統并不是一個好選擇。能夠將不同類型的文件存儲系統整合成一個大的單一命名空間的文件系統虛擬化產品與傳統NAS系統以及橫向(scale-out)的NAS系統應當是一種互補的關系,尤其是在將傳統文件存儲轉向新類型存儲的期間。“很多用戶購買了NAS,目的是得到一些諸如復制、歸檔以及快照等的增值功能,但是他們并不對所有文件都是用這些功能。” AutoVirt公司的市場副總裁Brian Gladstein這樣說道,“我們可以讓這些客戶將現存的低端文件存儲與更高速更強的文件存儲系統混合使用,同時給他們提供一個單一命名空間。”
即便是對于一些可以將他們的非結構化數據集中存儲到支持單一命名空間的中心NAS設備的公司,也不可避免的存在一些并沒有被整合進來的NAS孤島。這些孤島可能是存放有部門私有數據,或者被認為是一些不值得存放在相對較昂貴的NAS設備上的數據。文件系統虛擬化產品則允許將這些不怎么受待見的數據與NAS設備一起整合成為一個全局命名空間。文件系統虛擬化的第二種使用場合是數據遷移。在導致數據從一個物理位置被遷移到另外一個物理位置所發生的眾多原因中,主要的三個原因是:獲得了新數據、存儲基礎架構升級以及數據重分布項目。因為文件虛擬化產品可以實現對不同類型的文件存儲的虛擬化訪問,所以這些產品就可以提供天然的數據遷移方案。另外一個應用場景則是自動分級存儲。可以在文件虛擬化產品內嵌入一個可以根據不同元數據類型比如最后訪問時間、文件尺寸及類型等而定義數據遷移規則的引擎,這樣可以實現將對應的數據遷移到合適的存儲層級中。
文件虛擬化產品有兩種交付形態:獨立的物理設備或者獨立的軟件產品。以軟件形式交付的文件虛擬化產品,其優勢則是提供非常靈活的部署以及對硬件的自由選擇,而且這種形態交付的產品具有很低的廠商依賴性。相反的,以獨立物理設備交付的文件虛擬化產品,一般會以一個整合的、經過性能優化以及其他優化的產品包形式交付,由于硬件和軟件皆由同一家廠商提供,所以兼容性的風險也就降低了。
在比較不同的文件系統虛擬化產品時,虛擬化所作用的層次也是一個很重要的選擇標準。比如,Microsoft的Distributed File System(DFS)提供了一種共享模式的虛擬化;諸如F5 Netword公司的ARX系列則提供文件級別的虛擬化。
是否能夠方便的部署也是另外一個重要的標準。理想狀況下,文件虛擬化產品的部署應當對客戶端的改變很小,以及對后端文件存儲系統中的文件數據不應當予以改變。
所支持的文件系統也必須考慮。有些系統只支持CIFS,像F5的ARX以及EMC公司的Rainfinity同時支持CIFS以及NFS,這種支持對于Windows、Linux的混合環境很受用。如果對應的產品支持數據遷移以及自動分級存儲,那么一個良好設計的策略引擎是非常重要的。
文件系統虛擬化產品樣例
多個廠商都提供了文件系統虛擬化產品,而這些產品的背景以及模塊都不同。
AutoVirt文件虛擬化軟件:像微軟的DFS一樣,AutoVirt是一個運行在Windows服務器上的獨立軟件產品。
AutoVirt全局命名空間使用CIFS協議來與文件服務器、客戶端以及DNS交互。當某個客戶端要求訪問某個文件的時候,DNS設備將會解析出對應的目標存儲設備。全局命名空間作為一個中間人的角色存在,它嵌在客戶端以及DNS之間。使用AutoVirt全局命名空間,客戶端的快件方式都指向這個空間,這個空間掌握著所有網絡上的文件的位置,同時通過DNS的幫助來向客戶端提供查詢。
AutoVirt可以在不影響客戶端的情況下透明的引入,直接接管現存的文件系統共享空間。雖然這個動作可以手動執行,但是AutoVirt提供一個數據自動發現服務來自動的發現現存的文件存儲空間然后透明的全局命名空間引入。這一點與微軟的DFS不同,后者需要在客戶端配置新的DFS共享信息,而不是透明的讓客戶端繼續訪問數據。
與微軟DFS還有一點不同,AutoVIrt提供了一個策略引擎,它可以實現基于策略的數據遷移、整合、復制以及數據分級,同時毫不影響用戶對數據的訪問。目前這個引擎只支持CIFS,AutoVirt計劃在年底推出對NFS的支持。
EMC的Rainfinity文件虛擬化設備:Rainfinity是EMC公司的一個文件虛擬化產品家族,可以虛擬化非結構化數據,同時也提供數據遷移以及文件自動分級服務。Rainfinity全名命名空間設備對用戶以及應用程序提供了一個單一的掛載點,Rainfinity文件管理設備提供基于策略的自動分級,Rainfinity文件虛擬化設備提供了透明數據移動功能。
與F5的ARX所不同的是,Rainfinity文件虛擬化架構被設計為一種可以在帶內與帶外模式之間自由切換的模式。ARX在多數情況下為帶外模式,數據流直接在客戶端與后端的多個獨立的文件存儲系統之間流動。當有數據遷移的需求時,設備會切換到帶內模式。
F5 ARX系列:于2007年被F5從Acopia收購而來。F5的ARX是一種帶內的文件系統虛擬化設備。部署形態一般為主備雙機集群模式。這種設備嵌在CIFS/NFS客戶端以及異構的CIFS/NFS文件服務設備之間,向客戶端提供虛擬化之后的CIFS和NFS訪問。非結構化的數據以一個虛擬化的全局命名空間來向客戶端提供。物理形態上像一個網絡交換機,有2Gbps接口(ARX500)可選, 12 Gbps接口 (ARX2000)可選以及12 Gbps 接口+2個10Gbps接口(ARX4000)的配置可選。
F5 ARX非常注重數據遷移以及自動存儲分級功能,在這兩個方面功能較強。配備一個強大的策略引擎,可以在異構文件存儲之間雙向實時的實現數據在不同的層級之間遷移,同時對用戶透明。與AutoVirt類似,策略是根據文件的元數據信息來判斷的,比如最后訪問時間、創建時間以及文件尺寸、類型等。
由于F5 ARX屬于一種物理設備,所以它相對于純軟件方案來講可以提供更加優化的性能。使用split-path模式來設計,使得其具有兩條路徑,一個是數據路徑,用于在客戶端及后端存儲空間之間傳輸實際數據,另外一條是控制路徑,用于承載一切控制性數據內容。“我們相對DFS來講更加高級,它們提供共享級別的虛擬化,而我們提供文件級別的虛擬化。”
微軟DFS:微軟的DFS是一系列的客戶端與服務端的服務,這些服務可以讓一個正在使用微軟Windows服務器來提供CIFS文件共享的企業將這些共享整合起來從而形成一個分布式的文件系統。DFS可以實現位置透明處理以及冗余處理,可以讓位于不同位置的共享目錄從屬于一個單一的DFS跟入口目錄之下,從而提高了數據可用性以及性能的均衡。
DFS支持在不同的服務器之間復制數據,這個功能使用File Replication Servce(FRS)(Windows 2003)或者DFS Replication(DFSR)(Windows2003 R2以及Windows Server 2008及后續版本)這兩種協議來實現。
微軟的DFS只支持Windows上的CIFS共享的虛擬化,而并不支持將NFS或者NAS的共享目錄虛擬化到DFS單一命名空間中。另外,它不提供用于數據遷移或者分級的策略引擎。作為Windows Server服務器操作系統的一部分,它是一個免費軟件模塊,并且對于大部分文件存儲都是基于Windows Server服務器的企業來講是很好的選擇。
文件虛擬化展望
在過去的15年之內,對于非結構化數據的訪問方式并沒有改變,但是如今來講,異常變革正在發生。NAS系統的架構正在向多節點的scale-out模式發展,并且提供單一命名空間的支持。NAS的龍頭老大NetApp公司最終也將其購買的Spinnaker的SpinFS軟件整合到了其Ontap8.0操作系統中,使得用戶可以構建一個多節點的NetApp集群NAS系統。
文件系統虛擬化產品正在將傳統的scale-up模式的NAS終結,而在下一代的scale-out模式的NAS系統下獲得新生,為企業提供了一個虛擬化后端異構文件存儲系統之后的全局單一命名空間。雖然當前這些產品多數還只是為了應對在異構平臺之間遷移數據以及實現動態數據分級的目的而被部署,但是在將來,他們一定會扮演重要角色,為企業提供一個統一的全局非結構化數據存儲池。