在 VMware ESXi 和 VMware ESX 的默认虚拟机目录以外的其他位置创建快照
search cancel

在 VMware ESXi 和 VMware ESX 的默认虚拟机目录以外的其他位置创建快照

book

Article ID: 342234

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明: 文本是 Creating snapshots in a different location than default virtual machine directory for VMware ESXi and VMware ESX (1002929) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。



在 ESX/ESXi 3.x 和 4.x 中,由快照组成的所有文件都将在虚拟机的工作目录中创建。 默认情况下,工作目录与虚拟机 (.vmx) 配置文件的目录相同。 如果虚拟磁盘 (.vmdk) 文件与虚拟机位于不同的数据存储中,则虚拟磁盘重做日志(-delta.vmdk-sesparse.vmdk)文件与虚拟机的 (.vmx) 配置文件一起创建,而不是与虚拟磁盘 (.vmdk) 文件一起创建。

在 ESXi 5.0 及更高版本中,用于快照的虚拟磁盘重做日志 (-delta.vmdk) 文件与父虚拟磁盘 (.vmdk) 文件位于相同的目录中。

您可能需要更改创建虚拟磁盘重做日志 (-delta.vmdk) 文件的位置(位于相同或不同数据存储上的新目录),以便:
  • 在 VMFS 卷上空间不足的情况下创建快照。
  • 没有足够的空间在 VMFS 卷上创建交换文件时打开虚拟机电源。
本文介绍了在 ESX/ESXi 3.x 及更高版本中更改用于快照的默认虚拟机工作目录位置的步骤。


Environment

VMware ESX Server 3.0.x
VMware ESX Server 3.5.x
VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.5
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Embedded
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Embedded
VMware ESXi 3.5.x Installable
VMware vSphere ESXi 6.0
VMware ESX 4.0.x
VMware ESX 4.1.x
VMware ESXi 4.0.x Embedded

Resolution

要更改快照的默认虚拟机工作目录位置(更改为相同或不同数据存储上的新目录),请执行以下操作:

注意: 要继续进行,您需要目标数据存储的 UUID。 您可以在 SSH 会话中运行 esxcli storage filesystem list 命令,生成当前连接到 ESXi 主机的 LUN 的精简列表,包括他们的 UUID 和 VMFS 版本。 有关更多详细信息,请参见 Identifying disks when working with VMware ESXi/ESX (1014953)

ESX/ESXi 4.1 及更低版本

  1. 关闭虚拟机电源。
  2. 使用文本编辑器打开虚拟机的 .vmx 配置文件。 有关详细信息,请参见 Tips for editing a .vmx file (1714)
  3. 在虚拟机 .vmx 配置文件中添加一行,将 workingDir 选项指定为数据存储的完整目录路径:

    workingDir = "new_path_location"

    示例:

    workingDir = "/vmfs/volumes/46f1225f-552b0069-e03b-00145e808070/vm-snapshots"

    这可确保后续创建的快照会在定义的目录中创建新的虚拟磁盘重做日志 (-delta.vmdk) 文件。 在本例中,在 vm-snapshots 目录中创建重做日志文件。

  4. 首次打开虚拟机电源时,将在虚拟机的工作目录中创建一个新交换文件。 默认情况下,虚拟机将交换文件写入 .vmx 配置文件所在目录中。 如果要更改此位置,可在 .vmx 文件的此行中添加新位置:

    sched.swap.dir = "path_to_vm_directory"

    注意: 此步骤为可选步骤。 添加新的文件位置可确保在工作目录中创建交换文件。

  5. 保存更改,关闭虚拟机的 .vmx 配置文件。
  6. 通过在清单中先取消注册然后重新注册来重新加载虚拟机配置。 有关详细信息,请参见 Registering or adding a virtual machine to the inventory (1006160)
  7. 打开虚拟机电源。

ESXi 5.0 及更高版本

  1. 关闭虚拟机电源。
  2. 使用文本编辑器打开虚拟机的 .vmx 配置文件。 有关详细信息,请参见 Tips for editing a .vmx file (1714)
  3. 在虚拟机 .vmx 配置文件中添加以下行,将 workingDir 选项指定为数据存储的完整目录路径:

    workingDir = "new_path_location"
    snapshot.redoNotWithParent = "true"

    示例:

    workingDir = "/vmfs/volumes/46f1225f-552b0069-e03b-00145e808070/vm-snapshots"
    snapshot.redoNotWithParent = "true"

    这可确保后续创建的快照会在定义的目录中创建新的虚拟磁盘重做日志 (-delta.vmdk) 文件。 在本例中,在 vm-snapshots 目录中创建重做日志文件。

    注意: 在 ESXi 5.5 中,如果虚拟磁盘的大小大于 2 TB,则重做日志文件将是 -sesparse.vmdk 格式,而不是 -delta.vmdk 格式。

  4. 打开了虚拟机电源,并且分配给虚拟机的内存超过为其预留的内存时,将在虚拟机的工作目录中创建一个新交换文件。 默认情况下,虚拟机将交换文件写入 .vmx 配置文件所在目录中。 如果要更改此位置,可在 .vmx 文件的此行中添加新位置:

    sched.swap.dir = "new_path_location"

    注意: 此步骤为可选步骤。 添加新的文件位置可确保交换文件在所选目录中创建。 例如,您可能希望执行此操作以将交换文件与虚拟磁盘文件保留在相同位置,或者将交换文件与原始虚拟机文件夹保留在不同路径中。

  5. 保存更改,关闭虚拟机的 .vmx 配置文件。
  6. 通过在清单中先取消注册然后重新注册来重新加载虚拟机配置。 有关详细信息,请参见 Registering or adding a virtual machine to the inventory (1006160)
  7. 打开虚拟机电源。

注意

  • 也可以通过 vSphere Client 添加 5.x/6.0 中的 snapshot.redoNotWithParent 选项。 有关详细信息,请参见 Changing the location of snapshot delta files for virtual machines in ESXi 5.x (2007563)
  • 如果要执行虚拟机的 Storage vMotion 或存储迁移(该虚拟机的工作文件夹设置在除虚拟机目录之外的位置),则不会保存此更改,并且必须根据需要对其进行重新配置。
  • 如果要执行虚拟机的 Storage vMotion 或存储迁移(该虚拟机的工作文件夹设置在虚拟机目录之外的位置),则操作可能失败,并返回错误:

    Cannot complete the operation because the file or folder already exists.


Additional Information

Creating snapshots in a different location than default virtual machine directory for VMware ESXi and VMware ESX