Virt-manager
virt-manager 是 libvirt 库的图形用户前端,它提供虚拟机管理服务。virt-manager 界面使用户无需通过终端即可轻松创建、删除和操作虚拟机。
virt-manager 主要支持 KVM,但也可以与其他虚拟机管理程序配合使用,例如 Xen 和 LXC。
安装
首先按照 libvirt 或 LXC 页面的说明,确保您能够创建虚拟机,然后 安装 virt-manager 包。如有需要,请安装 QEMU。
要使用 LXC 连接,请 启用/启动 libvirtd.service 服务单元。
要使用 QEMU 连接,请 启用/启动 libvirtd.socket 服务单元。
您可以检查 服务单元状态 以确保服务正在运行。
libvirtd.service。配置
基本配置
将您自己添加到 libvirt 用户组。
确保 virt-manager 默认池之外的任何文件/文件夹都归 libvirt-qemu 组所有,否则在访问默认池之外的文件时可能会遇到权限问题,这一点也很重要。
# chown "$USER":libvirt-qemu /path/to/vm/folder
技巧与提示
无 Socket 的非 root KVM
要作为普通用户(非 root)使用,我们需要配置 KVM,这也将启用 libvirt 的网络组件。
通过更改以下设置,将 UNIX 域套接字的所有权设置为 libvirt,并将 UNIX 套接字权限设置为可读写。
/etc/libvirt/libvirtd.conf
... unix_sock_group = 'libvirt' ... unix_sock_rw_perms = '0770' ...
将您的用户添加到 libvirt 用户组。
将您的用户添加到 /etc/libvirt/qemu.conf。否则,QEMU 在尝试访问本地驱动器时会给出权限被拒绝的错误。
搜索 user = "libvirt-qemu" 或 group = "libvirt-qemu",取消注释这两个条目,并将 libvirt-qemu 更改为您的用户名或 ID。编辑后应如下所示。
/etc/libvirt/qemu.conf
# Some examples of valid values are: # # user = "qemu" # A user named "qemu" # user = "+0" # Super user (uid=0) # user = "100" # A user named "100" or a user with uid=100 # user = "username" # The group for QEMU processes run by the system instance. It can be # specified in a similar way to user. group = "username"
打开 Virt-Manager 时,它将默认使用 QEMU 连接的系统变体(root)。
可以通过转到:文件 > 添加连接 来更改为用户连接。
现在选择 QEMU/KVM 用户会话 作为虚拟机管理程序,然后单击“确定”。这将自动连接到用户会话。现在您可以根据需要断开连接并删除系统连接。
网络
- virt-manager 文章重点介绍了在用户会话中使用 virt-manager 和 libvirt,该会话的网络功能有限(详情请参阅 libvirt FAQ)。使用系统变体(root)时,有更多的网络可能性。
- 如果遇到网络问题,也请参阅 libvirt。
要在用户会话中使用网络桥接,必须首先在 libvirt 系统管理中进行设置。
为此,libvirt 守护进程必须正在运行。
当它成功启动后,可以在 virt-manager 中打开 QEMU 连接的系统变体(root)。在那里,在网络选项卡中设置具有所需设置的桥接。
要能够在使用用户会话虚拟机中的桥接,请根据您的桥接设置配置 qemu-bridge-helper。
之后,该桥接就可以在 virt-manager 用户会话中运行的虚拟网络中使用。
NAT - 桥接 - 仅主机
NAT
NAT 通过同一 IP 地址路由 VM,此选项在“显示硬件” -> “NIC”中可用,无需任何额外配置。
桥接
桥接模式的作用就像 VM 是网络中的独立客户端一样。在 virt-manager 中,您必须为其选择一个接口。
此功能与 VirtualBox 和 VMware 不同,后两者会自动选择接口。为了使用桥接,您应该使用 NAT 创建一个 虚拟接口。
(可以自行使用自己的接口,但这可能需要额外的配置)。
仅主机
仅主机配置仅允许主机和客户机之间的网络操作。
virt-manager 没有此选项。相反,您必须使用连接到虚拟隔离网络的桥接。请参阅:#创建虚拟接口
连接详情
创建虚拟接口
转到“编辑” -> “连接详情” -> “添加”。
以下选项可用:
NAT、路由、开放、隔离、SR-IOV 池
3D 加速
virtio 是一种半虚拟化 3D 图形驱动程序。要启用基本的 3D 加速,请
- 转到虚拟机的设置页面。
- 单击“添加硬件”按钮 > “视频” > 选择“模型”为“Virtio”。然后删除任何其他“视频”虚拟硬件(在侧边栏内)。
- 转到“显示 Spice”,将“监听类型”设置为“无”。同时勾选“OpenGL”复选框并选择适当的渲染器。
- 单击“视频 Virtio”并勾选“3D 加速”。
您可以使用来自 mesa-utils 包的 glxgears 来测试 3D 图形。glxgears -info 在控制台中显示 OpenGL 渲染器信息。
故障排除
QEMU/KVM 无网络连接
将以下行附加到 /etc/libvirt/network.conf
firewall_backend = "iptables"
请参阅 [1]。