目录

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

通过 vSphere WS API 获取 vCenter Datastore Provisioned Space 置备空间的更多相关文章

  1. 劳动节脑洞大开!利用Debug API 获取 加壳客户端的MD5值

    系统 : Windows xp 程序 : 某游戏客户端 程序下载地址 :不提供 要求 : 远程注入 & 获取MD5值 使用工具 : vc++6.0 & OD 案例说明: 该游戏客户端对 ...

  2. html5获取经纬度,百度api获取街区名,并使用JS保存进cookie

    引用js<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak= ...

  3. 利用腾讯企业邮箱开放API获取账户未读邮件数初探

    公司一直使用腾讯提供的免费企业邮箱服务,今天用管理员帐户登录后发现,原来现在腾讯的企业邮箱也开放了部分API 你可以通过开放接口实现以下功能: 数据同步 数据同步可以帮助你同步部门成员信息,你还可以创 ...

  4. 通过Alexa API获取Alexa排名

    我们通会用Alexa的网站(或其它站长工具网站)来栓查我们的网​站流量排名,这样就必须去那些网站.实际上,可以通过Alexa XML API 获取网站的Alexa相关的数据(XML格式的),再使用XM ...

  5. 在C#中调用API获取网络信息和流量

    原文 在C#中调用API获取网络信息和流量 最近一项目中要求显示网络流量,而且必须使用C#. 事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量. ...

  6. 利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)

    利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)作者:Tuuzed(土仔)   发表于:2008年3月3日23:12:38 版权声明:可以任意转载,转载时请 ...

  7. C# 通过豆瓣网络编程API获取图书信息

    这篇文章主要是关于如何通过豆瓣API获取信息的书籍,起初,我看到了原来的想法的内容是"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源代码,再通过正則 ...

  8. 【转】百度API获取城市名地名(附源码)

    在做一个软件时,用到了定位功能.网上有很多关于google 的GPS定位,但网上关于google定位都没有用, 搜索下原因:(这里建议大家在中国就尽量不使用系统自带的定位) 因为Google的服务器不 ...

  9. 调用ZoomEye API获取信息

    最近在提高自己编程能力,拿一些实用的小工具练下.该脚本为python语言,主要涉及模块urllib,json,os模块. 功能:调用ZoomEye API获取信息 import urllib.requ ...

随机推荐

  1. Ajax跳入error的原因

    1. dataType错误 我遇到的就是这个dataType错误,即后台返回的dataType类型与前台写的不一致,一般前台写json没问题,大部分是后台返回的类型对不上 2. async请求同步异步 ...

  2. zabbix 内存溢出

    tail -f /var/log/zabbix/zabbix_server_log ::165110.914 ================================ ::165110.914 ...

  3. SpringBootMVC01——A simple SpringBootMVC Sample

    不带数据库的SpringBootMVC案例 1.创建一个SpringBoot项目,添加thymeleaf,webstarter 2.目录层级 3.启动器代码 package com.littlepag ...

  4. php中禁止单个ip与ip段访问的代码小结

    1.禁止单个IP <?php //IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...

  5. 安装twisted遇到的坑

     在使用twisted框架的时候,我们需要知道他是干什么的? twisted支持很多种协议,包括传输层的TCP, UDP, TLS和引用层的HTTP和FTP等. twisted框架其主要发行版本是以p ...

  6. MySQL事务以及特征

    1.什么是事务? 在现实生活中,我们往往会进行转账操作.转账可以分为两部分完成,转入和转出,只要两部分都完成了才算转账完成.在数据库中,这个过程是由两条sql语句来完成的, 如果任意一方的语句没有执行 ...

  7. day_05 if条件判断和while循环作业题

    1. 输入姑娘的年龄后,进行以下判断: 1. 如果姑娘小于18岁,打印“不接受未成年” 2. 如果姑娘大于18岁小于25岁,打印“心动表白” 3. 如果姑娘大于25岁小于45岁,打印“阿姨好” 4. ...

  8. Python---webserver项目

    # HTTP项目实战 - 深入理解HTTP协议 - 模拟后台服务程序基本流程和大致框架 - 每一个步骤一个文件夹 - 图解http协议,图解tcp/ip协议 # v01-验证技术 - 验证socket ...

  9. 【长郡NOIP2014模拟10.22】搞笑的代码

    题目 在OI界存在着一位传奇选手--QQ,他总是以风格迥异的搞笑代码受世人围观 某次某道题目的输入是一个排列,他使用了以下伪代码来生成数据 while 序列长度<n do { 随机生成一个整数属 ...

  10. Django orm self 自关联表

    自关联模型 自关联模型就是表中的某一列,关联了这个表的另外一列.最典型的自关联模型就是地区表.省市县都在一张表里面.省的pid为null,市的pid为省的pid,县的pid为市的ID. class A ...