对日常管理来讲,管理员不必进入vSphere环境内部修改虚拟机活动,通常使用vSphere Web Client就可以搞定。但有时需要进行一些手动干预对虚拟环境进行调整。 通过遵循本文的如下指南,管理员能够修改虚拟机的VMX文件进行相应的变更,比如修改参数值或者增加新参数等无法通过vSphere桌面或Web客户端轻松完成的工作。 人为干预的两种情景 为什么需要手动编辑VMX文件呢?假如有一个用户将虚拟环境升级到vSphere 5.5,并将所有虚拟机的硬件兼容性升级至级别10。
如果只能够通过vSphere Web Client编辑该虚拟机,当vSphere Web Client不可用但需要对虚拟……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
通过遵循本文的如下指南,管理员能够修改虚拟机的VMX文件进行相应的变更,比如修改参数值或者增加新参数等无法通过vSphere桌面或Web客户端轻松完成的工作。
人为干预的两种情景
为什么需要手动编辑VMX文件呢?假如有一个用户将虚拟环境升级到vSphere 5.5,并将所有虚拟机的硬件兼容性升级至级别10。如果只能够通过vSphere Web Client编辑该虚拟机,当vSphere Web Client不可用但需要对虚拟机进行修改时将会出现什么状况?
假设虚拟机端口组需要迁移到另一个网络。能够使用的一个工具是PowerShell,但并非所有的管理员都熟悉PowerCLI脚本。
在另一种场景下,管理员想给虚拟机增加无法通过vSphere Web Client实现的高级配置。例如,管理员想更改虚拟机放置快照文件的工作目录,VMware的知识库KB1002929对此进行了描述。
剖析VMX文件
虚拟机配置被存储在以.VMX为扩展名的文件中,该文件位于数据存储中该虚拟机所在的目录下。VMX文件是一个结构很简单的文本文件,每一行包括一个参数以及对应的值。如下是VMX配置文件的部分内容示例:
virtualHW.version = "10"
displayName = "Win2008Main"
memSize = "4096"
scsi0.virtualDev = "pvscsi"
scsi0.present = "TRUE"
ethernet0.virtualDev = "vmxnet3"
ethernet0.networkName = "VM Network"
编辑配置文件有两种方法,但不论使用哪种方法,必要的准备步骤是一样的。
步骤1:找到虚拟机所在路径


图2:虚拟机配置文件区域显示了虚拟机配置文件所在路径
你可以关闭客户操作系统,如果没有安装VMware Tools也可以强制关机。
步骤3:在vCenter清单中注销虚拟机
在vSphere Web Client或者vSphere Client窗口中右键单击虚拟机并选择从清单中移除选项,该虚拟机被从清单中移除了但还保留在数据存储中。
方法1:下载、修改并上传VMX文件
该方法最简单。通过vSphere Web Client或者vSphere Client窗口访问虚拟机所在的数据存储并浏览相关内容。如图3所示,打开虚拟机所在目录并选择VMX文件。

你可以使用编辑器比如Wordpad或者其他文本编辑器修改文件。请注意某些编辑器处理回车以及换行的方式不同,比如NotePad。无法正确解释这些字符的编辑器将会在一行而不是分多行显示所有内容。
进行必要的修改后,将文件上传到相同的路径下。最后一步是在vCenter中重新注册虚拟机:右键单击VMX文件并在弹出的菜单中选择注册虚拟机选项。
方法2:直接通过命令行修改VMX文件
采用该方法,管理员需要熟悉命令行界面。
首先,在本地控制台(需要在直接控制台用户界面中启用本地控制台)或者通过SSH打开主机的命令行会话。如果需要使用指南,可以参考VMware的vSphere命令行界面入门文档。
使用cd命令进入位于/vmfs/volumes/your datastore/vm目录下的虚拟机目录。如下图4所示,你可以使用ls -l命令列出文件。
另一个小技巧:使用tab键补齐命令可以简化操作并避免输错命令。在cd命令后输入目录名的第一个字母然后按tab键自动补齐文件名。当包括多个目录时,可以连续按两次tab键显示可供选择的目录列表。

几乎能够在所有命令行下使用的编辑器是VI,因此知道其如何使用是个不错的主意。VMware的知识库KB1020302解释了如何使用VI修改文件。
完成变更后,在命令行下使用如下命令在vCenter内注册虚拟机:
vim-cmd solo/registervm path to the vmx file
下图5中,上一条命令输出的结果是139,这是清单内的对象标识符,表明虚拟机注册成功了。

相关推荐
-
OpenStack项目:哪一个VMware贡献最多?
曾经有一段时间,VMware只专注于专有的软件上。随着IT世界的扩展,VMware的视野也越来越大。除了云服务、网络虚拟化和软件定义存储之外,VMware已经成为许多开源项目,包括OpenStack的重要贡献者。
-
如何在Mac或Linux上部署VMware vCenter Server Appliance
自从VMware公司创建以来,管理员就一直使用vSphere Web Client——也就是胖客户端,来管理hypervisor和 VMware vCenter Server Appliance。
-
VMware VIO如何给vSphere添加云功能?
虽然世界范围内的数据中心都使用vSphere虚拟化他们的工作负载,但是虚拟化已经存在了很久,而且需要管理没来安装、部署虚拟机。近来,越来越多的组织已经转向云来运行他们的工作负载。
-
如何使用vSphere Web Client配置 ESXi时间同步?
如果ESXi时间同步处于关闭状态,那么虚拟机、应用程序和文件服务器可能会遇到麻烦。因此成功安装ESXi 6.5之后,管理员需要完成的最重要事情之一就是配置时间同步。