首先我们来了解一下KVM虚拟机相关的一些概念和工具。
当你创建一个新的KVM虚拟机时,你可以指定另一个磁盘文件作为BackingFile。BackingFile是一个基本的只读虚拟磁盘映像,可以在多个虚拟机之间共享。当您创建并运行基于BackingFile的虚拟机时,文件只会增量写入其自己的磁盘文件,从而提高效率并节省磁盘和维护成本。
虚拟机快照保存虚拟机在某个时间点的状态当我们在自动化测试过程中遇到问题或错误时,我们可以使用快照来保存并恢复到某个时间点。借助BackingFile机制,虚拟机支持如下多层依赖图片链。
您可以使用以下命令将快照链中的虚拟机导出,形成不再依赖于其他镜像的独立磁盘镜像文件。
假设我们在用户的工作目录中创建以下目录。
下面通过一个例子介绍如何快速创建测试虚拟机。
(1)按照上一篇文章的步骤创建虚拟机
(3)使用以下命令创建新的共享磁盘
(5)删除虚拟机在确认对话框中,请选择不删除附加的磁盘文件;
(6)将虚拟机的主磁盘文件移至底座。images目录,例如kvm/base/windows/win10/x64-pro-zh_2。
(7)运行以下命令,使用上述基础镜像作为BackingFile创建新的虚拟机磁盘
(8)在GUI中,创建一个测试新虚拟机并挂在新虚拟机和共享驱动器上。
除了使用qemu-managerGUI软件之外,您还可以在测试床代码中使用以下命令行方法。
(9)导出虚拟机的XML配置文件
(10)修改XML配置文件中以下字段:nameuuidvcpumemory和currentMemorymacadres第一个盘的源文件
(11)在第一个disk元素中,添加以下与BackingFile相关的内容:
(12)如果需要使用VNC页面访问虚拟机桌面,找到XML图形元素并将其编辑为以下内容。
(13)使用以下命令定义虚拟机。
(14)使用以下命令启动虚拟机。
(15)使用以下命令获取虚拟机的VNC端口号,并在VNC软件中使用端口“5900+此号”访问虚拟机的远程桌面。
另外,我使用GO语言实现了基于libvirt接口的虚拟机管理功能,这个开源项目旨在为大家提供一个基于KVM虚拟机和Docker容器的测试环境管理平台,详细信息,请参考GitHub上的easysoft/zagent项目。
常用命令:
上一篇:内存条4个槽可以随便插吗
下一篇:virtualbox创建虚拟机