vmware修改虚拟机名称
原虚拟机名称为:OLD_VMNAME
需要修改成:NEW_VMNAME
vmware创建虚拟机时,会以虚拟机名称存储对应的磁盘和配置文件。如果只在vcenter界面上修改虚拟机名称存储端名称是不会修改的(只会修改.vmx文件中的displayName),这样对以后的运维留下隐患。可通过以下方式将存储端修改成对应的名称。
一、虚拟机关机,并从清单移除
二、修改虚拟机目录名称
ssh 登录宿主机,进入虚拟机所在的存储目录
mv OLD_VMNAME/ NEW_VMNAME
cd NEW_VMNAME
三、修改文件夹下的所有虚拟机相关的文件名称
mv OLD_VMNAME.vmx NEW_VMNAME.vmx
mv OLD_VMNAME.vmdk NEW_VMNAME.vmdk
mv OLD_VMNAME-flat.vmdk NEW_VMNAME-flat.vmdk
...
四、修改虚拟机配置文件(xxx.vmx)
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME.vmx
五、修改磁盘配置文件
磁盘相关的文件是以.vmdk结尾,大致有以下几类
5.1 修改系统盘配置文件
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME.vmdk
#如果有快照则同样需要修改快照的配置(名称一般为VM_NAME-00000N.vmdk)
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-000002.vmdk
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-000003.vmdk
...
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-00000N.vmdk
5.2 修改数据盘配置文件(如果无数据盘,此步骤可忽略)
sed -i 's#OLD_VMNAME_N#NEW_VMNAME_N#g' NEW_VMNAME_M.vmdk
#如果数据盘有快照则同样需要修改快照的配置(名称一般为VM_NAME_M-00000N.vmdk)
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-000002.vmdk
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-000003.vmdk
...
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-00000N.vmdk
六、修改快照配置文件
VMNAME.vmsd为所有快照的概要信息,记录了快照的目录结构,如下:

