标签: libvirt

在存储池之间迁移 qcow2 映像

我有 2 个存储池。

  1. host_images(目录存储池)
  2. remote_images(nfs 存储池)

如何使用 libvirt API 将 qcow 图像从 remote_images 复制到 host_images?

我试过使用明显的 vol-clone,但显然它不能跨存储池工作

我试过使用 vol-download 但这需要很长的时间(500MB 大约需要 10 分钟以上)

我的架构错了吗?我不应该尝试使用 libvirt 来控制自动化的这些方面吗?

我想在自动化的所有方面都使用 libvirt,这样我就可以在我的工具使用上保持一致。但是如果这些工具不起作用,我就不能继续使用 libvirt。

我也想知道如果 vol-clone 不起作用 KVM 如何执行迁移到另一台主机?如果不是 libvirt,它使用哪些工具进行迁移?

kvm qemu virtualization libvirt

10
推荐指数
1
解决办法
3066
查看次数

虚拟机上的未知 NMI 原因 20 和 30

我在今天管理的虚拟机上打开控制台,看到一些内核消息:

[5912557.130943] Uhhuh. NMI received for unknown reason 20 on CPU 0.
[5912557.131115] Do you have a strange power saving mode enabled?
[5912557.131287] Dazed and confused, but trying to continue
[6064281.393568] Uhhuh. NMI received for unknown reason 30 on CPU 1.
[6064281.393888] Do you have a strange power saving mode enabled?
[6064281.394235] Dazed and confused, but trying to continue
Run Code Online (Sandbox Code Playgroud)

这只是其中的几个,20 和 30 都发生在 CPU 0 和 1 上。

  • VM 是 Debian Jessie,BIOS 启动(“QEMU 标准 PC(i440FX + PIIX,1996),BIOS 1.9.3-20161025_171302-gandalf 04/01/2014”;内核 3.16.0-4-amd64) …

linux kvm libvirt nmi

10
推荐指数
1
解决办法
2568
查看次数

为什么 libvirt-daemon-system 对 Debian 有如此多的依赖?

在我的无头 debian 11(牛眼)服务器上,当我尝试安装时libvirt-daemon-systemapt几乎会安装整个图形环境,包括音频库和所有内容:

mic@micserver:~$ sudo apt install libvirt-daemon-system
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme alsa-topology-conf alsa-ucm-conf at-spi2-core augeas-lenses dbus-user-session dconf-gsettings-backend dconf-service fontconfig glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gtk-update-icon-cache hicolor-icon-theme i965-va-driver
  ibverbs-providers intel-media-va-driver ipxe-qemu jq libaa1 libaacs0 libasound2 libasound2-data libass9 libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libaugeas0 libavc1394-0
  libavcodec58 libavfilter7 libavformat58 libavutil56 libbdplus0 libbluray2 libbrlapi0.8 libbs2b0 libcaca0 libcacard0 libcairo-gobject2 libcairo2 libcapstone4 …
Run Code Online (Sandbox Code Playgroud)

debian apt dependencies libvirt

9
推荐指数
1
解决办法
1002
查看次数

如何更改 virsh edit 的默认文本编辑器?

我最近在 Arch Linux 上安装了 virt-manager,与在 Ubuntu 下不同,第一次启动 virsh-edit 时没有提示我选择文本编辑器。相反,XML 文件是在 vi(或 vim,不确定)中打开的。

从 RedHat 档案中的这个线程中,我想如果我只是添加到~/.bashrc

export EDITOR=/usr/bin/nano
Run Code Online (Sandbox Code Playgroud)

这样就可以解决问题。但设置 EDITOR 环境变量不起作用。

此外,启动它EDITOR=geany sudo virsh edit myWINVM给出了相同的结果,就像尝试使用不同的编辑器一样:EDITOR=geany sudo virsh edit myWINVM 如此处所述

我看到该变量实际上已被设置:

[~]$ printenv
SHELL=/bin/bash
SESSION_MANAGER=local/virtland:@/tmp/.ICE-unix/5451,unix/virtland:/tmp/.ICE-unix/5451
WINDOWID=27262979
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg
XDG_MENU_PREFIX=xfce-
SSH_AUTH_SOCK=/tmp/ssh-j36TZui4fOt5/agent.5457
DESKTOP_SESSION=Xfce Session
SSH_AGENT_PID=5458
EDITOR=/usr/bin/nano
...
Run Code Online (Sandbox Code Playgroud)

但是virsh edit MYVM仍然在 vi 中打开 XML。

我需要在 Arch 中做一些不同的事情吗?virsh 最近的更新中更改此设置的方法是否已更改?

bash editors environment-variables virsh libvirt

8
推荐指数
1
解决办法
2万
查看次数

在 KVM 来宾上运行 X11 应用程序,使其显示在主机系统上

是否有一种简单的方法可以在 KVM 来宾系统上运行 X11 应用程序,就像它在主机系统上的显示方式一样?

我知道我可以使用 X11 转发 ssh 到访客,但我想知道是否有本地 KVM/libvirt 方法或更简单的方法。

