在 DaDesktop 中使用 Virt Manager 创建虚拟机
简介
在准备课程时,常常在 DaDesktop 中虚拟化一台服务器会很有帮助,也可能以同样的方式虚拟化一两台客户端机器,可以使用相同的操作系统,也可以采用 Windows/Linux 的混合环境。
运行“嵌套虚拟机”可以通过多种方式实现:在 Linux 系统上可以使用 Virt Manager 或者 VirtualBox(可选配合 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 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 Converter(如果有的话),或者改用 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