深圳 王文泉
VMware vSphere(6.0)创建新的虚拟机时候,磁盘格式分为三种:厚置备延迟置零、厚置备置零和精简置备。这三种类型的磁盘,每一种类型的磁盘创建的方式和磁盘性能都有所不同,具体如下:
厚置备延迟置零立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。
例如,本次创建的磁盘大小为200GB,如果选择厚置备延迟置零(如 图1),VMware 会在整个磁盘中划分一个200GB 的空间专用于此虚拟机,故会创建一个200GB 大小的vmdk 文件(如图2)。但是由于是延迟置零,故假如目前只用了50GB 空间,VMware 会先zero(置零)这50GB 空间(如图3),后面150GB 空间会等到用到的时候再置零,这种工作机制会对磁盘性能造成一定的影响。
图1 厚置备延迟置零方式创建磁盘
图2 厚置备延迟置零方式vmdk 文件大小
图3 厚置备延迟置零方式磁盘使用
厚置备置零立刻分配指定大小的空间,并将该空间内所有数据清空。例如:本次创建的磁盘大小为200GB,如果选择厚置备置零,VMware 会在整个磁盘中划分一个200GB 的空间专用于此虚拟机,故会创建一个200GB 大小的vmdk 文件(如图4)。
由于是置零模式,故VMware 会将这200GB 空间全部进行置零工作(如图5),故创建磁盘时比其他两种模式花的时间都要长。
但是,这种机制的磁盘性能是最好的,因为这就好像是给虚拟机挂载了一块独立的硬盘,硬盘上的空间也全部属于该虚拟机,且提前也已经格式化好,后期不管数据怎么增长,都可以直接使用这200GB 的空间,无需再置零操作了。
精简置备的磁盘只使用该磁盘最初所需的数据存储空间,如果以后需要更多空间,则可以增长到为其分配的最大容量。
例如,本次创建的磁盘大小为200GB,如果选择精简置备,VMware 会整个磁盘中划分出一个200GB 的置备空间,但此200GB 没有从整个磁盘中真正划出来,它的vmdk 文件在虚拟机刚创建时可能为0KB(如图6),以后随着虚拟机的使用空间越来越大,再给它划分更多的空间,直到200GB 全部用完(如图7)。
就好像给虚拟机挂载了一块空间会不断变化的硬盘,开始很小,后期会根据你的使用情况不断地增长。故选择精简置备,有个好处是可以创建更多的虚拟机,同时也容易出现整个磁盘卷空间饱满的情况,导致虚拟机运行不正常。
图4 厚置备置零方式vmdk 文件大小
图5 厚置备置零方式磁盘使用
图6 精简置备方式vmdk 文件大小
图7 精简置备方式磁盘使用
根据实际运维经验,创建虚拟机的速度直接影响到什么时候能开始使用虚拟机,耗时意味着漫长的等待。虚拟机磁盘文件的大小则直接决定了存储是否能够支撑更多数量的虚拟机服务器、存放更多的数据。服务器的磁盘性能会影响到读写速度和用户体验。
表1 三种磁盘方式对比
基于以上,对三种磁盘创建方式在创建速度、占用空间、磁盘性能三个角度作一个比较如表1 所示,可以看出:(1)厚置备延迟置零方式,没有明显的优点,也没有明显的缺点;(2)厚置备置零方式,由于创建时候将所有磁盘空间置零,所以磁盘性能最佳,同时创建速度也就最慢;(3)精简置备,开始遵循“最简化”原则,所以创建速度最快、占用空间最小,可以创建更多的虚拟机,但会有“爆仓”的风险,所以磁盘性能最低。
实际操作中,应根据现有资产状况综合考虑。根据以上讨论,给出建议如下:
(1)推荐默认选择“厚置备延迟置零”这一折中方式;
(2)如果存储空间足够大,或者考虑磁盘性能最优化,选择“厚置备置零”方式;
(3)除非存储空间非常紧张,一般不选择“精简置备”方式。