简介
VMware Virtual Machine File System (VMFS )是一种高性能的群集文件系统,它使虚拟化技术的应用超出了单个系统的限制。
VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。VMFS 是跨越多个服务器实现虚拟化的基础,它可启用VMware VmotionTM 、Distributed Resource Scheduler 和 VMware High Availability 等各种服务。 VMFS 还能显著减少管理开销,它提供了一种高效的虚拟化管理层,特别适合大型企业数据中心。采用 VMFS 可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。
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和zone
因为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。
对于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。