虚拟机重命名

最近请同事帮忙在ESXi建了一台虚拟机。安装完成后发现虚拟机名字打错了,那“虚拟机如何重命名?”

试一试

打开vSphere Client先将虚拟机关机再Remove from Inventory,再打开 Datastore Browser将文件夹及相关文件重命名。修改*.vmdk时出现如下信息


看来不能通过这个方式来修改*.vmdk文件,问了下度娘跟bing,找到了些资料。然后做了下面这些动作。

其中看来最重要的文件是*.vmdk文件及*.vmx,其他可以删除掉咯,然后使用vmkfstools -E OldName.vmdk NewName.vmdk指令


要手动重命名虚拟机的文件,请执行以下操作:

  1. 登录到 VMware vSphere Client。
  2. 在主机清单中查找虚拟机。
  3. 关闭虚拟机电源。
  4. 右键单击虚拟机,然后单击从清单中移除
  5. 打开 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主机*/
  6. 导航到包含虚拟机的目录。例如:

    # cd /vmfs/volumes/DatastoreName/originalname 

  7. 使用 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

  8. 使用以下命令复制虚拟机配置文件 (.vmx):

    # cp "originalname.vmx" "newname.vmx" 

  9. 在文本编辑器中打开新的虚拟机配置文件(例如,newname.vmx)。有关详细信息,请参见在 VMware ESXi 和 ESX 中编辑配置文件 (1017022) (Editing configuration files in VMware ESXi and ESX (1017022))。

    例如:

    # vi "newname.vmx" 

  10. 在配置文件内,将虚拟机的文件名的所有旧实例修改为新的文件名。至少要修改以下值(可能存在更多值):

    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/ newnamenewname-UUID.vswp

    注意:确保重命名 .vswp 文件以及该交换文件的目录名(上文中的粗体部分)。 

  11. 更正引用原始路径或文件名的任何其余行。
  12. 保存文件并退出编辑器。
  13. 将其余所有文件(.vmx 配置文件除外)重命名为新名称。

    例如:

    # mv "originalname.nvram" "newname.nvram" 

  14. 将目录切换到父级目录:

    # cd .. 

  15. 重命名虚拟机的目录:

    # mv "originalname" "newname" 

  16. 使用 VMware vSphere Client 浏览数据存储并导航到已重命名的虚拟机目录。
  17. 右键单击虚拟机的新配置文件(例如 newname.vmx)并选择添加到清单

    或者,可以使用此命令将虚拟机添加到清单中:

    对于 ESX:

    # vmware-cmd -s register "/vmfs/volumes/DatastoreName/newname/newname.vmx"

    对于 ESXi:

    # vim-cmd solo/registervm /vmfs/volumes/DatastoreName/newname/newname.vmx

  18. 启动虚拟机。
  19. 在打开电源期间,摘要选项卡中将显示一个针对虚拟机的问题。采用以下方式查看该问题:

    • 单击摘要选项卡。
    • 右键单击清单中的虚拟机并选择回答问题。 

      出现提示时,选择我移动了它,然后单击确定。 

      警告:如果选择我复制了它,将更改虚拟机的 UUID 和 MAC 地址,对于对 MAC 地址变化敏感的客户机应用程序以及依赖于 UUID 的虚拟机备份,这将产生不利影响。
  1. 也可以选择删除原始虚拟机配置文件。

    例如:

    # 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)

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002491

 

你可能感兴趣的:(vmware)