分享

vStorage VMFS文件系统工作原理

 luobo2012 2012-02-20
VMware在vStorage VMFS(Virtual Machine File System)的研发上投入了大量的资源。目前看来这个专为虚拟机而创建的文件系统是非常高效和有前途的。VMware Infrastructure 3和vSphere已经在很多数据中心中部署,然而多数的管理员虽然使用了VMFS-3系统,但并不了解这个系统,这导致他们在工作中会出现一些困扰。本文深入描述一些和VMFS的内部工作机理相关的内容。
  什么时候会用到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

  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的块单元,然后划分小文件所使用的小的子块,实现对系统的优化。

  可插入架构设计

  在vSphere的协助下,VMFS卷还可以有一些增强型的功能。如Pluggable Storage Architecture (PSA)把企业部署VMware的方法向前推进了一大步,Stephen Foskett甚至把它的作用跟数据中心大型机的出现相提并论。

  PSA使得vSphere Enterprise Plus的安装过程可以兼容存储厂家的多路径软件。在之前,VMFS-3卷仅支持跟ESX和ESXi的多路径策略绑定的软件。这种方式不能利用存储厂家提供的多路径软件,从而使存储阵列的功能受到限制。现在PSA的出现改变了这种情况,使得VMFS-3卷的功能得到极大地增强。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多