VMNAME-SnapshotN.vmsn为每个快照详细信息(N代表第几个快照)。
6.1 修改vmsd配置文件
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME.vmsd
6.2 修改.vmsn配置文件
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-Snapshot1.vmsn
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-Snapshot3.vmsn
...
sed -i 's#OLD_VMNAME#NEW_VMNAME#g' NEW_VMNAME-SnapshotN.vmsn
注:对于有快照的虚拟机以上步骤在VSPHERE6.5的环境操后,在切换快照时任务里提示“无法访问文件 snapshot”,查看日志(/storage/log/vmware/vpxd/vpxd.log)报如下错误:
-----------------------------------------------------------------------------------------------------------------------------------------------------
VpxLRO] -- ERROR task-10169 -- vm-439 -- vim.VirtualMachine.revertToCurrentSnapshot: vim.fault.CannotAccessFile:
--> Result:
--> (vim.fault.CannotAccessFile) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = (vmodl.LocalizableMessage) [
--> (vmodl.LocalizableMessage) {
--> key = "msg.snapshot.vigor.revert.error",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "1",
--> value = "msg.snapshot.error-DUMPER"
--> }
--> ],
--> message = "An error occurred while reverting to a snapshot: Unable to open the snapshot file."
--> }
--> ],
--> file = "snapshot"
--> msg = "Unable to access file snapshot"
-------------------------------------------------------------------------------------------------------------------------------------------------------
由于xxx-SnapshotX.vmsn文件中有部分是乱码,不清楚具体是什么内容,推测和乱码内容有关。
解决方法:
1. 创建新的快照;
2. 利用新快照文件(.vmsn)替换原有的快照文件(cp new.vmsn old.vmsn);(替换去需要记录scsi0:0.fileName信息)
3. 替换完成后,修改快照点的parent磁盘;
scsi0:0.fileName = "VMNAME-00000X.vmdk"
顺便说下快照恢复的过程:
1. 当恢复某个快照时,vmware首先会读取该快照配置文件(VMNAME-SnapshotN.vmsn)中scsi0:0.fileName(disk1)
2. vmware会修改虚拟机配置文件(VMNAME.vmx),生成新的磁盘disk2,磁盘名称为VMNAME-00000N.vmdk,并修改相应的配置(scsi0:0.fileName = "VMNAME-00000N.vmdk")
disk2的parent磁盘为disk1(通过disk2磁盘描述文件可以查看),新的数据会落在disk2上。
vmware修改虚拟机名称的更多相关文章
- vmware修改虚拟机网卡mac地址
选中"虚拟机" 右键 "设置",然后选中"网络适配器",然后点击"高级",设置"MAC地址"
- vmware克隆虚拟机后网卡名称及网络地址xiuf
使用vmware克隆虚拟机后,若原主机网卡名称为eth0,那么克隆后的主机使用ifconfig查看仅能看到一个名称为eth1的网卡 并且在/etc/sysconfig/network-scripts/ ...
- virtualbox下正确虚拟机修改设备名称
在学习大数据管理过程中,想要修改虚拟机的设备名称(因为名称太长),所以就直接在右上角的设置中找到详细设置,直接修改设备名称,结果启动Hadoop失败!!!! 后来参考网上问题解决弄好了,现在给出修改设 ...
- 修改虚拟机linux硬盘的大小
一.概述 Ubuntu用了一段时间,系统已从原来的4G增长到8G,导致虚拟磁盘不够用,需要修改虚拟硬盘的大小. 但是,修改虚拟机硬盘的大小不像修改内存那么简单,操作一个滑动条就轻松搞定.要知道虚拟硬盘 ...
- Redis学习之一VMWare Pro虚拟机安装和Linux系统的安装
一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)
Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装
一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...
- VMware创建虚拟机教程详解及问题解决
关于VMware Workstation Pro虚拟机创建教程,本教程主要详细描述使用软件VMware Workstation Pro建虚拟系统过程中步骤详解,以及个人安装时所出现部分问题的解决方案. ...
- VMware workstation 虚拟机安装帮助文档(以windows server 2003为例)
本次安装以Windows server 2003为例: 1.在桌面上双击VMware快捷方式打开,并点击文件>新建虚拟机 2.这里选择默认的“典型”,点击下一步 3.选择浏览,找到windows ...
随机推荐
- delphi ADOCONNECTION异常拦截
elphi ADOCONNECTION错误拦截错误框标题: Debugger Exception Notification内容: Project KJXX.exe raised excepti ...
- TTL 传输中过期,内部网络环路
ping目标地址的时候,如果不是显示超时,而是很快出现TTL 传输中过期,很可能情况是内部网络出现环路 tracert一下目标地址,如果路由不断重复,说明是环路
- 一些php常用函数积累
本文链接 <?php // id: ecffe70d3af54df9bad97b61918ace7d global $ct_path, $ct_log_path; $log_path = &qu ...
- curl and wget
写在前面: a. 对比curl 和 wget 的相同和不同点 来记忆 a-1 curl url 直接将请求内容输出到标准输出. 如果下载不是瞬时间完成,会显示下载进度条,如果向取消,加-s : w ...
- Redis集群的原理和搭建(转载)
转载来源:https://www.jianshu.com/p/c869feb5581d Redis集群的原理和搭建 前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得 ...
- 用elasticsearch分析中国大学省份分布
1.去教育部官网下载excel数据:http://www.moe.gov.cn/srcsite/A03/moe_634/201706/W020170616379651135432.xls 2.把xls ...
- 阅读《C Primer Plus》收获
190927 知识内容: 1.了解到C语言混乱代码大赛.评选谁的程序最有创意但又让人难以理解 2.了解最初的c语言的规则,所有编译器依照规则而设计. 3.编程前先要确定好目标对象,并且在纸上大概写出流 ...
- Django2.2 数据库的模块model学习笔记
一.前言 为什么选用Django2.2,因为从2019年下半年起Django2.2逐渐成为长期支持版本,官网也有数据,所以当然选用维护时间长的版本 二.models的建立 Django的models也 ...
- LeetCode之链表总结
链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度.作为一种常用的数据结构,链表内置在很多高级编程语言里面.既比数组复杂又比树简单,所以链表经常被面试官 ...
- *【Python】【demo实验31】【练习实例】【使用turtle画小猪佩奇】
如下图小猪佩奇: 要求使用turtle画小猪佩奇: 源码: # encoding=utf-8 # -*- coding: UTF-8 -*- # 使用turtle画小猪佩奇 from turtle i ...