在DaDesktop中使用Virt Manager创建虚拟机
简介
在准备课程时,通常需要在DaDesktop中虚拟化服务器,并可能以相同方式虚拟化一台或两台客户端机器,无论是使用相同的操作系统还是Windows/Linux混合系统。
运行'嵌套虚拟机'可以使用Virt Manager或VirtualBox,在Linux下可选使用vagrant,或者在使用Windows 10作为DaDesktop机器时使用VirtualBox。

经过广泛测试,我们建议优先使用Virt Manager,因为VirtualBox存在一些缺陷;因此目前我们不建议以这种方式使用VirtualBox。
VirtManager应用使用libvirt库提供虚拟机管理服务。它有一个桌面界面,可以帮助创建、删除和管理多个虚拟机。它主要用于KVM虚拟机,但也支持其他虚拟机监控程序,如Xen和LXC。
Virt Manager与Vagrant配合得也非常好,只需:
apt install vagrant-libvirt
值得注意的是,使用libvirt/kvm的Vagrant box数量比VirtualBox少,但可以轻松转换以配合libvirt使用,如下所示:
https://medium.com/@gamunu/use-vagrant-with-libvirt-unsupported-boxes-12e719d71e8e
用户界面提供所有虚拟机的摘要视图,包括其状态、CPU使用率、运行中虚拟机的实时性能图表以及资源利用统计。
如果您之前没有使用过Virt Manager,它与VirtualBox非常相似,但有一些重要区别,如下所述。
这是一份关于在Ubuntu Linux上使用virt-manager的不错指南:https://www.debugpoint.com/virt-manager/
为什么应该使用Virt Manager而不是Virtualbox?
优点
- 性能更好:Virt Manager使用VirtIO驱动用于存储、网络和图形,这提供了更好的性能。VirtIO驱动是KVM的半虚拟化设备驱动,适用于在KVM主机上运行的Linux和Windows客户虚拟机。VirtIO包支持块(存储)设备和网络接口控制器以及图形。VirtIO驱动是开源的,如果您的Linux发行版未预装,也很容易安装。
- 可用的配置选项更多
- 与Vagrant配合良好
- VirtualBox的部分组件并非完全开源
- Virt Manager在每次内核升级时不需要重新编译模块,而VirtualBox则需要。
- VirtualBox有时在需要内核升级时会崩溃。
缺点
- 可以说VirtualBox的学习曲线稍短
- 在VirtualBox上设置'主机网络'而不是NAT更容易,但在大多数网络使用场景中,NAT在两种系统上都相当容易工作。
- VirtualBox可在多个平台上使用,但Virt Manager仅适用于Linux。
总的来说,我们发现在DaDesktop机器内运行服务器时,Virt Manager是首选。
安装
由于libvirt不断改进,始终使用最新的非LTS Ubuntu或Debian版本。
安装kvm和virt-manager。这些是非常简短的安装说明,但请遵循针对您首选DaDesktop操作系统的最新指南。这是一份指南https://www.debugpoint.com/virt-manager/
sudo apt install virt-manager
sudo adduser student libvirt sudo systemctl restart libvirtd
重新启动DaDesktop机器,从应用程序菜单运行Virt Manager。
配置
- 如何导入或转换虚拟机?虽然根据您的操作系统和规格要求轻松创建虚拟机非常容易,但对于更复杂的设置,通常更倾向于导入现有的虚拟机设置,如特定的服务器或设备。这些通常以VMDK镜像形式提供,可以直接添加到Virt Manager中,尽管在当前版本中是否确实可行尚不明确。对于Virtual Box服务器镜像,不能直接导入(添加)到Virt Manager,但可以轻松导出为其他虚拟化格式,如开放虚拟化格式(.OVF),Virt Manager可以轻松导入。否则,您可以使用VmWare Convertor(如果有),或使用Virt-V2V:https://www.redhat.com/en/blog/importing-vms-kvm-virt-v2v。 Qemu-convert也是一个很棒的开源工具,允许在不同虚拟机格式之间轻松转换。
从VirtualBox转换为Virt Manager KVM格式请遵循以下说明:https://ostechnix.com/how-to-migrate-virtualbox-vms-into-kvm-vms-in-linux/ -
在独立环境中导入大文件的最佳方式。最近,已添加了一种轻松将文件从您的机器上传到DaDesktop机器内的方法。
否则,考虑使用云文件工具,如Google Drive、Microsoft 365等。然后可以通过在DaDesktop机器内登录该工具来访问这些文件。
- 当导入其他虚拟机,尤其是来自其他格式的虚拟机时,通常需要更改图形和/或磁盘类型。Virt Manager的最佳特性之一是它对VirtIO驱动提供了极佳的支持。这些是开源的全虚拟化驱动,相比原始磁盘、网络或图形驱动提供了更好的性能,并且可用于几乎所有操作系统,包括对Windows 10客户机的出色支持。如果您的客户操作系统支持它们,这些通常是使用Virt Manager(KVM)时兼容性和性能的首选。https://wiki.archlinux.org/title/Libvirt
- 使用Virt Manager的虚拟机最佳设置如今几乎所有开源服务器操作系统都包含VirtIO驱动,在Windows中也可以轻松安装。通常最佳驱动是virtio,但在某些情况下,您可能需要使用其他类型之一。一般来说,对于大多数网络场景,NAT就足够了,除非您需要更复杂的设置,可能需要桥接主机网络,但这通常更难以轻松实现。
https://wiki.archlinux.org/title/Virt-manager 是一份很好的入门指南。
运行Windows需要一些额外步骤,并且需要将VirtIO驱动整合到Windows 10 iso中以便启动。
选择硬盘格式时,为了速度,.raw文件最佳,除非需要快照,如果是这样,请使用qcow2格式,但这会稍慢一些。 - 虽然Wayland在大多数情况下作为显示管理器工作良好,但我们建议您目前继续使用X11。话虽如此,在您自己的特定设置中尝试Wayland可能是值得的,发行版对Wayland的支持也在不断改进。
- 不要使用ksm,因为虽然它在嵌套和Virt Manager中有效,但在实践中效果甚微。
- 技术支持 在需要转换磁盘镜像以配合Virt Manager使用时,以及为DaDesktop课程设置Virt Manager时,可以提供帮助。
-
磁盘镜像文件在文件系统中的位置在哪里?Virt Manager使用以下位置存储镜像文件,但这是可配置的,如果愿意,也可以使用其他位置。
/var/lib/libvirt/images