本教程将教您如何在 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 虚拟客户机:
$ 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 图形界面验证是否如上一节所述。
希望能帮助到你。