原文:http://www.virtuallyghetto.com/2014/03/exploring-vsan-apis-part-6-modifying-virtual-machine-vm-storage-policy.html



       VSAN 的最大好处之一是可以按虚拟机指定粒度级存储策略。这些存储策略通过 VMware 基于存储策略的管理系统管理,并由 VSAN 自动执行,以确保合规性。虚拟机存储策略可以在虚拟机初始部署时分配,也可以部署后修改,例如,在虚拟机的 SLA 因为工作负载发生改变而改变时修改。在 vSphereWeb Client 中修改虚拟机的虚拟机存储策略非常简单,您只需要选择虚拟机存储策略,然后重新应用即可,该操作也可以通过 vSphereAPI 以编程方式实现。


        通过 vSphere API 方法ReconfigVM_Task(),您可以修改虚拟机主目录命名空间/或单个虚拟机磁盘的虚拟机存储策略。为修改虚拟机主目录命名空间,在虚拟机配置规范基础上定义了一个名为vmProfile 的属性,该属性可以接受从SPBMAPI 中提取的虚拟机存储策略 ID。要修改单个虚拟磁盘的虚拟机存储策略,您需要设置profile 属性,该属性在虚拟设备上与虚拟机存储策略 ID 一起显示。为了演示该功能,我创建了一个 vSphereSDK for Perl 示例脚本,名为changeVMStoragePolicy.pl


       免责声明:这些脚本仅用于参考和教育目的。在尝试用于生产环境之前,请先进行彻底测试。


       在我的环境中有一个名为 VM1 的虚拟机,该虚拟机已经定义了一个名为Copper的虚拟机存储策略,如以下屏幕截图所示:

VSAN API 探索第 6 部分 – 修改虚拟机的虚拟机存储策略


       假如我想要将虚拟机的虚拟机存储策略更改为另一个名为Aluminum的策略,我首先需要从 SPBM API 中提取虚拟机策略 ID,然后将 ID 传递给脚本,命令如下:

./changeVMStoragePolicy.pl –server vcenter55-1.primp-industries.com–username root –vmname VM1 –profileid cd6908b2-0704-4733-ad9b-a9a8f200ab0a

VSAN API 探索第 6 部分 – 修改虚拟机的虚拟机存储策略


       虚拟机重新配置完毕后,我们可以看一下 vSphere Web Client,我们可以看到虚拟机存储策略已经更改,VSAN 也将自动执行这些新的要求。

VSAN API 探索第 6 部分 – 修改虚拟机的虚拟机存储策略


       如果您想要在创建新虚拟机的过程中分配虚拟机存储策略,您只需要设置vmProfile profile 属性,与重新配置操作类似。


  1. VSAN API 探索第 1 部分启用 VSAN 群集

  2. VSAN API 探索第 2 部分查询可用的 SSD

  3. VSAN API 探索第 3 部分启用 VSAN 流量类型

  4. VSAN API 探索第 4 部分 – VSAN 磁盘映射

  5. VSAN API 探索第 5 部分 – VSAN 主机状态

  6. VSAN API 探索第 6 部分修改虚拟机的虚拟机存储策略

  7. VSAN API 探索第 7 部分 – VSAN 数据存储文件夹管理


       欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国


————————————————————————————————————————————


作者:William Lam 

现任 VMwareR&D 主管工程师,隶属 SDDC 新兴解决方案团队的一员。目前,他在 VMware 公司从事原型设计,构建新解决方案并将其推向市场。他的工作主要侧重于从 API  SDK 这两个角度进行软件定义的数据中心 (SDDC) 自动化以及 SDDC 通用集成和操作。他还与 VMware 内部的多个工程团队紧密合作,帮助提供设计和架构方面的前期反馈。最后,通过客户互动和反馈,他不断应对客户的挑战、坚持满足客户的需求,从而更好地改进 VMware 产品。