有时候需要对KVM进行统一重命名。
环境
- ubuntu 16.04 LTS
- KVM虚拟机
- virsh管理工具
效果
将已有的名为 pc_vm94 的虚拟机重命名为 vm94
步骤
1. 使用 virsh list --all 命令查看所有的虚拟机
$ virsh list --all
Id Name State
----------------------------------------------------
2 pc_vm94 running
2. 导出原有虚拟机的配置文件
在导出配置之前使用 virsh shutdown pc_vm94 命令将虚拟机关闭。
$ virsh shutdown pc_vm94
virsh dumpxml命令将原来的虚拟机配置导出成xml文件
$ virsh dumpxml pc_vm94 > vm94.xml
(注意>前面并没有.xml ,这是因为它是需要重命名的虚拟机的名称。此步骤是将配置保存另到一个文件vm94.xml中 )
此指令执行之后就会发现当前目录下多了一个 vm94.xml 文件,这就是我们导出的xml文件。
3. 修改虚拟机的新的配置文件
$ vim vm94.xml #或者gedit vm94.xml
将\
<domain type='kvm'>
<name>pc_vm94</name>
...
更改为
<domain type='kvm'>
<name>vm94</name>
至于虚拟机所对应的磁盘文件。可以不做任何修改;
(强迫症的话也可以使用系统的mv指令将其改成与名称一致。如果虚拟机的磁盘文件修改的话,必须也要在xml文件中做对应的修改。备注:VM磁盘文件所在目录可在xml中查看,如我的是/var/lib/libvirt/images/)
4. 重新定义虚拟机
使用 virsh undefine 命令将之前的虚拟机删除
$ virsh undefine pc_vm94
Domain pc_vm94 has been undefined
使用virsh define 命令将重新定义新的虚拟机
$ virsh define vm94.xml
Domain vm94 defined from vm94.xml
5. 重命名成功
$ virsh list --all
Id Name State
----------------------------------------------------
- vm94 shut off
end,大功告成
备注:
VM对应的xml文件在 /etc/libvirt/qemu 目录下,在virsh命令行下使用edit dom_name命令编辑的就是这个文件。
undefine命令删除某个VM之后, /etc/libvirt/qemu 目录下对应的该VM的xml文件也会被删除。
同理,define命令创建某个VM之后, /etc/libvirt/qemu 目录下就会生成该VM的xml文件。
参考博客:
https://blog.csdn.net/haiqinma/article/details/53332690?utm_source=copy