VSAN API 探索第 6 部分 – 修改虚拟机的虚拟机存储策略
VSAN 的最大好处之一是可以按虚拟机指定粒度级存储策略。这些存储策略通过 VMware 基于存储策略的管理系统管理,并由 VSAN 自动执行,以确保合规性。虚拟机存储策略可以在虚拟机初始部署时分配,也可以部署后修改,例如,在虚拟机的 SLA 因为工作负载发生改变而改变时修改。在 vSphereWeb Client 中修改虚拟机的虚拟机存储策略非常简单,您只需要选择虚拟机存储策略,然后重新应用即可,该操作也可以通过 vSphereAPI 以编程方式实现。
通过 vSphere API 方法ReconfigVM_Task(),您可以修改虚拟机主目录命名空间和/或单个虚拟机磁盘的虚拟机存储策略。为修改虚拟机主目录命名空间,在虚拟机配置规范基础上定义了一个名为vmProfile 的属性,该属性可以接受从SPBMAPI 中提取的虚拟机存储策略 ID。要修改单个虚拟磁盘的虚拟机存储策略,您需要设置profile 属性,该属性在虚拟设备上与虚拟机存储策略 ID 一起显示。为了演示该功能,我创建了一个 vSphereSDK for Perl 示例脚本,名为changeVMStoragePolicy.pl
免责声明:这些脚本仅用于参考和教育目的。在尝试用于生产环境之前,请先进行彻底测试。
在我的环境中有一个名为 VM1 的虚拟机,该虚拟机已经定义了一个名为“Copper”的虚拟机存储策略,如以下屏幕截图所示:
假如我想要将虚拟机的虚拟机存储策略更改为另一个名为“Aluminum”的策略,我首先需要从 SPBM API 中提取虚拟机策略 ID,然后将 ID 传递给脚本,命令如下:
./changeVMStoragePolicy.pl –server vcenter55-1.primp-industries.com–username root –vmname VM1 –profileid cd6908b2-0704-4733-ad9b-a9a8f200ab0a
虚拟机重新配置完毕后,我们可以看一下 vSphere Web Client,我们可以看到虚拟机存储策略已经更改,VSAN 也将自动执行这些新的要求。
如果您想要在创建新虚拟机的过程中分配虚拟机存储策略,您只需要设置vmProfile 和profile 属性,与重新配置操作类似。
欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国
————————————————————————————————————————————
作者:William Lam
现任 VMwareR&D 主管工程师,隶属 SDDC 新兴解决方案团队的一员。目前,他在 VMware 公司从事原型设计,构建新解决方案并将其推向市场。他的工作主要侧重于从 API 和 SDK 这两个角度进行软件定义的数据中心 (SDDC) 自动化以及 SDDC 通用集成和操作。他还与 VMware 内部的多个工程团队紧密合作,帮助提供设计和架构方面的前期反馈。最后,通过客户互动和反馈,他不断应对客户的挑战、坚持满足客户的需求,从而更好地改进 VMware 产品。
转载于:https://blog.51cto.com/vsdsrevolution/1425491