kvm x11 libvirt

8
推荐指数
1
解决办法
2689
查看次数

`virbr0` 和 `virbr0-nic` 的功能是什么?

在我的 CentOS 7.2 中,我安装了以下软件包:

yum install -y epel-release qemu-kvm libvirt virt-install bridge-utils
Run Code Online (Sandbox Code Playgroud)

然后当我显示ip a

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e8:9a:8f:50:4a:dc brd ff:ff:ff:ff:ff:ff
    inet 13.19.241.25/29 brd 13.19.241.31 scope global em1
       valid_lft forever …
Run Code Online (Sandbox Code Playgroud)

networking kvm libvirt

8
推荐指数
1
解决办法
1万
查看次数

virNetSocketReadWire:1801:读取数据时文件结束:输入/输出错误

每次启动/停止 KVM 时,都会libvirtd 3.0.0-4在系统日志中引发以下错误:

libvirtd[3145]: 2018-08-07 21:00:19.699+0000: 3145: \
    error : qemuMonitorIO:710 : internal error: \
    End of file from qemu m     onitor
virtlogd[2753]: 2018-08-07 21:00:19.901+0000: 2753: \
    error : virNetSocketReadWire:1801 : \
    End of file while reading data: Input/output error
Run Code Online (Sandbox Code Playgroud)

有没有人遇到同样的问题?

kvm virtual-machine libvirt

7
推荐指数
1
解决办法
3504
查看次数

更改 libvirt 模拟器:权限被拒绝

我正在尝试使用我使用教程编译的 Qemu 二进制文件,因为与我的操作系统 Debian 一起打包的 Qemu 版本似乎不支持 Spice 的 OpenGL 加速。成功编译后,我尝试将 <emulator> 标记设置为 /usr/local/bin 中新 Qemu 可执行文件的路径,但收到以下错误:

error: internal error: Failed to probe QEMU binary with QMP: libvirt: error : cannot execute binary /usr/local/bin/qemu-2.12.1/x86_64-softmmu/qemu-system-x86_64: Permission denied

我的 virsh 编辑配置文件的“模拟器”部分如下:

<emulator>/usr/bin/kvm</emulator>

我尝试过更改文件的权限和所有权,确保允许执行 ( chmod a+x),但似乎都不起作用。

如果还有其他方式使用Qemu的OpenGL加速功能,请告诉我。

我目前正在使用 Debian Stretch,以及来自“测试”存储库的 virt-manager、libvirt-daemon 和 qemu-kvm,在 Intel Core i5-8400 上使用集成 GPU。我已经编译了 Qemu,因此可以通过“libvirglrenderer”使用 OpenGL 3D 加速功能。

kvm qemu virt-manager libvirt

7
推荐指数
1
解决办法
9035
查看次数

linux 中 kvm、libvirt 和 libvirt-qemu 组的用途是什么

我想在我的 Debian 上玩一点 KVM,我安装了所需的工具。这三个组出现在/etc/group文件中:kvmlibvirtlibvirt-qemu。每个小组的目的是什么?

现在我知道该libvirt组允许普通用户(通过 policykit)连接到 libvirtd 守护进程而无需询问 root 密码,因此它允许创建/删除/配置/管理虚拟机。

我也知道,/dev/kvm设备已经设置了kvm组。当用户拥有此设备的读/写权限时,他可以做什么?我应该向这个组添加一个普通用户吗?如果是这样,为什么?

我真的不知道这个libvirt-qemu小组的目的是什么。看起来它是多余的,但是网络上的许多 HowTo 都建议将普通用户也添加到该组中。这是必需的吗?

kvm virtual-machine debian qemu libvirt

7
推荐指数
1
解决办法
2287
查看次数

使用 kvm 创建 VM。错误:找不到单元 libvirtd.service?

太长了;
在 Ubuntu 20.04.1 上,我尝试使用 KVM 运行 VM。安装所需的软件包后,我仍然收到以下错误:

sudo systemctl status libvirtd
Unit libvirtd.service could not be found.  
Run Code Online (Sandbox Code Playgroud)

以下是我所做的 -
a) 检查 kvm 支持

$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)

b) 安装所需的包

$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
Run Code Online (Sandbox Code Playgroud)

现在,上面应该是一切,我必须能够打开 virt-manager gui 并开始,并且 libvertd 服务应该已经启动。但是,我的机器上仍然没有运行 libvirtd 服务,并且没有安装 libvirtd.service 单元。

显然,virt-manager 无法连接到 demo,因此出现以下错误 - 执行后$ sudo virt-manager--> virt-manager GUI 以 root 权限启动。
在此输入图像描述
窗户上清楚地写着——

libvirtd 服务似乎未安装。安装并运行 libvirtd 服务来管理该主机上的虚拟化。

显然,创建虚拟机是不可行的,下面是尝试创建虚拟机时出现的错误。
在此输入图像描述

参考 - …

kvm virtual-machine linux-kernel virt-manager libvirt

7
推荐指数
1
解决办法
3万
查看次数