Thick Provision Lazy Zeroed (zeroed thick) 厚置备延迟置零

在建立虚拟硬盘时会一次给足全部的硬盘大小,并产生一个vmdk档,而vmdk的大小等于创建的虚拟硬盘大小。然后这虚拟硬盘在一开始会先将所需要使用到的部份先行初始化(zero)。至于其他空闲没使用到的部份,则是等到有需要使用的时后再初始化(zero),不过由于一开始就扣除10G所以在没使用到的部份也就算在整体硬盘大小里。因此整颗虚拟硬盘是固定大小,不会变动的。

在之后若有资料要做写入的动作时,凡是第一次写入到空闲空间时都必须要zero。此类型的硬盘空间在第一次的硬盘写入时会有轻微的I/O性能的损失。

举例 :

假设实体硬盘为500GB,建立一个400GB的Thick Provision Lazy Zeroed 虚拟硬盘,此时会产生一个400GB的vmdk档,然后在这400GB的虚拟硬盘中一开始只使用100GB,所以在这使用的100GB会先行初始化(zero),而剩下的300GB会等到有需要使用的时后再初始化(zero)。不过整颗虚拟硬盘的大小还是为400GB。

若登入[VMware vSphere Client]查看,会发现只剩下Size的部份。而PeovisionedSize的部份是不在的。这是因为使用Thick disk的关系

Thick Provision Eager Zeroed (eager zeroed thick) 厚置备置零

在建立虚拟硬盘时会一次给足全部的硬盘大小,并且会删除所有的资料,产生一个vmdk档,而vmdk的大小等于创建的虚拟硬盘大小。在创建硬盘时,会将所有的数据都初始化(zero),所以会花费较多的时间。也正因为都已经初始化完成了,所以当要使用的时后就不需要再初始化。而不论是第一次写入数据或是整体的性能和效能上都会比较好一些。

举例:

假设实体硬盘为500GB,建立一个400GB的Thick Provision Eager Zeroed 虚拟硬盘,此时会产生一个400GB的vmdk档,然后在这400GB的虚拟硬盘中一开始就会把400GB先行初始化,等到下次要使用时就可直接使用,不过整颗虚拟硬盘的大小还是为400GB。

若登入[VMware vSphere Client]查看,会发现只剩下Size的部份。而PeovisionedSize的部份是不在的。这是因为使用Thick disk的关系

Thin Provision

随着使用量而增加硬盘大小,达到上限时就不会在增加了。而产生的vmdk会随着使用的情况增加并一边初始化(zero),一边使用新空间。所以vmdk的大小不等于创建虚拟硬盘的大小,只会等于实际使用的大小。

简单来说,就是依照使用的大小来给硬盘的空间。但不会超过最大值。

缺点: Thin disk随着使用的增加,在效能上会比较差一点点。

举例 :

假设实体硬盘为500GB,建立一个400GB的Thin Provision虚拟硬盘,在安装完成后使用了100GB,因此vmdk就会等于100GB。而整个虚拟硬盘的大小就会是100GB,此时会有人问说,那剩下的300GB呢? 剩下的300GB就会留在实体硬盘内,等有使用到再逐渐增加。直到400GB空间都用满后就不会在增加了。

若要查看目前使用的大小可以登入[VMware vSphere Client]查看。

[Configuration] → [Storage] → [datastore1点右键] → [Browse Datastore]

在Size的部份就是当前所使用到的大小,PeovisionedSize为该虚拟机能使用的最大值。

接下来就用一个比较简单的例子来说明Thin disk 和Thick disk的vmdk关系

假设新增一个虚拟机,在虚拟硬盘的部份设定为400G。其中100G已经使用,而剩下的300G则属于未使用空间。

Thin Provision 格式vmdk大小为100G,剩下未使用的300G等有需要时才初使化使用。

Thick Provision Lazy Zeroed 格式vmdk大小为400G,剩下未使用的300G等有需要时才初使化使用。

Thick Provision Eager Zeroed格式vmdk大小为400G,剩下未使用的300G都已初始化可直接使用。