如何重命名 KVM 来宾虚拟机

本教程将教您如何在 Linux 中从命令行重命名 KVM 来宾虚拟机。 我有几个运行不同 Linux 风格的虚拟机 KVM 服务器. 为了便于参考,我总是使用当前在该 VM 上运行的操作系统版本或应用程序来命名每个 VM。 为了 example,如果虚拟机运行的是 CentOS 8 最小版本,我将其命名为“centos8”。 如果 Apache 网络服务器安装在 CentOS 8 上 VM,那么 KVM 来宾的名称将是“apache_centos8”等等。 今天,我想在 CentOS 8 VM 上测试 Nginx,所以将其重命名为“nginx_centos8”,如下所述。

在 Linux 中重命名 KVM 来宾虚拟机

我们可以使用更改 KVM 上 VM 的名称 虚拟 命令行实用程序有两种方式:

  • 使用“domrename”命令,
  • 手动修改 VM 的 XML 配置文件。

首先,我们将了解如何使用“virsh domrename”命令重命名 KVM 虚拟机。

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 来宾,并且它们都已关闭。

如果 VM 正在运行,只需使用以下命令将其关闭:

$ 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 并双击虚拟机,然后单击 “显示虚拟硬件详细信息” 菜单栏中的图标。 您将在下面看到 VM 的名称 概述 部分。

就是这样。 我们成功地将一个名为“centos8”的VM重命名为“nginx_centos8”。它只是一个单行命令,非常容易记住。

接下来,我们将看到需要在 VM 的 XML 配置文件中进行一些编辑的手动方式。

2.通过修改其XML文件重命名KVM虚拟机

确保您要重命名的 VM 已关闭。

$ virsh list --all

如果 VM 当前正在运行,只需使用以下命令将其关闭:

$ 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

前往 <名称> 字段并根据您的意愿进行更改:

domain type="kvm">
  <name>nginx_centos8</name>
  <uuid>270437c4-8dfb-40d1-a2d1-c497015c0f22</uuid>
  <metadata>
[...]

通过修改其 XML 文件重命名 KVM 虚拟机

使用新的 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

通过编辑其 XML 文件手动重命名 KVM 虚拟机

您还可以从 Virt-manager 图形界面验证是否如上一节所述。

希望能帮助到你。