VMware Virtual Machine File System (VMFS )是一種高性能的群集檔案系統,它使虛拟化技術的應用超出了單個系統的限制。VMFS的設計、建構和優化針對虛拟伺服器環境,可讓多個虛拟機共同通路一個整合的群集式存儲池,進而顯著提高了資源使用率。VMFS 是跨越多個伺服器實作虛拟化的基礎,它可啟用VMware VmotionTM 、Distributed Resource Scheduler 和 VMware
High Availability 等各種服務。 VMFS 還能顯著減少管理開銷,它提供了一種高效的虛拟化管理層,特别适合大型企業資料中心。采用 VMFS 可實作資源共享,使管理者輕松地從更高效率和存儲使用率中直接獲益。
確定 VMFS 适用于虛拟環境的技術特性包括:
具有分層目錄結構的自動檔案系統
針對群集環境中的虛拟機進行優化
鎖定管理和分布式邏輯卷管理
跨越多個存儲盤區,動态擴充資料存儲區
具有日志記錄的群集式檔案系統可迅速恢複
将整個虛拟機狀态封裝在單個目錄中
作為虛拟機(VM )環境的智能化和自動化存儲接口,VMFS 提供了自動的群集檔案系統功能和智能的群集卷管理功能。VMFS 所具有的大量優點使其特别适合作為虛拟環境中的群集檔案系統。
支援可確定應用程式服務級别的獨特功能
傳統檔案系統在給定時間隻允許一台伺服器讀寫同一檔案,而 VMware vStorage VMFS 是一種叢集檔案系統,它利用共享存儲來允許多個 VMware ESX 執行個體同時讀寫相同存儲位置。VMware vStorage VMFS 允許您:
在一個中心位置高效存儲整個虛拟機狀态,進而極大地簡化虛拟機的部署和管理。支援獨特的基于虛拟化的功能,例如,将正在運作的虛拟機從一台實體伺服器實時遷移到另一台伺服器、自動在單獨的實體伺服器上重新開機發生故障的虛拟機,以及跨不同實體伺服器建立虛拟機叢集等等。
無縫管理虛拟機存儲
通過動态控制虛拟存儲卷,即使要處理大量資料的應用程式也能實作接近本機 SCSI 的虛拟磁盤性能。
支援多個 VMware ESX 安裝對同一個存儲位置執行并發讀寫操作。無需中斷其他 VMware ESX 主機,即可在 VMware vStorage VMFS 卷中添加或删除某個 VMware ESX 伺服器。無需依賴存儲管理者即可建立新的虛拟機。可對不斷增長的檔案調整自适應資料塊大小和尋址,以便動态增加 vStorage VMFS 卷的大小。自動發現 LUN 并将其映射到某個 VMware vStorage VMFS 卷,進而簡化存儲管理。用可調整的卷、磁盤、檔案和塊大小優化虛拟機 I/O。利用分布式日志在伺服器發生故障時更快、更可靠地恢複虛拟機。所有VMware
Infrastructure 版本都包括 VMware vStorage VMFS 叢集檔案系統。
簡化災難恢複
由于 VMFS 将一個虛拟機的檔案存儲在單個子目錄中,是以災難恢複、測試和克隆等過程都極大地簡化了。在發生災難時,可以遠端鏡像虛拟機的完整狀态,進而很容易将其恢複。通過自動處理虛拟機檔案,VMFS 可以封裝整個虛拟機,因而很容易成為災難恢複(DR )解決方案的一部分。
因為VMFS不是通過磁盤通路權限管理的方式做協調的,是以對于格式化成VMFS系統的卷,可以跨管理zone完成大量任務。每個被管理zone内可以是一台單獨的ESXi主機(完全獨立,沒有被vCenter管理,也無需購買軟體許可),可以是被vCenter管理下的ESX或ESXi主機,甚至是兩者的混合。VMFS支援把一個LUN(logical unit number)和多個vCenter Servers管理下的ESX 或ESXi主機劃分到一個zone當中去。這種管理的方式下,使得我們可以輕松跨越多個被管理的zone實作虛拟機的遷移,因為您既不需要VMware
Converter的支援,也不需要緩慢而複雜的Virtual Machine Disk (VMDK)檔案的支援。
需要提醒的是這種相容方式并不是僅僅VMFS具備。下圖顯示了一個獨立的LUN如何在VMFS檔案系統下跨越多個被管理的zone

