磁盘收缩在 ESXi 来宾上不起作用

Nek*_*Sou 11 virtualization vmware-workstation vmware-esxi vmware-vsphere thin-provisioning

大家好!我在 StackOverflow 网络上的第一篇文章:)

我们正在运行一些 ESXi 5.0/vCenter 基础架构,以托管具有 ext3 分区的主要 Debian 6/amd64 来宾系统,并open-vm-tools根据debian 错误 471784从源代码编译。

有一个问题在互联网上被提出,但没有任何地方给出结论性的答案。

当尝试在独立持久模式下缩小精简配置的磁盘时,没有任何快照、父项、克隆,我始终收到以下错误:

root@linux64:~# vmware-toolbox-cmd disk list
Shrink disk is disabled for this virtual machine.

Shrinking is disabled for linked clones, parents of linked clones,
pre-allocated disks, snapshots, or due to other factors.
See the User's manual for more information.
Run Code Online (Sandbox Code Playgroud)

(顺便说一下,什么是“其他因素”,大量的白皮书和技术手册中哪些用户手册?:)

我知道我可以用零填充分区(实际上,我确实shred -fuzn0在删除大文件时使用)然后关闭有问题的来宾并使用各种方法,例如vmkfstools在精简配置模式下克隆或 vMotioning 磁盘等,但所有其中一些要么会因客机被缩短而导致停机损失,要么导致数据存储和/或主机之间的数据无端移动。


答案是:在 ESX/ESXi 下没有收缩(从版本 5 开始)。

文件内容如下:

重要事项在以下情况下不允许收缩磁盘

  1. 虚拟机托管在 ESX/ESXi 服务器上。 ESX/ESXi Server只能在导出虚拟机时缩小虚拟磁盘的大小。但是,ESX/ESXi 服务器上的虚拟磁盘占用的空间不会改变。

  2. 虚拟机具有Mac 客户机操作系统。

  3. 您在创建虚拟磁盘时将所有磁盘空间预先分配给它。

  4. 虚拟机包含一个快照

  5. 虚拟机是链接克隆或链接克隆父级

  6. 虚拟磁盘是非持久模式下的独立磁盘 。

  7. 文件系统是日志文件系统,例如ext4、xfs 或 jfs文件系统。

难怪有在VMware工作站,但不能连接到ESXi或vCenter实例的vSphere客户端收缩的选项。

hai*_*img 18

实际上,有一种方法可以缩小 ESXi 上的虚拟机,尽管您需要为此关闭虚拟机。就是这样:

  1. 将 VM 内所有未使用的空间归零:

    dd if=/dev/zero bs=1048576 of=/zero ; sync ; rm /zero

  2. 对其他挂载点、交换分区等执行相同的操作。

  3. 关闭虚拟机。

  4. SSH 到 ESXi,并发出以下命令:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

这将需要一些时间... vmkfstools 在您的 VMDK 中“打孔”,例如释放所有填充零的块,从而有效地缩小您的 VMDK。

  • 对于 Windows,您可以获取 [Virtual Server 2005](http://www.microsoft.com/windowsserversystem/virtualserver/) 的副本,提取 [Precompact.iso](http://support.microsoft.com/kb /888760/en-us) 文件,它包含一个 Procompact.exe 程序,该程序会将 Windows 中所有未使用的磁盘速度归零。 (6认同)

小智 4

http://www.vmware.com/pdf/vmware-tools-cli.pdf 第 13 页:

以下情况不允许进行缩盘:

虚拟机托管在 ESX/ESXi 服务器上。仅当导出虚拟机时,ESX/ESXi Server 才能缩小虚拟磁盘的大小。但是,ESX/ESXi 服务器上虚拟磁盘占用的空间不会改变。