在DaDesktop中使用Virt Manager创建虚拟机
简介
在准备课程时,常常需要在DaDesktop中虚拟化一台服务器,可能还需要以同样的方式虚拟化一台或两台客户端机器,可以使用相同的操作系统,也可以混合使用Windows和Linux系统。
运行'嵌套虚拟机'可以使用Virt Manager或VirtualBox,在Linux下还可以选择使用Vagrant,如果DaDesktop机器是Windows 10,则可以使用VirtualBox。

经过大量测试,我们建议优先使用Virt Manager,因为VirtualBox存在几个缺陷;因此,目前我们不建议以这种方式使用VirtualBox。
VirtManager应用程序使用libvirt库来提供虚拟机管理服务。它具有桌面界面,可帮助创建、删除和管理多个虚拟机。它主要用于KVM虚拟机,但也支持其他虚拟机监控程序,如Xen和LXC。
Virt Manager与Vagrant配合得也非常好,只需:
apt install vagrant-libvirt
值得注意的是,与VirtualBox相比,使用libvirt/kvm的Vagrant盒子较少,但可以轻松转换为与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中,但当前版本是否支持这一点尚不明确。对于VirtualBox服务器镜像,不能直接导入(添加)到Virt Manager,但可以轻松导出为其他虚拟化格式,如开放虚拟化格式(.OVF),Virt Manager可以轻松导入。否则,如果您有VmWare转换器,可以使用它,或者使用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.manjaro.org/index.php?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