VMware vSphere Web Services SDK编程指南(六)- 6 Datacenter Inventory

来源:互联网 发布:seo网络优化培训 编辑:程序博客网 时间:2024/09/21 06:34

6 Datacenter Inventory


vSphere 清单是 vSphere datacenter 和 在 datacenter 中的对象的一种表示。
了解数据中心中的对象和其他对象是如何相互关联的,可以帮助你遍历清单层次结构并访问想要操作的对象。
:本文及之后文章将 Inventory 译为清单。

本章包括以下主题:

清单概述
清单层次结构和服务实例
访问清单对象
创建清单对象
清单管理所需权限
受管和独立的 ESX/ESXi 主机


6.1 清单概述

vSphere 清单包括如下对象类型:

■ 数据中心的系统: Host、VirtualMachine 和 VirtualApp

■ 支持组件: ComputeResource、Datastore、Network 和虚拟设备

■ 组织组件: Folder 、Datacenter

当你管理虚拟基础结构时,基于清单位置访问对象及其属性、方法。因此,理解清单层次结构对于任何编程都是至关重要的任务。
遍历清单的层次结构总是从与会话关联的 ServiceInstance 开始,这是清单的根对象。查看 Property Collector。如何访问对象取决于你的客户机应用程序是否连接到 vCenter 服务器或 ESXi 主机。

6.2 清单层次结构和服务实例

当你开启一个会话,vSphere 创建一个 ServiceInstance 其中包含一个root folder、一个数据中心和四个持有不同清单对象类型的 folder。

当你访问一个 vCenter 服务器系统,下图显示了可以遍历的清单层次结构。

vCenter 服务器清单层次结构

这里写图片描述


注意:
如果你的 ESX/ESXi 主机是由 vCenter 服务器管理的,那么你必须总是通过 vCenter 服务器访问你的主机,vCenter 服务器记录所有的同步和异步操作,并获得每个 ESX/ESXi 主机最新的状态和清单信息。
因此,直接连接到一台有 vCenter 服务器管理的主机可能会得到不正确或不完整的数据。

当你的 ESX/ESXi 主机不是由 vCenter 服务器管理的,你的应用程序可以直接连接到每台主机。


6.2.1 清单层次结构中的 Folders

如果你的设备包含一个 vCenter 服务器系统,你可以在 root folder 下创建额外的数据中心,对于每个 Datacenter 对象,服务器会自动创建以下 Folder 对象:

■ 用于 VirtualMachine、template 和 VirtualApp 对象的 folder

■ 用于 ComputeResource 层次结构的 folder

■ 用于 Network、DistributedVirtualSwitch 和 DistributedVirtualPortgroup 对象的 folder

■ 用于 Datastore 对象的 folder

在大型部署中,嵌套结构允许你通过使用多 folder 和 datacenter 来组织 datacenter 中的对象到一个简单的结构。

对于一个独立的 ESX/ESXi 系统,仅支持单个 datacenter,并且 Folder 管理实体不支持创建额外的 Folder 对象 和 Datacenter 对象。

6.2.2 ESXi 清单层次结构

当你直接访问一个 ESXi 主机,下图显示了可以遍历的清单层次结构。

ESXi 清单层次结构

这里写图片描述

6.3 访问清单对象

要从清单对象中获取信息,需要从清单根对象 ServiceInstance 开始,使用 TraversalSpec 结合属性收集器(property collector)来访问对象,使用其属性确定一个对象在层次结构中的位置。

■ 每个托管实体有一个确认其在清单结构中相对位置的父属性。

■ Folder 托管对象有一个 childEntity 属性,用于确认在 folder 实例中的对象

下图显示了 childEntity 和 folder 属性定义了一个在独立的 ESX/ESXi 系统清单中的默认对象,该清单开始于 ServiceContent.rootFolder 属性, rootFolder 有一个由托管对象引用到 Datacenter 托管对象组成的 childEntity 属性。

清单中 Root Folder 的实例图

这里写图片描述

6.4 创建清单对象

Folder 托管实体提供了用于创建以下托管实体实例的方法:

■ Datacenter
■ DistributedVirtualSwitch
■ VirtualMachine
■ Cluster
■ Folder

当创建这些对象时,它们在你调用创建方法时在 folder 中被自动创建。

当一些托管实体通过 Folder 托管实体上的方法被创建,其它的托管实体就直接被实例化了。
例如,HostDatastoreSystem 有创建 datastore 的方法如 CreateNasDatastore 和 CreateVmfsDatastore。


重要
当你创建一个清单对象,你必须在主机的能力范围内,通过HostSystem.capability 属性可访问的,是一个 HostCapability 数据对象。
例如,一个 HostCapability 对象可能有指定 maxSupportedVMs 属性。


6.5 清单管理所需权限

浏览清单需要一个能够连接到服务器并获得有效会话的用户帐户,与会话关联的用户身份称为主体。当客户端应用程序试着访问清单中的对象,服务器检查权限对象,并将该权限与主体的权限进行比对。

例如,创建一个虚拟机需要关联会话的主体拥有如下权限:

