手动修改VMX文件时如何确保安全

日期: 2015-04-09 作者:Rob Bastiaansen翻译:张冀川 来源:TechTarget中国 英文

对日常管理来讲,管理员不必进入vSphere环境内部修改虚拟机活动,通常使用vSphere Web Client就可以搞定。但有时需要进行一些手动干预对虚拟环境进行调整。 通过遵循本文的如下指南,管理员能够修改虚拟机的VMX文件进行相应的变更,比如修改参数值或者增加新参数等无法通过vSphere桌面或Web客户端轻松完成的工作。 人为干预的两种情景 为什么需要手动编辑VMX文件呢?假如有一个用户将虚拟环境升级到vSphere 5.5,并将所有虚拟机的硬件兼容性升级至级别10。

如果只能够通过vSphere Web Client编辑该虚拟机,当vSphere Web Client不可用但需要对虚拟……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

对日常管理来讲,管理员不必进入vSphere环境内部修改虚拟机活动,通常使用vSphere Web Client就可以搞定。但有时需要进行一些手动干预对虚拟环境进行调整。

通过遵循本文的如下指南,管理员能够修改虚拟机的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:找到虚拟机所在路径

为访问位于ESXi主机数据存储下的VMX文件,需要找到虚拟机所在路径。如图1所示,只需要打开虚拟机的摘要信息标签,查看存储区域的相关对象窗口即可。 
图1:在虚拟机摘要标签下,数据存储路径位于相关对象面板内。

图片中的信息可能并非100%正确,实际可能会列出多个数据存储,因为配置可能存储在与虚拟机文件不同的路径下。或者虚拟机被重命名后,只会改变显示名而不会改变虚拟机路径及文件的名字。如图2所示,为确定VMX配置文件的正确路径,需要进入虚拟机配置部分并在虚拟机配置文件区域予以确认。

图2:虚拟机配置文件区域显示了虚拟机配置文件所在路径


步骤2:关闭虚拟机

你可以关闭客户操作系统,如果没有安装VMware Tools也可以强制关机。

步骤3:在vCenter清单中注销虚拟机

在vSphere Web Client或者vSphere Client窗口中右键单击虚拟机并选择从清单中移除选项,该虚拟机被从清单中移除了但还保留在数据存储中。

方法1:下载、修改并上传VMX文件

该方法最简单。通过vSphere Web Client或者vSphere Client窗口访问虚拟机所在的数据存储并浏览相关内容。如图3所示,打开虚拟机所在目录并选择VMX文件。 
图3:使用vSphere Client浏览虚拟机的数据存储,然后右键单击选择下载选项

将文件下载到本地后,在编辑之前先备份文件。

你可以使用编辑器比如Wordpad或者其他文本编辑器修改文件。请注意某些编辑器处理回车以及换行的方式不同,比如NotePad。无法正确解释这些字符的编辑器将会在一行而不是分多行显示所有内容。

进行必要的修改后,将文件上传到相同的路径下。最后一步是在vCenter中重新注册虚拟机:右键单击VMX文件并在弹出的菜单中选择注册虚拟机选项。

方法2:直接通过命令行修改VMX文件


采用该方法,管理员需要熟悉命令行界面。

首先,在本地控制台(需要在直接控制台用户界面中启用本地控制台)或者通过SSH打开主机的命令行会话。如果需要使用指南,可以参考VMware的vSphere命令行界面入门文档。

使用cd命令进入位于/vmfs/volumes/your datastore/vm目录下的虚拟机目录。如下图4所示,你可以使用ls -l命令列出文件。

另一个小技巧:使用tab键补齐命令可以简化操作并避免输错命令。在cd命令后输入目录名的第一个字母然后按tab键自动补齐文件名。当包括多个目录时,可以连续按两次tab键显示可供选择的目录列表。
图4:使用ESXi Shell查看虚拟机数据存储并列出文件

确认VMX文件的路径后,可以使用编辑器进行修改。当然在修改前要先创建一个副本。使用cp命令拷贝文件;通常我会使用.BAK作为扩展名表示文件是一个备份。

几乎能够在所有命令行下使用的编辑器是VI,因此知道其如何使用是个不错的主意。VMware的知识库KB1020302解释了如何使用VI修改文件。

完成变更后,在命令行下使用如下命令在vCenter内注册虚拟机:
 vim-cmd solo/registervm path to the vmx file

下图5中,上一条命令输出的结果是139,这是清单内的对象标识符,表明虚拟机注册成功了。 
图5:在命令行下成功注册虚拟机后,会显示代表清单中的对象标识符的数字139。

作者

Rob Bastiaansen
Rob Bastiaansen

网站编辑

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