這種配置方式适用于需要跨被管理zone實作通路并且不需購買額外軟體許可的應用環境。而且,通過避免為一些不需要進階功能的主機購買額外
的vCenter許可軟體費用,可以節省大筆的費用。隻有當現實環境馬上就要超出管理能力,确實有需求時才去購買那些進階功能配置許可。在一
個叢集中,沒有購買許可的ESXi主機,無法使用VMotion、VMware High Availability、Distributed Resource Scheduler和其他的一些進階功能,
但是其他的ESX和ESXi主機則可以使用這些進階功能。
VMFS卷的組成
組成VMFS卷的檔案跟其他檔案系統中的情況比起來差别非常的大,一個LUN通常是由一些非常大的檔案和另外一些非常小的檔案共同構成。這些非常大的檔案有虛拟硬碟檔案.VMDK,虛拟硬碟的快照檔案和記憶體交換檔案。小的檔案包含虛拟機的日志檔案、配置檔案或者是虛拟機BIOS檔案。
VMFS卷的組成特性源于VMFS的兩級架構:檔案資料塊和子系統資料塊。檔案資料塊是在卷建立時根據需要選擇的,通用有1 MB、2MB、4MB或8MB的塊大小。建議您一定要參考一下Eric Siebert的文章block size selection when formatting a VMFS-3 volume來了解更多關于檔案塊的問題。子檔案資料塊是在檔案系統内再進一步劃分更小的塊,通過多個非常小的塊劃分的方式來減少内部碎片的産生。
在通常情況下,如果VMFS卷被格式化成1MB大小的塊,然後再劃分多個64KB的小塊用于滿足小檔案的存儲需求。這樣每個VMFS-3的卷将存在多個由主塊分割出來的64KB大小的塊。下圖示範了這種情
況大的塊劃分可以有效減少存儲大檔案時的碎片,通過小的塊劃分可以減少小檔案存儲時的碎片。這種實作方式直接導緻了虛拟機卷組成的特殊
情況:包含許多非常大的檔案和許多非常小的檔案。這裡我們也可以很清楚地了解,這種混合大小塊的編制有效保證了VMFS更好地工作。在這
種情況下,我們可以把VMFS-3卷劃分成8MB的塊單元,然後劃分小檔案所使用的小的子塊,實作對系統的優化
什麼時候會用到VMFS?
對于ESX和ESXi的主機,VMFS是我在檔案系統上的首選。但是并非所有的存儲系統都能和VMFS配合工作,進而發揮優勢。在共享存儲系統環境中,VMFS可以和iSCSI及光纖通道陣列協同工作。VMFS也可以支援本地的直連存儲,但相比共享環境,其作用不能完全發揮。許多存儲也支援通過NFS(Network File
System)和ESX或ESXi系統連接配接。不過根據存儲專家Stephen Foskett的描述,在一些特定環境中,隻有VMFS可以發揮非常神奇的效果。(請參考VMFS will always be a first-class citizen)
并不是所有的儲存設備都支援有管理者選擇使用NFS還是VMFS,我重點關注使用了VMFS檔案系統的iSCSI或光纖通道陣列環境。當您計劃安裝新的系統時,決定使用VMFS還是NFS将受到和您的需求及限制相關的很多因素影響。
VMFS是一個叢集檔案系統
簡單的講,一個叢集檔案系統就是同一塊硬碟資源可以被同時挂載給多個伺服器像本地硬碟一樣使用。很多VMware的管理者早期都接觸過Windows Server的應用環境,應該對通過使用Microsoft Cluster Server (MSCS)實作共享的方式很熟悉。VMFS和MSCS相比有一些差別,MSCS不能支援不同伺服器在同一時間對這塊硬碟通路,而VMFS可以做到。如果您基于同一台存儲使用MSCS或ESX,在SAN(storage
area network)的配置(如zoning、多路徑軟體等等)上是相同的,但是您獲得的結果有很大的差別。
同樣,這個差別其他的叢集檔案系統軟體如:Lustre、Red Hat Global File System、Hadoop Distributed File System (HDFS) 和IBM's General Purpose File System (GPFS)也存在。
VMFS有一個本質的差別就是:在VMFS中沒有某台伺服器或某個軟體可以完全控制對檔案系統的通路權限。VMFS通過運作于每一台主機上,直接管理檔案系統的命名空間來達到協調管理用戶端對檔案的通路權限。每個VMFS卷都在檔案系統中保留了一定的空白區域用于内部協調時使用,關于這塊保留白間的具體内容請參考missing
space from VMFS data stores because of hidden files。