如何确定VMware VMFS数据存储的大小

如题所述

第1个回答  2016-12-06
为VMware虚拟机档系统(VMFS:Virtual Machine File System)选择合适的资料存储大小非常重要,因为合适的资料存储大小一旦定下来,後期就很难修改。如何正确地计算资料存储空间大小取决於某些特定因素,这些因素用户可能以前没有考虑到。这不仅仅是虚拟磁片档(用户希望把这些虚拟磁片档放置在一个单独的逻辑单元号上)数量所映射的全部大小,用户也需要考虑组成一台虚拟机的其他相关档。

对虚拟机进行的一些特定操作,如挂起、加电和创建快照,同时也创建其他相关档。所以不要在同一个卷上过多部署虚拟机,由於输入和输出(I/O)竞争和LUN的锁定技术,如果在同一个卷上部署太多虚拟机会就会影响到虚拟机性能。在本文中,TechTarget中国的虚拟化专家Eric
Siebert将罗列出在计算VMFS资料存储大小时需要考虑到的多方面因素,然後给出一个计算虚拟基础架构资料存储大小的公式。

计算每一个LUN上的虚拟机

我并不推荐使用多个LUN来扩展VMFS资料存储,相反我更倾向於为VMFS卷创建一个单独的LUN,这就是需要先计算合适大小的原因。因此,一个单独LUN上究竟有多少个虚拟机呢?答案当然不是只有一个,通常情况下每一个LUN上会部署14到16个虚拟机,具体数目与VM产生的磁片输入输出和使用快照的频率有关。如果平台上所有虚拟机输入输出都比较少,如网站和应用程式伺服器,就可以在一个LUN上部署多个虚拟机。

同理,如果平台上虚拟机输入输出操作非常频繁,如邮件和资料库伺服器,就需要在一个LUN上部署较少量的虚拟机。如果使用快照的频度比较高,并且每台虚拟机运行时间变化也比较大的话,也不要在一个LUN上部署太多虚拟机。如果VMkernel对VMFS元资料有所改动,也就是所谓的SCSI预留,不断增长的快照就会引起宿主虚拟机短期内需要对LUN频繁访问。一旦这种情况发生,多个主机就不能同时对元资料进行写操作,那麼VMFS就崩溃了。更新完成之後,锁定就解除了。快照将会有16MB的增量,每一次快照增长都会带来SCSI预留。下面列举的是其他一些不太经常使用的操作(这些操作也能引起SCSI预留):

使用VMotion迁移虚拟机
使用范本创建一台新虚拟机或者部署一台虚拟机
给虚拟机加电或关闭电源
创建一个范本
新建或者删除一个档(包含快照)

计算LUN大小

在决定资料存储区域上要部署的虚拟机数量之後,就要计算需要的LUN大小。然而因为有很多其他相关档都在资料存储区域,所以增加虚拟磁片规模并不是一个好方法。在下面可以看到一个关於这些档的列表以及其映射大小,我们首先流览一下存在於每台虚拟机的这些档及其映射大小:

.vswp档是一个虚拟交换档,大小就是指定给虚拟机的记忆体减去指定给虚拟机的任何记忆体预留大小,所以默认状态其大小为0。例如,如果给虚拟机分配4GB的记忆体,.vswp档在虚拟机加电时创建、关掉电源时删除。同样,如果创建一个4GB记忆体预留(通常情况下是建议不要这样做),创建的.vswp档大小就是0位元组。
.vmss档只有在虚拟机被挂起时创建,大小和分配给虚拟机的记忆体相同。

.vmsn档用来存储快照创建时的快照状态(如果选择的话,也可以包括记忆体),大小和指定给虚拟机记忆体的大小一样。如果不存储快照记忆体状态,这个档就会非常小(通常不超过1MB)。
delta.vmdk档是快照资料档案,档大小以16MB开始,并且在虚拟机磁片发生变化的时候,以16MB的增量增长。这些档的大小不能超过原始的磁片档大小,增长的速度取决於对原始磁片操作的次数,这在很大程度上又取决於虚拟机上面运行的应用程式。相对比较静态的应用程式,如网站和应用程式伺服器,通常情况下没有太多的资料变化,因此就应该使用相对较小、增长比较缓慢的快照。然而,邮件和资料库伺服器可能有很多对磁片的写操作,快照增长比较快。

其他各种各样的文件通常比较小,在VMFS卷上不会占用太大空间。这些档包括.nvram文件 (BIOS),
.vmx档(配置),
.vmsd档(快照元资料)和.log文件。每台虚拟机为这些档分配50MB空间就足够了,用户也可以使用高级虚拟机参数控制日志档的数量和规模。

进一步完善上述说明,下面是计算VMFS磁片大小的基本步骤:

对所有计划部署在资料存储区域的虚拟机虚拟磁片大小求和。
第二步可以分为几个相互独立的步骤:对所有分配给虚拟机的记忆体大小求和(步骤A);对所有指定给记忆体预留的大小求和(步骤B)(需要注意的是记忆体预留值为0);从分配给记忆体大小的总和中减去指定给记忆体预留大小的总和,得到的就是需要给.vswp档分配的空间(步骤A的结果减去步骤B的结果)。同样,也可以在本地资料存储区域配置主机来存储.vswp文件。如果这样做的话,就不需要把计算的总和包括进来。

为每台虚拟机添加50MB用於各种各样的文件。
如果计画暂停虚拟机,就需要计算大概所需的磁碟空间大小,这可以通过将你所期望暂停的虚拟机的最大数量同时乘以分配给每个虚拟机的最大记忆体数量获得。
这一步也包括几个小步骤:计算快照所需要的空间大小,这是基於对多个因素的粗略估计,我建议尽量过高估计。首先近似估计同时运行的最大快照数量(步骤A);再计算每个虚拟磁碟空间平均需要多少GB(步骤B);确定一个百分比乘数,这个百分比乘数的确定基於保持快照的时间和对快照的期望增长速度(20%为底限、40%为中等、60%为最高限)(步骤C);计算A*B*C,得到需要为快照所预留磁碟空间大小(单位:GB)。如果希望同时包括快照的记忆体状态,就需要乘以(步骤A)次指定给单个虚拟机最大记忆体大小,来计算所需要的额外磁碟空间。

最後,我建议为不可预知事件和操作分配额外空间,确保不会出现在资料存储区域上空间不够的情况。在同一台虚拟机运行多个快照,一次又同时删除这些快照的时候,这些额外的空间迟早就会用上。因为需要额外的空间提交(或者删除)快照给原始磁片,所以需要为此再增加25GB空间。

总而言之,这些资料都是大概估算。快照是增加或者减少工作平台所需要磁碟空间数量的主要因素,并且很难对快照增长到什麼程度做出预测。这些准则可以帮助用户规划合理的资料存储大小。但是要记住,最好是慎之又慎,这样的话就需要更多磁碟空间。在创建了VMFS之後,如果不使用特定的方法(这些方法在此没有提及),就不能增加VMFS的大小。
相似回答