目录

Provisioned Space & Used Space

Provisioned Space & Used Space 是 Datastore 中的概念,通过 vSphere Client 即可查看。其中 Provisioned Space 被翻译成 “置备空间”,实在令人费解,下面先简单介绍一下 Provisioned Space 的基本概念。

官方文档是这么描述的:Total allocated space that the virtual machine can commit up to. Includes vmdk, swap, snapshot, and other virtual machine files such as NVRAM, configuration files, and logs. This metric includes uncommitted space.

可见,置备空间并非单纯的指代 “预期分配容量”,还包含了 vmdk, swap, snapshot, NVRAM, configuration files, and logs 等可能会消耗存储空间的 “空间”。这就是虚拟磁盘的置备空间会比 “预期分配容量” 稍大的原因,所以我更愿意将置备空间称之为 “实际已分配空间”。

当 Datastore 存在 Thin Provision 类型虚拟磁盘时,就会出现 Provisioned Space 与 Used Space 不一致的情况。而 Lazy Zeroed Thick Provision 和 Eager Zeroed Thick Provision 类型虚拟磁盘的 Provisioned Space 和 Used Space 通常是保持一致的,因为 Thick Provision 类型虚拟磁盘会马上将需求的所有磁盘空间都占用掉。

e.g.

  • aju-tst-thin-p 虚拟机使用了 100GB Thin Provision 类型磁盘,其 Provisioned Space = 102.18GB,Used Space = 2.18 GB;
  • aju-tst-thick-p 虚拟机使用了 100GB Lazy Zeroed Thick Provision 类型磁盘,其 Provisioned Space = Used Space = 104.18GB,Eager Zeroed Thick Provision 类型磁盘同理。

Provisioned Space 的计算方式

通过 vSphere WS API 我们可以轻易的得到 $dstoreSummary.Capacity$dstoreSummary.freeSpace 的数据,但 API 文档并没有直接给出 $dstoreSummary.provisionedSpace 属性参数,好在我们需要通过 $dstoreSummary.uncommitted 来得到它。

Uncommitted Space

Uncommitted Space is either from Thin-Provisioned VM disks, Snapshots or Linked Clones. Uncommitted space is the difference of how big the disk size is vs. the currently consumed size. Here is a breakdown of a particular example.

简单来说 Uncommitted space 就是虚拟磁盘 Provisioned Space 与当前 Used Space(实际已使用空间)的差值。

在理解了 Uncommitted Space 的概念之后,那么我们就可以得到计算 Provisioned Space 的公式:

$longProvisionedBytes = ($dstoreSummary.Capacity - $dstoreSummary.freeSpace) + $dstoreSummary.uncommitted

NOTE:需要注意的是 uncommitted 是 dstoreSummary data object 的可选属性,当 Datastore 不存在精简置备的 VMDK 时候,uncommitted 属性是不存在的,这是一个需要注意的边界问题。

扩展:置备率的计算公式

除此之外,还可以得到 Datastore ProvisionedSpare%(置备率)的计算公式:

floatProvisionedSpareRatio = ($longProvisionedBytes / $dstoreSummary.Capacity) * 100

通常的,我们建议 floatProvisionedSpareRatio <= 1.5

最新文章

  1. iOS 语录
  2. Customizing the Editor
  3. ADF_Database Develop系列1_设计数据库表之Diagram/Tables/View/Sequence
  4. 老生常谈的Hibernate二级缓存
  5. [SQL]根据刚刚插入数据的 ID 向另外一张表插入数据(插入的其他字段数据需要对字符串进行分析)
  6. H5小内容(四)
  7. VC杂记
  8. Sql数据保存到Excel文件中
  9. 编程实现Windows系统自动登录
  10. Ubuntu下安装vmware 9.0 + 注册码
  11. 7.21.04 for循环
  12. G1垃圾收集器和CMS垃圾收集器 (http://mm.fancymore.com/reading/G1-CMS%E5%9E%83%E5%9C%BE%E7%AE%97%E6%B3%95.html#toc_8)
  13. 编译VisualVM源码解决乱码问题
  14. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
  15. ansible的lookup
  16. SSM框架的sql中参数注入(#和$的区别)
  17. Coursera, Deep Learning 2, Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Course
  18. Css - 浮动布局
  19. 7种方法实现移动端Retina屏幕1px边框效果
  20. nginx - 性能优化,突破十万并发

热门文章

  1. AIX 逻辑卷简介
  2. 接口测试参数化详解(Jmeter)
  3. Elasticsearch:hanlp 中文分词器
  4. Mybatis的体系结构(转载)
  5. Flume 实时获取日志内容插入MySQL
  6. 如何使用windows performance recorder
  7. Python 3标准库第四章
  8. UC
  9. contenteditable 光标定位到最后
  10. forEach、map、filter、reduce的区别