![如何在 ESX 外部通过命令行(Linux)或 API(pyvmomi)将磁盘设置“thick lazy zeroed”更改为“eager zeroed thick”?](https://linux22.com/image/731195/%E5%A6%82%E4%BD%95%E5%9C%A8%20ESX%20%E5%A4%96%E9%83%A8%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%88Linux%EF%BC%89%E6%88%96%20API%EF%BC%88pyvmomi%EF%BC%89%E5%B0%86%E7%A3%81%E7%9B%98%E8%AE%BE%E7%BD%AE%E2%80%9Cthick%20lazy%20zeroed%E2%80%9D%E6%9B%B4%E6%94%B9%E4%B8%BA%E2%80%9Ceager%20zeroed%20thick%E2%80%9D%EF%BC%9F.png)
我使用 Ansible 2.6 和 pyvmomi 6.7.0 通过 vSphere 6.0.0 创建一些虚拟机。
当我调整磁盘大小时,我丢失了“急切归零厚”磁盘设置。
通过 API 或 Linux 命令行远程(而不是从 esx 服务器)返回此设置的最简单方法是什么?
我更喜欢除了 ssh 到 esx 服务器之外的另一种解决方案,然后使用“vmkfstool -d zeroedthick...”
答案1
现场存储 vmotion 与磁盘类型设置你想要的磁盘类型应该可以解决问题,根据VMware 的知识库条目。
使用 API 来实现也是可能的,请参阅pyvmomi vmotion 示例以及 VMware 的 API 文档这里和这里。
这听起来像是 ansible 中的一个错误vmware_guest
(我假设您正在使用它)。我建议将此问题提请 ansible 开发人员注意。
答案2
一个简单的方法:
从 esx
vmkfstools -X 25G -d eagerzeroedthick /vmfs/volumes/FOOBAR/FOOBAR.vmdk
从远程 Linux 机器使用以下命令vmware-vcli
:
vmkfstools --datacenter x --vihost esx42 --server vc1.example.com --username me \
-X 25G -d eagerzeroedthick /vmfs/volumes/FOOBAR/FOOBAR.vmdk
要更新 VmWare 清单,您需要运行:
svmotion --datastore foobar --server vc1.example.com --username me \
--interactive