如何重命名KVM来宾虚拟机
本教程将教我们如何在Linux中从命令行重命名KVM来宾虚拟机。
我的KVM服务器中有几个运行不同Linux风格的虚拟机。
为了便于参考,我总是使用当前在该VM上运行的OS版本或者应用程序来命名每个VM。
例如,如果一个虚拟机以CentOS 8最低版本运行,我将其命名为“ centos8”。
如果在CentOS 8 VM上安装了Apache Web服务器,则KVM guest虚拟机的名称将为“ apache_centos8”,依此类推。
今天,我想在CentOS 8 VM上测试Nginx,因此将其重命名为“ nginx_centos8”,如下所述。
在Linux中重命名KVM Guest虚拟机
我们可以使用virsh命令行实用程序以两种方式在KVM上更改VM的名称:
- 使用“ domrename”命令,
- 手动修改VM的XML配置文件。
首先,我们将了解如何使用“ virsh domrename”命令重命名KVM VM。
1.使用“ virsh domrename”重命名KVM虚拟机
“ virsh domrename”命令用于重命名域。
该命令将当前域名更改为新名称,而无需在配置文件中进行任何更改。
“ virsh domrename”命令的典型用法是:
virsh domrename <old-name> <new-name>
请注意,域必须是非活动的,并且没有快照或者检查点。
首先,请确保KVM来宾虚拟机已关闭。
$virsh list --all
输出示例:
Id Name State ------------------------------ - centos8 shut off - centos8-uefi shut off
如我们所见,我有两个KVM guest虚拟机,并且它们都已关闭电源。
如果虚拟机正在运行,只需使用以下命令将其关闭:
$virsh shutdown centos8
现在,我将使用“ domrename”命令将“ centos8”来宾计算机重命名为“ nginx_centos8”,如下所示:
$virsh domrename centos8 nginx_centos8
成功重命名后,我们应该看到类似以下的输出:
Domain successfully renamed
现在,验证虚拟机的名称是否确实已更改:
$virsh list --all
输出示例:
Id Name State ------------------------------- - centos8-uefi shut off - nginx_centos8 shut off
我们也可以从Virt-manager应用程序中进行验证。
打开Virt-manager,然后双击VM,然后在菜单列中单击“显示虚拟硬件详细信息”图标。
我们将在“概述”部分下看到虚拟机的名称。
我们成功地将名为“ centos8”的虚拟机重命名为““ nginx_centos8”。
这只是一个命令,非常容易记住。
接下来,我们将看到手动方式,该方式需要在VM的XML配置文件中进行一些编辑。
2.通过修改其XML文件来重命名KVM虚拟机
确保要重命名的虚拟机已关闭。
$virsh list --all
如果虚拟机当前正在运行,只需使用以下命令将其关闭:
$virsh shutdown centos8
现在,使用以下命令将旧域(VM)配置详细信息导出到新域:
$virsh dumpxml centos8 > nginx_centos8.xml
上面的命令会将旧配置复制到名为“ nginx_centos8.xml”的新配置文件中,并将其保存在当前目录中。
取消定义旧域,例如:删除现有的旧域配置:
$virsh undefine centos8
输出示例:
Domain centos8 has been undefined
使用我们喜欢的文本编辑器编辑新的配置文件:
$nano nginx_centos8.xml
转到<name> </name>字段,然后根据需要进行更改:
domain type='kvm'> <name>nginx_centos8</name> <uuid>270437c4-8dfb-40d1-a2d1-c497015c0f22</uuid> <metadata> [...]
使用新的XML配置文件定义新的KVM虚拟客户机:
$virsh define nginx_centos8.xml
输出示例:
Domain nginx_centos8 defined from nginx_centos8.xml
最后,使用新的XML配置启动新的来宾计算机:
$virsh start nginx_centos8
输出示例:
Domain nginx_centos8 started
验证新的KVM虚拟机是否正在运行:
$virsh list --all
输出示例:
Id Name State ------------------------------- 2 nginx_centos8 running - centos8-uefi shut off
我们还可以按照上一节中所述,从Virt-manager图形界面验证是否。