我在 FX-8320 和华擎 970 Extreme3 R2.0 主板上设置了一个带有 R9-270 和 ATI Rage(PCI 显卡,不使用 radeon 驱动程序)的系统,目的是运行 Debian Wheezy主机和 Windows 8.1 Pro 作为来宾,R9 传递到来宾系统。我已经按照 Debian Wiki 中的指南来执行此操作(https://wiki.debian.org/VGAPassthrough)并已完成,但是当我使用卡及其音频设备启动来宾时,我得到代码 43在客人和卡不起作用。我还测试过将它传递给 Ubuntu 来宾,但它也不起作用。
显然,获得代码 43 错误是相当普遍的,但这些错误主要是与 Nvidia GPU 相关的,而我见过的唯一一个 AMD 错误仅在该用户离开 AMD CPU 时出现。该指南没有对 Code 43 故障排除的任何解释,大概是因为作者没有得到它。我在 KVM 上运行 VM,并使用 virt-manager 的添加硬件对话框传递卡及其音频设备。已知此软件配置有效,因为这与上述指南的作者使用的设置相同。
似乎对这个问题的支持(可以理解)很少,因为它不常用。
编辑:可能应该注意,我已将主机上的 radeon 驱动程序列入黑名单,而且由于它不在指南中,而且我无法找到有关其工作原理的很好解释,因此我没有使用 PCI 存根驱动程序。
我无意中发现了一个 Proxmox 错误。我运行一个由 4 个节点组成的个人集群(一个用于傻笑和噱头的技术实验室)。每个节点都有一个 Dell Perc 5i 和 4 个 RAID 10 硬盘。标准 Proxmox 安装使用整个逻辑驱动器并放置 2 个分区,系统驱动器和本地驱动器 ( /var/lib/vz
)。
我最近发现运行 QCOW2 允许我拍摄快照,而运行 VMDK 则不能。我还了解到,除非虚拟机位于网络存储上,否则我无法迁移它们。
没问题,首先我在所有节点上安装 NFS 服务器,然后在/var/lib/vz
文件系统 ( /var/lib/vz/nfs
)上创建并导出 NFS 文件夹,然后将其添加为网络存储。
接下来我开始将我的驱动器迁移到本地机器上的 NFS 文件夹,并使用 Web 界面驱动器移动命令将图像转换为 QCOW2。这是有效的,但这里是我如何始终使 Proxmox 集群服务崩溃:
主节点似乎只是向南。Web 界面显示一切都已关闭。复制的进度停止了。在 shell 中运行的 OS 同步命令永不返回,关闭请求挂起,init 0 命令挂起。最终,我必须重启节点上的电源。
所以,一些问题:
任何帮助,将不胜感激。
我需要对 Qemu-KVM 虚拟机物理内存做一些探索(特别是我需要检查物理内存交叉的事实)。为此,我尝试使用virsh dump
orvirsh save
命令保存 VM 的状态。
转储的文件具有二进制结构,除了这个非官方(?)工具之外,我找不到对此的描述。据说那里virsh dump
创建了QEMU-savevm 格式的文件,同时virsh save
给出了一个 Libvirt-QEMU-save 格式的文件。但是,我没有设法在 Internet 上找到这些术语。
如果有人能澄清这种情况,我会很高兴,也许会提供一个链接到放错地方的文件。谢谢,
假设以下场景:具有 2 GiB 的主机使用 KVM 运行几个来宾。每个来宾通常不需要太多内存,每个来宾获得 256 MiB 并运行主要是指手画脚的服务。但是,偶尔客人需要更多的内存。现在,每个来宾只有很少的 RAM,但有自己的交换空间。我注意到使用了一小部分交换。我从来没有遇到过这种配置问题,但只是出于好奇:
最优的掉期分配策略是什么?
内存膨胀是否有助于提高内存性能?
我想知道为什么我的网络接口仍然eth0
在我的 kvm 来宾中命名。udevadm 只是输出
# udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null
ID_NET_NAME_MAC=enxc2184ae7ab3f
Run Code Online (Sandbox Code Playgroud)
我希望他们被称为像enpXsY
. 目录/etc/udev/rules.d
为空。Linux 品牌是 Gentoo,3.15.5-hardened-r2。虚拟化是KVM with qemu 2.0,网络接口是virtio。在主机和其他机器上,设置与 udev 相同,但接口按预期以其新名称调用。
为什么会这样?启用新标识符需要什么?
我的第一个想法是新标识符指的是 PCI 设备,而 virtio 设备不是 PCI 设备。然而,lspci
事实证明我错了:
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
Subsystem: Red Hat, Inc Device 0001
Flags: bus master, fast devsel, latency 0, IRQ 11
I/O ports at c040 [size=32]
Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at feb80000 [disabled] [size=256K]
Capabilities: [40] …
Run Code Online (Sandbox Code Playgroud) 在拥有许多用户的 debian 主机中,我希望允许不同的用户创建自己的 VM,彼此完全独立。
我在指南中看到的最相关(非根)方式是连接到qemu:///system
hypervisor 。这是在所有用户之间共享的系统管理程序。更重要的是,磁盘映像文件将由 root(或 kvm)用户拥有,这意味着磁盘映像文件位置的整个文件系统路径必须是全局可读的。
由于上述和其他原因,我想以非 root 用户的身份完全和完全地运行我的虚拟机。那是作为qemu:///session
. 所以主要问题是我该怎么做?有我可以使用的指南吗?
我尝试创建新的虚拟网桥 iface,但即使我是 netdev 组的成员,我在执行以下操作时也会收到“权限被拒绝”错误:
virsh -c qemu:///session net-create /etc/libvirt/qemu/networks/mynet.xml
Run Code Online (Sandbox Code Playgroud)
请注意, mynet.xml 就像默认网络,但位于不同的子网中。
我正在尝试通过virt-manager
(和virsh
命令行)使用 libvirt 和 KVM 设置具有大页面支持的 VM,并且在域 XML 中启用该选项时出现错误。不知道问题出在哪里。
我正在使用升级到 14.10 的 Ubuntu 14.04 和以下软件包版本:
我已经按照本指南配置了大页面。以下是有关当前配置的一些信息:
$ hugeadm --explain
Total System Memory: 15808 MB
Mount Point Options
/dev/hugepages rw,relatime,mode=1770,gid=126
Huge page pools:
Size Minimum Current Maximum Default
2097152 2176 2176 2176 *
Huge page sizes with configured pools:
2097152
$ getent group kvm
kvm:x:126:chaicko
$ cat /proc/meminfo | grep Huge
AnonHugePages: 591872 kB
HugePages_Total: 2176
HugePages_Free: 2176
HugePages_Rsvd: 0
HugePages_Surp: …
Run Code Online (Sandbox Code Playgroud) 我了解、 和 的所有内容virsh
,virt-install
并且virt-manager
可以管理虚拟机。然而,这三者有什么区别呢?
我正在尝试在 Linux 主机和 Windows 来宾之间共享文件,但我发现了以下链接:
使用 virt-manager 在 Linux 主机和 Windows 来宾之间共享文件?
正如第三个答案中所建议的,我按照以下步骤操作:
使用以下命令查找文件系统的偏移量(因为它是磁盘)fdisk
:
$ fdisk -lu Win.img
Run Code Online (Sandbox Code Playgroud)使用命令挂载镜像:
mount Win.img /mntpoint -o ro,loop,offset=32256
Run Code Online (Sandbox Code Playgroud)在这里,这似乎是一种很有前途的方法。我能够在 Linux 主机上看到 Windows 来宾 VM 的文件。但是,如果我对来宾进行更改,除非我再次重新安装映像,否则我无法在主机端看到任何更改。
无论如何要刷新该内存,以便我也可以看到主机端的更改?
我正在轻负载主机上跟踪 VM 上的 CPU 使用情况。所有虚拟机上的一切似乎都正常运行,但 collectd 报告“窃取”时间逐渐增加:
报告的实际抢断时间总是 100% 或 0%,但随着时间的推移,100% 的峰值越来越接近。
VM 和主机都运行 vanilla Debian 8。当两者都在不同的物理主机上运行 Debian 7 时,我们没有注意到相同的效果。
这是 collectd 的怪癖还是 KVM 真的在慢慢地从 VM 中夺走 CPU 资源?