如何让pulseaudio同时在KVM虚拟机(以root身份运行)和桌面应用程序(不以root身份运行)中播放声音?
似乎默认情况下,它一次只会为一个用户播放声音,而阻止所有其他用户。
例如,
我播放一些音乐:
mplayer ~/Music/*
Run Code Online (Sandbox Code Playgroud)
我的虚拟机开始于:
kdesu qemu-system-x86_64 -enable-kvm [... disks, network, etc. ...] -soundhw hda
Run Code Online (Sandbox Code Playgroud)
这会以 root 身份运行进程,并显示运行它的用户的 X。直到 mplayer 停止,声音才起作用。
如果在 root shell 中运行,我会得到:
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: Device or resource busy
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
alsa: Could not initialize …Run Code Online (Sandbox Code Playgroud) 我想从我拥有的 windows xp upgrade cd创建一个 windows xp 来宾,以及我周围的几个完整版本之一。但是,当我到达安装程序中提示我插入完整版 cd 的阶段时,安装程序找不到它(更新:我检查了这是否适用于正常安装),即:
安装程序无法读取您插入的 CD,或者 CD 不是有效的 Windows CD。
是否有解决方法,以便我可以安装两个 cd,或者在安装过程中安装新的 cd?
我尝试了挂载 .iso 文件和指定磁盘的各种组合,例如:
$sudo virt-install --accelerate --connect qemu:///system -n xpsp1 -r 2048
--disk ./vm/winxp_sp1.iso,device=cdrom --disk ./vm/windows.qcow2,size=12
--vnc --noautoconsole --os-type windows --os-variant winxp --vcpus 2 -c /dev/cdrom
--check-cpu
Run Code Online (Sandbox Code Playgroud)
如果我尝试指定多个 cdrom 驱动器,则会收到错误消息:
virt-install --accelerate --connect qemu:///system -n xpsp1 -r 2048
--disk ./vm/winxp_sp1.iso,device=cdrom --disk /dev/cdrom,device=cdrom
--disk ./vm/windows.qcow2,size=12 --vnc --noautoconsole --os-type windows
--os-variant winxp --vcpus 2 --check-cpu
Starting install...
ERROR IDE CDROM must use 'hdc', …Run Code Online (Sandbox Code Playgroud) 我在 Linux Mint 17.1、内核 3.16.0-31-generic 上运行 KVM。唯一的访客是 Windows 8.1 虚拟机。我注意到,如果我在来宾运行时重新启动主机,则在主机重新启动后我无法恢复来宾。Virt-manager 仅将虚拟机显示为“已暂停”,没有可用的电源或恢复选项。virsh当我尝试恢复它时也会出现错误:
zach@koln ~ $ virsh list
Id Name State
----------------------------------------------------
2 windows8 pmsuspended
~ $ virsh resume 2
error: Failed to resume domain 2
error: Requested operation is not valid: domain is pmsuspended
Run Code Online (Sandbox Code Playgroud)
我找到的唯一解决方案是终止 qemu 进程,这不太理想。我不在乎重新启动主机时虚拟机状态是否被丢弃,我只是希望它自动启动备份。
有什么建议么?
有没有办法在以 Ubuntu 10.04 或 10.10 作为主机运行 Windows 7 Professional 的 kvm 虚拟机(来宾)中使用 HASP 加密狗(Aladdin)?
背景:
我打算设置一个 KVM 以在同一工作站上运行 Windows 和 Linux,但我不确定如何设置磁盘。我的理解是原始磁盘通常会提高性能。我将进行大量 I/O 密集型工作,因此性能至关重要。但是,我计划的设置需要大量工作才能设置,如果不需要,我不想做两次。根据我使用 Vbox 和 VMware Player 进行桌面虚拟化的经验,我多次被无法启动的损坏 VM 文件烧毁。这吸引我使用具有强大的数据损坏保护和良好恢复功能的设置。这吸引了我使用 ZFS。
基于这些基准,ZFS 比其他文件系统更适合 VM 存储,但它无法与原始磁盘直通相比。 http://www.ilsistemista.net/index.php/virtualization/47-zfs-btrfs-xfs-ext4-and-lvm-with-kvm-a-storage-performance-comparison.html
我的问题:
与原始磁盘模式相比,从 ZFS 池运行的 VM 文件的速度如何,尤其是将 Winodws/NTFS 作为来宾时?
如果您正在构建双操作系统工作站,您会如何权衡这两种设置的优点?
在这方面有什么重要的事情我似乎没有考虑吗?
除了集成的英特尔显卡外,我还有一个 2017 戴尔 XPS 9560 和一个独立的 nVidia 显卡。nVidia 卡通常通过 ACPI 命令关闭。我的主系统上没有或不想要专有的 nVidia 驱动程序。但是,我真的很想使用 CUDA。我可以对运行专有驱动程序的 KVM 来宾进行 GPU 直通吗?
我发现的大多数资源似乎都假设主机正在运行专有驱动程序和 Bumblebee,但我无法断言这是否必要。
我想在 OpenMediaVault 5 上的虚拟机中运行 Home Assistant (HASS)。在 OMV 4 之前,这很容易,因为 OMV(和底层 Debian)支持 VirtualBox,而 VB 显然在引导 UEFI 映像时没有任何问题。由于 OMV 5(以及底层 Debian 10)不再支持 VirtualBox,OMV 现在使用 KVM ( libvirt) 来管理虚拟机(并且支持Cockpit来管理它们)。不幸的是,这意味着在 OMV/Debian 10 上启动 UEFI 映像不再是小事,而且 - 您猜对了 - KVM (QCOW2) 的官方 Home Assistant 映像需要 UEFI,并且尝试在 Cockpit 中导入和启动它将会失败。我无法在 Cockpit 中找到任何允许我将启动模式设置为 UEFI 的按钮或命令。
所以我想要实现的是在无头系统(即没有virt-manager. (如果你使用的是台式机,我相信你不会有这个问题,但可以直接使用virt-manager而不是Cockpit。)
你是怎么做到的?
我的VMware Workstation的大风扇-它的伟大工程,是那么好用...
不过,我喜欢开源。
我意识到有 VirtualBox,但理想情况下,我希望做以下事情:
但是,我有很多时间遵循服务器指南并让 KVM 正常工作......
是否有一个很好的设置指南,比如在 10.04上运行的 Ubuntu KVM 系统(例如,https: //help.ubuntu.com/community/JeOSVMBuilder,tmpfs 选项在股票 10.04 上严重失败需要 ppa,然后有自己的问题)。
我正在使用具有以下规格的普通 PC:
我在 BIOS 设置中启用了 Intel VT。
我安装了最新的 Fedora 15 并启用了 KVM。我安装了 Windows XP x64 和 Windows 7 x64 作为来宾操作系统。与在同一台机器上的本地安装相比,安装时间更长。在漫长的安装之后,我为两个 Windows 实例启用了远程桌面。我继续配置windows,发现很多操作似乎很慢而且滞后。
然后我使用Passmark对这些虚拟机进行基准测试。总体评分只有 273。然后我尝试在同一台机器上对原生 Windows 进行基准测试,评分为 613。
显然,KVM 无法以接近本机的速度运行。
然后我在同一台机器上尝试Citrix XenServer。安装 Windows 和使用 Windows 来宾很顺利。Passmark 基准评级为 644。该评级接近原生评级。
看来XEN很快兑现了承诺。或者也许有一些方法可以调整 KVM 以提高其性能。
我使用 virt-manager 创建了一个 VM(主机:Fedora 25,来宾:LUbuntu 16.10)。当我启动它并单击窗口时,我看到两个光标:一个主机光标和另一个访客光标:
来宾光标的移动受到主机光标的限制,因为它不能离开屏幕边界。此外,有时客人光标不会出现,然后我无法使用鼠标与客人互动(键盘仍然有效)。游标的偏移量不是恒定的。我可以通过向一个方向快速移动鼠标然后在相反方向缓慢移动来将访客光标移动到主机光标周围。
当我想与来宾交互时,如何使主机光标消失?
假设我有 floppy.vfd 映像。
我应该如何填写 xml 文件才能附加软盘映像?我有类似的模板
<disk type='*' device='*'>
<device name='*' type='*'/>
<target dev='*' bus='*'/>
</disk>
Run Code Online (Sandbox Code Playgroud)
是的,我在网上搜索了有关附加软盘的信息,但没有找到,甚至在 libvirt.org 上也是如此
我的主机是CentOs6.8,内核是3.10.0-957.el7.x86_64。我已经在其上安装了 KVM,并使用 KVM 创建我的来宾。我的客人工作得很好。
现在,我在我的客人上运行一些软件或代码。我收到这样的错误:
Run Code Online (Sandbox Code Playgroud)/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/kudu/sbin/kudu-tserver --tserver_master_addrs=sz-5-centos224,sz-5-centos238 --flagfile=/opt/cm-5.13.0/run/cloudera-scm-agent/process/8442-kudu-KUDU_TSERVER/gflagfile WARNING: Logging before InitGoogleLogging() is written to STDERR F0802 17:24:26.397984 5041 init.cc:84] Check failed: _s.ok() Bad status: Not implemented: The CPU on this system (QEMU Virtual CPU version (cpu64-rhel6)) does not support the SSE4.2 instruction set which is required for running Kudu. If you are running inside a VM, you may need to enable SSE4.2 pass-through.`
从错误中我可以看出,导致客人没有sse4.2,那么,如何让客人启用sse4.2呢?请帮我。谢谢。
我有一个装有虚拟盒的 ubuntu 12.04 虚拟机,而且我还在它上面安装了 KVM,它来自配备英特尔 i5 处理器的 MacBook Pro。
我正在尝试使用 OpenNebula 在我的 ubuntu VM(是的,虚拟机内的虚拟机)上实例化一个虚拟机,但该 VM 无法启动。我可以成功加载 kvm 模块,但它不加载 kvm_intel:

这是/proc/cpuinfo的内容:

但奇怪的是,我能够运行 virt-manager 并创建虚拟机!!所以也许问题是机器是 32 位而我的物理处理器是 64 位?
linux-kvm ×13
qemu ×4
libvirt ×2
linux ×2
ubuntu ×2
ubuntu-10.04 ×2
audio ×1
debian ×1
dongle ×1
floppy ×1
gpu ×1
io ×1
mouse ×1
performance ×1
pulse-audio ×1
usb ×1
virt-manager ×1
virtualbox ×1
vmware ×1
windows-7 ×1
windows-xp ×1
xen ×1
zfs ×1