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

日期:2015-4-10作者:Rob Bastiaansen

【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对此进行了描述。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者>更多

Rob Bastiaansen
Rob Bastiaansen

网站编辑

VMware架构管理服务>更多

  • VMware负载均衡特性以及相关配置

    虽然DRS(Distributed Resource Scheduler)和HA(High Availability)的适用场景各不相同,但是它们能够协同工作,以实现虚拟化环境的负载均衡。

  • 避免主机故障:使用VMware DRS HA FT

    VMware分布式资源调度器、高可用性以及容错都是非常重要的用于改进工作负载可用性及可靠性的特性。

  • 如何使用Hybrid Cloud Manager统一管理vSphere和vCloud Air

    不论管理员是否已经做好准备,看起来混合云都将会成为最为流行的云部署方式。而对于混合云管理来说,无疑需要一种能够同时支持多种云环境的管理工具。

  • 案例:且看新东方教育如何云转型

    随着在线教育、网络课堂、网络直播以及业务办理的网络化,IT作为整个教育生态中的基础部分,在教育中扮演的角色越来越重要,业务部门对IT系统的依赖性越来越高,同时对IT环境也提出了更高的要求。新东方作为国内领先的教育机构当然也也不例外。

相关推荐

技术手册>更多

  • 虚拟机资源配置指南

    本期《虚拟机资源配置指南》技术手册旨在帮助IT管理员找准虚拟机资源合理分配的界线,并通过正确实施、配置安全性,避免虚拟机蔓延等多方面技巧,最终在充分保证虚拟机性能优化的同时,合理控制运营成本。

  • 超融合产品EVO:RAIL使用指南

    VMware已经建立了一个合作伙伴列表,该列表中的厂商将提供EVO:RAIL的硬件部分。尽管底层的技术相同,但HP、Dell以及合作伙伴列表上的其他厂商提供的产品还是有一些差异。

  • VMware NSX部署指南

    在VMworld 2013上,VMware发布了它的下一代网络虚拟化平台NSX,两年过去了,VMware NSX有了哪些变化?您是否已经部署VMware NSX?

  • vSphere高级技巧

    虽然vSphere 6要等到2015年初才会发布,但是大家对它的热情不减。相信很多企业都已经在使用vSphere,本期技术手册分享一些关于vSphere的高级技巧,例如如何重新设计vSphere让其发挥最大潜力。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 网络
  • 服务器
  • 数据中心
【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。