• 虚拟机三种磁盘置备方式


    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都已初始化可直接使用。

    可怜一片无暇玉, 误落风尘花草中。 羡他村落无盐女, 不宠无惊过一生。
  • 相关阅读:
    得不到的永远在骚动
    这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧【转】
    Windows CMD命令大全【转】
    创业为什么选择北上广?
    为什么你还把时间浪费在无效人脉社交上?
    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
    mysql分区操作
    程序员常用网站
    4种提升SQL查询性能的知识
    获得局域网内其他成员的信息
  • 原文地址:https://www.cnblogs.com/wwtao/p/11514686.html
Copyright © 2020-2023  润新知