■ 在 folder 上的 VirtualMachine.Inventory.Create 权限

■ 在资源池上的 Resource.AssignVMToPool 权限,从这虚拟机可以获得 CPU 和内存资源的分配。

读取 PerformanceManager 托管对象的 perfCounter 属性需要有根目录上的 System.view 权限。


重要:某些权限特定于 vCenter 服务器或 ESX/ESXi 上的对象。
例如,与 AlarmManager 关联的 Alarm.Create 权限只有在 vCenter 服务器系统上可用。


查阅 认证和授权 获取更多有关 认证、授权、角色和用户身份的信息。

Privileges(权限)
权限是与 VMware vSphere 托管对象相关联的系统定义的必要条件,权限是静态的,对于一个产品的某个版本来说是不变的。vSphere 组件的权限定义如下:

<group>[.<group>].privilegeFor example:Datacenter.CreateHost.Config.ConnectionHost.Config.Snmp

Permissions(许可,访问权限)
访问权限是在指定管理实体上角色和权限的结合。你可以使用访问权限来指定哪些用户可以访问哪个托管实体。

如果父实体的 propagate (传播)属性被设置为true,子实体将继承其父实体的访问权限,如果权限直接在子实体被设置,会覆盖在父实体中的访问权限。
要对 Datacenter 对象的所有子实体对象授权,可对 Datacenter 对象分配权限并设置 Permission 对象的 propagate 属性为 true 即可。

下图显示了 root 用户和 vpxuser 用户两者在清单的 rootFolder 上都拥有的权限。vpxuser 是由 vCenter 服务器系统在一个主机上创建的帐户,当该主机被添加到vCenter服务器系统时。vCenter 服务器需要访问主机系统管理的清单对象,所以 vpxuser 账户被授予每个主机的 rootFolder 访问权限。

清单和访问权限

这里写图片描述

6.6 受管和独立的 ESX/ESXi 主机

ESX/ESXi 可以作为受管的或独立的 ESX/ESXi 主机运行。

■ 独立的 ESX/ESXi 主机,功能有限。独立的主机清单能够支持多个虚拟机及多个资源池,但只包含单个默认的数据中心和单个根目录。默认的数据中心和根目录在 vSphere 客户端上是看不到的,但他们确实在独立的主机上存在,可以在 MOB(托管对象浏览器)查到。

■ 受管 ESX/ESXi 主机被添加到 vCenter 服务器清单。可用的特性取决于该主机可用的许可。
例如, 你可以给 VMware DRS 资源管理或 VMware HA 失效备援保护配置两个或多个主机。

下表汇总了清单包含的多个对象之间的差异。

独立的 ESX/ESXi 和 vCenter 服务器清单

ManagedEntity 子类 ESX/ESXi 清单 vCenter 服务器清单 ClusterComputeResource 无 支持多个实例 ComputeResource 仅一个 支持多个实例 Datacenter 仅一个,不能被销毁,透明的 支持多个实例 Datastore 支持多个实例 支持多个实例 DistributedVirtualSwitch 支持多个实例 支持多个实例 Folder 仅一个,不能被销毁,透明的 支持多个实例 HostSystem 仅一个 支持多个实例 Network 支持多个实例 支持多个实例 ResourcePool 支持多个实例 支持多个实例 VirtualApp 无 支持多个实例 VirtualMachine 支持多个实例 支持多个实例




原文:
VMware vSphere 6.5 Documentation Center:Datacenter Inventory

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 离婚有贷款的房子怎么办 买房没过户房主反悔怎么办 房子过户卖方爱人去世怎么办 黄浦区学生社会实践护照掉了怎么办 北京医保卡坏了怎么办 去了越南的签证怎么办 护照签证到期还在国外怎么办 办护照预约满了怎么办 未满16岁怎么办护照 办理护照采集指纹录不上怎么办 办理护照时指纹没有怎么办 未满16岁的怎么办护照 身份证照得太丑怎么办 武汉江夏怎么办健康证 小孩偏胖肚子大怎么办 手机安全中心密码忘记了怎么办 进京证一年12次怎么办 青霉素和头孢都过敏怎么办 手汗孢疹肿胀怎么办能吃消炎药吗 手机上办进京证怎么办 杭州公共自行车还车点满了怎么办 法院判决书下来对方不给钱怎么办 抓进看守所的人怎么办 在拘留所里病重抢救怎么办 昆明公租房户型确认后怎么办 18年工作好难找怎么办 我没工作了怎么办2018 婚姻质量差不幸福该怎么办 吸毒犯戒毒所不收怎么办 信用卡到期人进拘留所怎么办? 人在拘留所信用卡逾期怎么办 探视权不让接走怎么办 医保过了缴费期怎么办 充电宝充手机慢怎么办 执行局执行不到钱怎么办 小孩挖耳朵疼了怎么办 挖耳朵挖破了怎么办 挖耳朵皮挖破了耳鸣怎么办 北京自考证丢啦怎么办 不服检察院的答复函该怎么办 检察院控申答复函不复怎么办