使用Virt Manager在DaDesktop内创建虚拟机
简介
在准备课程时,通常需要在DaDesktop内虚拟化一台服务器,也可能以同样方式虚拟化一两台客户端机器,它们可以使用相同的操作系统,也可以是Windows与Linux的混合环境。
运行“嵌套虚拟机”可以使用Virt Manager,也可以在Linux下搭配Vagrant使用VirtualBox,或者当DaDesktop机器为Windows 10时直接使用VirtualBox。
经过大量测试,我们建议优先使用Virt Manager,因为使用VirtualBox会遇到一些bug;因此,目前我们不建议以这种方式使用VirtualBox。
VirtManager应用程序使用libvirt库来提供虚拟机管理服务。它拥有一个桌面界面,可帮助创建、删除和管理多个虚拟机。它主要用于KVM虚拟机,但也支持其他管理程序,如Xen和LXC。
Virt Manager 也能很好地与 Vagrant 配合,只需:-
apt install vagrant-libvirt
值得一提的是,libvirt/kvm 可用的 Vagrant boxes 比 VirtualBox 少,但这些 boxes 可以轻松转换以用于 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 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.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