book
Article ID: 330662
calendar_today
Updated On:
Issue/Introduction
本文提供了更改虚拟机交换文件的默认位置的步骤。
Symptoms:
免责声明:本文为 Storing a virtual machine swap file in a location other than the default in ESX/ESXi (1004082) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
Environment
VMware vSphere ESXi 5.0
VMware ESX 4.1.x
VMware ESX Server 3.5.x
VMware ESX Server 3.0.x
VMware ESX 4.0.x
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Embedded
VMware ESXi 4.1.x Installable
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.1
Resolution
如果虚拟机或客户机操作系统出现故障(其中包括 STOP 错误、只读文件系统和在高 I/O 期间出现严重的性能下降问题),那么将交换文件移动到备用数据存储是十分有用的故障排除步骤。但是,仍建议您通过识别并解决潜在的资源过度使用或存储性能问题,来确保环境的稳定性。
此方法还可以在使用 LUN 快照技术时用于将虚拟机交换文件存储在备用的非复制数据存储中,以确保将交换文件存储到没有被复制的位置。
ESXi/ESX 3.5、4.x 和 ESXi 5.x
注意:如果您的主机是 HA 群集的一部分,则必须先更改虚拟机交换文件位置的群集设置,然后再执行以下步骤。有关详细信息,请参见您的版本的《虚拟机管理指南》(Virtual Machine Admin Guide) 中的更改交换文件位置 (Change the Swap File Location)部分。
要编辑 ESXi/ESX 3.5、4.x 和 ESXi 5.x 中的虚拟机交换文件位置,请执行以下操作:
- 使用 VMware Infrastructure/vSphere Client 直接与您的主机或 vCenter Server 连接。
- 单击 ESXi/ESX 主机的配置选项卡。
- 单击虚拟机交换文件位置,然后单击编辑。
- 指定需要存储虚拟机交换文件的数据存储。
- 重新启动虚拟机后,确保交换文件位于指定的主机数据存储上。
要更改单个虚拟机的交换文件位置,请执行以下操作:
- 关闭虚拟机。
- 取消注册虚拟机。右键单击清单中的虚拟机,然后选择从清单中移除。
- 连接到主机:
- 将目录更改到虚拟机所在的文件夹:
cd /vmfs/volumes/datastore_name/virtual_machine_folder/
- 使用文本编辑器编辑虚拟机的配置文件。
- 添加以下行:
sched.swap.dir = /vmfs/volumes/datastore/
- 重新注册虚拟机。有关详细信息,请参见将虚拟机注册或添加到 vCenter Server 或 ESXi/ESX 主机上的清单中 (1006160) (Registering or adding a virtual machine to the inventory on vCenter Server or on an ESXi/ESX host (1006160))。
ESX 3.0
将以下行添加到虚拟机的配置 (.vmx) 文件中以便将交换文件存储在 VMFS-3 卷上:
sched.swap.dir= "/vmfs/volumes/volume_name/dir_name"
其中 volume_name 是 VMFS-3 卷的名称。
要更改交换文件位置,请执行以下操作:
- 使用 vSphere Client 连接到 vCenter Server 或直接连接到 ESX 主机。
- 选择想要修改的虚拟机或虚拟机模板。
- 如果虚拟机正在运行,请停止该虚拟机。
- 使用 SSH 或服务控制台连接与 ESX 控制台进行连接。
- 将目录更改到想要编辑的 .vmx 文件的路径。
注意:使用 vmware-cmd -l 命令以查找配置文件的路径。有关 vmware-cmd 命令的详细信息,请参见《VMware 脚本编写 API》(VMware Scripting API)。
- 在文本编辑器中打开配置文件并添加以下行:
sched.swap.dir= "/vmfs/volumes/volume_name/dir_name"
- 删除以下行:
sched.swap.derivedName = xxx
- 如果虚拟机不是模板,请重新启动该虚拟机。
- 根据需要,为每个现有虚拟机重复该操作。
Additional Information
根据虚拟机主机中运行的 ESXi 版本的不同,虚拟机交换文件位置会对 vMotion 的兼容性产生不同影响。您可以对 ESX/ESXi 3.5 或更高版本主机进行配置,使其将虚拟机交换文件存储在虚拟机配置文件相同位置或存储在为该主机指定的本地交换文件数据存储中。虚拟机交换文件的位置会对 vMotion 兼容性产生以下影响:
- 对于运行 ESX/ESXi 3.5 或更高版本的主机之间的迁移,允许执行 vMotion 和暂挂/关机虚拟机之间的迁移。
- 在与 vMotion 的迁移过程中,如果在目标主机上指定的交换文件位置与在来源主机上指定的交换文件位置不同,交换文件将复制到新位置。这样做会导致与 vMotion 的迁移速度减慢。如果目标主机无法访问指定的交换文件位置,交换文件将存储在与虚拟机配置文件相同的位置。
有关编辑虚拟机配置文件的其他信息,请参见编辑 .vmx 文件的技巧 (1714) (Tips for editing a .vmx file (1714))。
有关本文的翻译版本,请参见:
Storing a virtual machine swap file in a location other than the default in ESX/ESXiImpact/Risks: