Portal:MicroOS/Virtualization

跳转到:导航搜索

虚拟化选项

  • 在 MicroOS Desktop 上,我们推荐使用 GNOME Boxes flatpak
  • 在服务器上,libvirt 与 qemu 后端是一个不错的选择。它有一个守护进程,可用于在重启之间保存 VM 状态
  • 如果需要访问主机硬件,例如用于 GPU 计算,请考虑使用 libvirt 与 lxc 后端(PCI 直通与 qemu 也是一个选项,适用于 NVidia 和 Intel,但不适用于 AMD GPU)

libvirt

安装

使用 pkcontransactional-update,安装以下软件包

sudo transactional-update pkg install libvirt libvirt-daemon-qemu qemu-tools virt-install

在无头服务器上,可以使用 virshvirt-install 来管理 VM。对于 UI,请考虑安装 virt-manager 软件包。

安装后,重启到新的快照,并启用守护进程

sudo systemctl enable --now libvirtd

定义默认(伪装到主机)网络

 sudo virsh net-define /etc/libvirt/qemu/networks/default.xml
 sudo virsh net-autostart default
 sudo virsh net-start default

有关更多选项,请参阅 libvirt wiki

可选地,要使机器状态自动保存并在重启后恢复

sudo systemctl enable --now libvirt-guests

LXC

安装 `libvirt-daemon-lxc`。有关详细信息,请参阅 libvirt wiki on LXC。请注意,这可以与 qemu 后端共存;您只需要在使用 virsh 时指定连接 URL,例如 virsh -c lxc:///system list --all

已知问题

解决方法是在默认网络中使用静态 DNS 配置

运行 `virsh net-edit default`,这将弹出编辑 xml

<network>
...
  <dns>
    <forwarder addr='9.9.9.9'/>
    <forwarder addr='149.112.112.112'/>
  </dns>
...
</network>

这些是 quad9 公共解析器,可以替换为你想要的任何解析器。生成的 dnsmasq.conf 不会使用 resolv.conf,从而避免了 SELinux 权限问题。