当我打开 virt-manager GUI 时,它不显示 KVM 列表,但 virsh 会显示。如何修复它?
按照这个答案,配置域以自动启动使用virsh很容易;搁置它们失败并显示以下错误消息:
error: Failed to start domain [name]
error: internal error Network 'default' is not active.
Run Code Online (Sandbox Code Playgroud)
我可以通过virsh net-start default在重新启动主机后运行来手动启动此网络。如何还自动启动“默认”网络?
我一直在寻找在 KVM 来宾之间划分 CPU 的方法,而不仅仅是设置 vCPU 访问限制。我理解 cpu_shares 的概念,它可以用 设置/显示virsh schedinfo,但我也发现vcpu_period并vcpu_quota列出了这个命令,如下所示:

查看手册页,我知道可接受的输入值是什么,但是有人可以简单解释一下这两个参数的实际作用吗?
我想完全了解虚拟机快照的工作原理。尽管我已经研究过这个主题,但我似乎无法找到快照实际工作方式的“高级”概述。我的问题是:
示例场景:我有一个运行 KVM 的 Ubuntu 12.04 主机和一个 Ubuntu 来宾。虚拟机采用 RAW 格式。我使用virsh命令对其进行快照,
我在启动或破坏域时遇到问题:
virsh # list --all
Id Name State
----------------------------------------------------
1 pxe running
- Centos_6.5_64 shut off
- Git Server shut off
Run Code Online (Sandbox Code Playgroud)
我无法启动域:
virsh # start Git
error: failed to get domain 'Git'
error: Domain not found: no domain with matching name 'Git'
virsh # start Git Server
error: unexpected data 'Server'
Run Code Online (Sandbox Code Playgroud)
因此,我无法破坏域。
如何分配 ID 或以其他方式删除此 VM?
因为它有一个空间,所以我无法像管理其他域一样管理它。
我知道他们不应该有空格,但话说回来,最终用户并不总是听他们被告知的内容:P
感谢您提供的任何帮助。
如何通过 ssh 修改虚拟机的 xml 定义?我知道我可以通过登录主机并使用以下命令以交互方式执行此操作:
virsh edit <domain name>
Run Code Online (Sandbox Code Playgroud)
但我想使用在远程主机上运行的脚本自动对 xml 进行修改,然后通过 ssh 在 KVM 机器上执行命令。
据我观察, virsh edit 正在打开默认编辑器(在我的例子中为 vi )供我编辑文件。我想用另一个文本文件中包含的 vm 定义以某种方式覆盖此文件(由 virsh edit 命令交互打开)。
我发现了关于如何使用以下方式将文本通过管道传输到 vi 的线程:
cat <file name> | vi -
Run Code Online (Sandbox Code Playgroud)
但这对我来说不起作用,因为
预先感谢您的帮助。
编辑:只是想澄清一下,我没有关闭虚拟机并重新定义它的选项。我想修改正在运行的域。
按照许多教程,他们要求您更改 /boot/grup/grup.conf 中的 grup 文件。但在 Centos7 中没有 /boot/grup/grup.conf
...
在内核中激活 Intel VT-d 通过将 intel_iommu=on 参数附加到 /boot/grub/grub.conf 文件中内核行的内核行来激活内核中的 Intel VT-d。下面的示例是一个经过修改的 grub.conf 文件,其中激活了 Intel VT-d。
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Server (2.6.18-190.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-190.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet intel_iommu=on
initrd /initrd-2.6.18-190.el5.img
Run Code Online (Sandbox Code Playgroud)
?? 如何激活inter vt-d
有没有办法允许非 sudo 用户访问 CentOS 7 中的 KVM QEMU 虚拟机?我想允许非 root 用户在没有 sudo 访问权限的情况下管理 KVM 来宾虚拟机。主要是,我希望用户能够运行 virsh 命令,例如:
virsh list --all
virsh start UUID
Run Code Online (Sandbox Code Playgroud)
我尝试将用户添加到 libvirt 组,但这没有用。我检查了 /etc/polkit-1/rules.d 中的策略套件规则,并且我也遵循了以下说明:
https://goldmann.pl/blog/2012/12/03/con ... t-manager/ https://major.io/2015/04/11/run-virsh-a ... ular-user/
这些都没有奏效。有没有办法做到这一点,如果有,怎么做?
我想e-devel使用virsh. 所以我这样做
# virsh -d 0 migrate --offline --persistent e-devel qemu+ssh://kvm2/system
migrate: offline(bool): (none)
migrate: persistent(bool): (none)
migrate: domain(optdata): e-devel
migrate: desturi(optdata): qemu+ssh://kvm2/system
migrate: found option <domain>: e-devel
migrate: <domain> trying as domain NAME
root@kvm2's password:
migrate: found option <domain>: e-devel
migrate: <domain> trying as domain NAME
#
Run Code Online (Sandbox Code Playgroud)
输入根密码后,我本以为来宾会被迁移,但什么也没有发生。
最后一条调试线migrate: <domain> trying as domain NAME让我觉得缺少了一些东西。
这行是什么意思?
我安装了 Ovirt 并想为 NAT 添加网络接口。所以我需要通过 virsh 连接到虚拟机管理程序并添加网卡。
Ovirt 安装在我的本地服务器上,主机(ovirt-engine.kvmserver.net)位于同一服务器上。
我尝试以可读模式连接没问题
# virsh -r
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh > list
Id Name State
----------------------------------------------------
10 CentOS_test running
12 CentOS_test2 running
16 Windows1 running
17 Windows2 running
Run Code Online (Sandbox Code Playgroud)
正常模式下
# virsh
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh # list
Please enter your authentication name:
Please enter your password:
error: …Run Code Online (Sandbox Code Playgroud)