虚拟机重命名
最近请同事帮忙在ESXi建了一台虚拟机。安装完成后发现虚拟机名字打错了,那“虚拟机如何重命名?”
试一试
打开vSphere Client先将虚拟机关机再Remove from Inventory,再打开 Datastore Browser将文件夹及相关文件重命名。修改*.vmdk时出现如下信息
看来不能通过这个方式来修改*.vmdk文件,问了下度娘跟bing,找到了些资料。然后做了下面这些动作。
其中看来最重要的文件是*.vmdk文件及*.vmx,其他可以删除掉咯,然后使用vmkfstools -E OldName.vmdk NewName.vmdk指令
要手动重命名虚拟机的文件,请执行以下操作:
- 登录到 VMware vSphere Client。
- 在主机清单中查找虚拟机。
- 关闭虚拟机电源。
- 右键单击虚拟机,然后单击从清单中移除。
- 打开 ESXi/ESX 主机的控制台。有关详细信息,请参见无法使用安全 Shell (SSH) 连接 ESX 主机 (1003807) (Unable to connect to an ESX host using Secure Shell (SSH) (1003807)) 或在 ESXi 4.1 和 ESXi 5.x 中使用技术支持模式 (1017910) (Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910))。/*我是用PuTTY连上ESXi主机*/
- 导航到包含虚拟机的目录。例如:
# cd /vmfs/volumes/DatastoreName/originalname - 使用 vmkfstools -E 命令重命名虚拟磁盘 (VMDK) 文件。有关详细信息,请参见通过 vSphere Management Assistant (vMA) 或 vSphere CLI (vCLI) 重命名虚拟机磁盘 (VMDK) (1002491) (Renaming a virtual machine disk (VMDK) via the vSphere Management Assistant (vMA) or vSphere CLI (vCLI) (1002491))。
# vmkfstools -E "originalname.vmdk" "newname.vmdk"
注意:- 在某些情况下,可能需要克隆(复制)虚拟磁盘。要将虚拟磁盘克隆到新虚拟磁盘,请运行此命令:
# vmkfstools -i "originalname.vmdk" "newname.vmdk"
此命令不会影响原始虚拟磁盘。需要具有足够的可用空间,才能在目标目录中克隆虚拟磁盘。如果使用上述命令,则会在当前目录中创建新的虚拟磁盘,但可以指定另一个目录。 - 在运行 vmkfstools 命令后,无需重命名 originalname-flat.vmdk 文件。vmkfstools 命令将重命名这两个 VMDK 文件,并将更新描述符中的引用。
- 不要使用 cp 或 mv 命令重命名虚拟磁盘文件。而是使用 VMware 实用程序,如 vmkfstools。
- 在某些情况下,可能需要克隆(复制)虚拟磁盘。要将虚拟磁盘克隆到新虚拟磁盘,请运行此命令:
- 使用以下命令复制虚拟机配置文件 (.vmx):
# cp "originalname.vmx" "newname.vmx" - 在文本编辑器中打开新的虚拟机配置文件(例如,newname.vmx)。有关详细信息,请参见在 VMware ESXi 和 ESX 中编辑配置文件 (1017022) (Editing configuration files in VMware ESXi and ESX (1017022))。
例如:
# vi "newname.vmx" - 在配置文件内,将虚拟机的文件名的所有旧实例修改为新的文件名。至少要修改以下值(可能存在更多值):
nvram = " newname.nvram"
displayName = " newname "
extendedConfigFile = " newname .vmxf"
scsi0:0.fileName = " newname .vmdk"
[...]
migrate.hostlog = "./ newname -UUID.hlog"
对每个虚拟机磁盘重复此过程。例如:
scsi0:1.fileName = " newname _1.vmdk"
scsi0:2.fileName = " newname _2.vmdk"
更正 VMkernel 交换文件引用。例如:
sched.swap.derivedName = "/vmfs/volumes/DatastoreUUID/ newname/ newname-UUID.vswp
注意:确保重命名 .vswp 文件以及该交换文件的目录名(上文中的粗体部分)。 - 更正引用原始路径或文件名的任何其余行。
- 保存文件并退出编辑器。
- 将其余所有文件(.vmx 配置文件除外)重命名为新名称。
例如:
# mv "originalname.nvram" "newname.nvram" - 将目录切换到父级目录:
# cd .. - 重命名虚拟机的目录:
# mv "originalname" "newname" - 使用 VMware vSphere Client 浏览数据存储并导航到已重命名的虚拟机目录。
- 右键单击虚拟机的新配置文件(例如 newname.vmx)并选择添加到清单。
或者,可以使用此命令将虚拟机添加到清单中:
对于 ESX:
# vmware-cmd -s register "/vmfs/volumes/DatastoreName/newname/newname.vmx"
对于 ESXi:
# vim-cmd solo/registervm /vmfs/volumes/DatastoreName/newname/newname.vmx - 启动虚拟机。
- 在打开电源期间,摘要选项卡中将显示一个针对虚拟机的问题。采用以下方式查看该问题:
- 单击摘要选项卡。
- 右键单击清单中的虚拟机并选择回答问题。
出现提示时,选择我移动了它,然后单击确定。
警告:如果选择我复制了它,将更改虚拟机的 UUID 和 MAC 地址,对于对 MAC 地址变化敏感的客户机应用程序以及依赖于 UUID 的虚拟机备份,这将产生不利影响。
- 也可以选择删除原始虚拟机配置文件。
例如:
# rm /vmfs/volumes/DatastoreName/newname/originalname.vmx
參考:
重命名 VMware ESXi/ESX 中的虚拟机及其文件 (2076170)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2076170
Renaming a virtual machine disk (VMDK) via the vSphere Management Assistant (vMA) or vSphere CLI (vCLI) (1002491)