Questions tagged «qemu»

QEMU代表“快速仿真器”,是一种处理器仿真器,它依靠动态二进制转换来实现合理的速度,同时又易于移植到新的主机CPU体系结构。

3
KVM和QEMU之间的区别
我一直在阅读有关KVM和Qemu了一段时间。到目前为止,我对他们的工作有清晰的了解。 KVM支持硬件虚拟化,以为来宾操作系统提供接近本机的性能。另一方面,QEmu模拟目标操作系统。 我感到困惑的是,这两个坐标处于什么水平。喜欢 谁管理RAM和/或内存的共享? 谁安排I / O操作?

2
哪种更好的映像格式(raw或qcow2)用作其他VM的基础映像?
我正在使用基本映像,并以此为基础创建了许多虚拟机。现在,我想知道qcow2还是raw用作基础图像更好。而且,请您告诉我使用baseimage代替克隆整个磁盘是否有任何优势。速度可能是一个因素,但就效率而言,使用基本映像然后使用该基本映像创建VM是否存在任何问题? 编辑1: 我做了一些实验 第一个是当baseimage和overlay均为qcow2时。其次,当baseimage是原始映像,但是覆盖层是qcow2时,在第三种情况下,我将为每个VM提供单独的原始磁盘映像。令人惊讶的是,与其他两种情况相比,最后一种情况要有效得多。 实验装置: baseimage中的操作系统:Ubuntu Server 14.04 64位。 主机操作系统:Ubuntu 12.04 64bit 内存:8GB 处理器:Intel®Core™i5-4440 CPU @ 3.10GHz×4 硬碟:500 GB 在x轴上:同时启动的VM数。从1开始,递增到15。 在y轴上:引导“ x”台计算机的总时间。 从图中可以看出,将完整的磁盘映像提供给VM似乎比其他两种方法更为有效。 编辑2: 当我们为每个VM提供单独的原始映像时就是这种情况。在执行缓存刷新之后,这是图。它几乎类似于原始baseimage + qcow覆盖。 谢谢。

3
释放kvm / qemu上qcow2-image文件上未使用的空间
我们在虚拟机中使用带有qcow2-images的kvm / qemu。 qcow2具有此不错的功能,其中映像文件仅分配虚拟机实际需要的空间。但是,如果虚拟机的分配空间变小,如何缩小映像文件? 例: 1.)我用qcow2格式创建了一个新图像,大小为100GB 2.)我使用此映像安装ubuntu。安装大约需要10 GB,映像文件会增长到大约10GB。到目前为止没有什么意外的。 3.)我用大约40 GB的附加数据填充了映像。图像文件将增长到50GB。我同意:-) 4.)这是很奇怪的地方:我删除了图像上的所有40GB数据,但是图像大小仍然占用了50GB。 问题:如何释放40GB的数据并将图像缩小到仅需要的10 GB? 在此先感谢,伯尼

5
KVM:哪些CPU功能可以使VM更好地运行?
我们正在使用具有以下参数的Ubuntu 12.04: 戴尔R910 内核3.2.0-25-通用#40-Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux kvm 1:84 + dfsg-0ubuntu16 + 1.0 + noroms + 0ubuntu13 qemu-kvm 1.0 + noroms-0ubuntu13 qemu-common 1.0 + noroms-0ubuntu13 qemu-kvm 1.0 + noroms-0ubuntu13 4个Intel®Xeon®CPU E7-4870 @ 2.40GHz(每个具有10个物理核心,启用HT和Intel VT) Windows guest虚拟机目前没有VirtIO,但是很快就会改变 我们正在这台计算机上运行多个Windows guest虚拟机,其中一个是Windows 2003 32位,另一个是Windows 2008(64位)。我们目前正在努力解决性能问题,并尝试使用CPU型号。 对于Windows 32位来宾,我们通常使用“ qemu-system-x86_64”,例如: /usr/bin/qemu-system-x86_64 -S …

3
如何直接在控制台中启动qemu(在curses或SDL中*不*)
我似乎还记得在禁用图形窗口的情况下仅能通过终端仿真器输出来启动qemu的情况。在这里,我并不是说使用ncurses接口,那不是很好,但是我希望输出直接流入我的终端,以使剪切和粘贴更加容易。 我试过了: qemu -nographic binary.img # simply no display qemu -curses binary.img # nice text output, but not directly flowing in the terminal qemu -noframe -curses binary.img # same as above qemu -nographic -curses binary.img 我想可以接受的解决方法是,我可以调整curses控制台的大小以适合我使用的终端。现在很烦人,因为它不适合终端大小... qemu -curses binary.img SeaBIOS (version 1.7.0-20120603_194846-gandalf) iPXE (http://ipxe.org) 00:03.0 C900 PCI2.10 PnP PMM+07FC86A0+07F886A0 C900 …

2
了解Qemu和KVM之间的关系
KVM和Qemu有什么区别?据我了解,后者能够提供“用户模式仿真”,这意味着一个人可以运行为其他某些架构而构建的单个可执行文件,如下所示: # file busybox-sparc busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped # qemu-sparc busybox-sparc ls Packages_arm Packages_i386 arm busybox-armv6l busybox-i686 busybox-powerpc busybox-sparc busybox-x86_64 i386 # ..和“计算机仿真”,这意味着不仅执行了动态二进制转换,而且还仿真了整个虚拟机(视频卡,声卡,网卡,光学设备等)。例如: # qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d 据我了解,Qemu不知道如何利用硬件虚拟化(例如x86架构上的Intel VT-x或AMD-V解决方案),在这种情况下KVM可以提供帮助-可以通过KVM支持来启动Qemu。但是,除了可以访问仿真程序以访问特定硬件体系结构上的硬件辅助虚拟化之外,KVM还提供其他功能吗?是否可以仅使用KVM创建整个(CPU,视频卡,I / O设备等)虚拟机?如果是,那么应该使用哪些程序来创建和控制该虚拟机?

2
使用libvirt / qemu对直通(9p)文件系统进行读/写访问?
我最近开始尝试在KVM / QEMU / libvirt的最新版本中对直通文件系统的支持。使文件系统可用于读取访问已经“正常”,但是我对应该如何进行写入访问感到困惑。在客户机中挂载文件系统后: # mount -t 9p -o trans=virtio /fs/data /mnt 如果有模式,我可以修改现有文件o+w: # cd /mnt/work # ls -l foo -rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo # cat foo this is line one # echo this is line two >> foo # cat foo this is …

1
KVM guest虚拟机无法写入非root用户拥有的9p共享
我的目标是为KVM来宾设置对9p共享的完全写入权限。主机和来宾都具有相同ID的相同用户/组。主机和来宾都应该能够使用相同的用户名写入共享,并且我不想区分文件是由主机还是来宾编写的。该KVM进程以root权限运行- I组user和group以root在/etc/libvirt/qemu.conf。 在主机上的来宾定义中,共享定义如下: <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt/storage/data'/> <target dir='data'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </filesystem> 在来宾中,共享安装为: mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data 问题是来宾中的root用户无法写入主机上非root用户拥有的文件/文件夹。更奇怪的是,来宾的根可以重命名和删除此类文件。也就是说,当我在主机上以非root用户身份创建文件时,即使可以重命名和删除它,也无法将其编辑为guest虚拟机的root用户! 我还发现,在非root用户下在主机上创建的文件夹的权限设置为777时,guest虚拟机的root可以对其进行写入(即在其中创建文件)。但是,这不适用于文件-无论权限如何,它们仍然无法编辑。 主机和来宾都运行Linux服务器3.2.0-4-amd64#1 SMP Debian 3.2.51-1 x86_64 GNU / Linux。在Debian中,默认情况下SELinux被禁用,而我没有启用它。我尝试了所有三个可用9P访问模式(passthrough,mapped和squash) -没有区别。 我只是想知道是否有什么我可以调整以使其正常工作,还是只是一个错误? 请注意,这里报告了类似的问题:使用libvirt / qemu对直通(9p)文件系统进行读/写访问?但是与那种情况不同,我拥有100%的写访问权限,其中文件由root拥有,它只是非root用户文件,我什至无法在guest虚拟机上以root用户身份写入。

2
'无法识别的光盘标签'-与qemu图像分开使用时
我有一个从零开始运行在qemu vm上的Linux LiveCD。我正在使用以下命令为qemu创建hda光盘: qemu-img.exe create -f qcow2 base-linux.img 5G 然后我运行我的虚拟机: qemu.exe -m 1024 -boot d -cdrom lfslivecd-x86-6.3-r2145.iso -hda base-linux.img 引导后,请尝试以下命令: parted /dev/hda unit GB mkpartfs primary ext3 0 5 这给了我“无法识别的光盘标签错误”。 我正在使用parted 1.9.0,对如何解决它一无所知。
12 linux  qemu  parted 

5
SolidWorks:此虚拟环境(Qemu-KVM)不支持激活许可模式
这个问题实际上与Solidworks无关,因此请继续阅读。 虚拟化的整体思想是与硬件无关。在我们眼前,正在创建一个全新的依赖级别-附加到虚拟机管理程序。 据我所知,以某种方式找到解决此问题的方法并不违反我国的Solidworks许可和当地法律。 我的客户和我想在KVM虚拟机上激活Solidworks产品。出于某些奇怪的原因(应该对Hyper-V和VMware进行良好的测试:),Solidworks 2015 PDM的(开发人员)不希望在Qemu-KVM上激活他们的产品(2014年最后一个版本正常)。 http://www.solidworks.com/sw/support/11168_ENU_HTML.htm 我在用: 如您所见,它是Windows 2012和Solidworks PDM安装的基于KVM的虚拟机。 问题:除了检查之外,他们还能检查我是否在Qemu-KVM中运行我的VM: VM的以太网适配器的MAC地址, 设备驱动程序标签, CPU型号 ACPI表。 接下来的几个小时,我将排除上述问题,但我想知道您是否还有其他想法。 解决方案: 事实证明,他们验证了两件事: 正如迈克尔·汉普顿正确地指出有-cpu,kvm=off选项 禁用CPUID 0x40000000叶子。 来宾上的ACPI表。 qemu命令行参数的相关部分: -cpu host,kvm=off -smbios type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180 -smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300 Libvirtd配置文件语法: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> # Please notice there is xmlns definition in <domain> tag. Without it # <qemu:commandline> and …


2
如何退出QEMU Monitor?
我使用以下命令启动了KVM VM: kvm /kvm/hdd/v1/v1-1.raw -m 512 -daemonize -smp 2 -nographic -net nic,model=virtio,macaddr=aa:aa:aa:aa:aa:01 -net tap,ifname=tap0 -monitor telnet:localhost:7001,server,nowait,nodelay 然后,我通过telnet连接到显示器。但是,当我用“ quit”或“ q”退出监视器时,VM停止了。为什么以及如何在不停止VM的情况下退出?

6
将目录转换为QEMU / KVM虚拟磁盘映像
我有一个充满数据的目录/var/backups/disk1,我想将其转换成虚拟磁盘映像,然后可以使用QEMU或KVM进行引导(该目录包含虚拟机的文件系统,通过rsync复制出来)。 尽管有很多说明可以将完整的物理磁盘转换为虚拟磁盘,但是将单个目录的内容打包为虚拟磁盘映像却比我想象的要困难得多。有任何想法吗? 顺便说一句,我知道我可以qemu-img用来将块设备转换为虚拟磁盘(例如qemu-img convert -f /dev/sdc -O qcow2 disk.qcow2),因此,如果我只能使该目录/var/backups/disk1看起来像是块设备,那么理论上我应该可以使用qemu-img。我曾考虑过使用NBD或回送设备将目录公开为块设备的创新方法,但是没有成功。

7
有没有办法确定哪个虚拟接口属于kvm主机中的虚拟机?
我正在使用qemu / kvm和桥接网络。在主机中,有几个没有IP的“ vnetX”网络接口。我正在寻找一种方法来知道哪个vnetX属于虚拟机。 我试图将这些接口上的MAC地址值与虚拟机(或定义它们的XML)上的MAC地址相匹配,但是不匹配。 有brctl show显示了属于网桥的vnet接口,但这不是有用的信息。 有没有办法知道这种关系?谢谢!!

1
如果Linux缓存太大,为什么QEMU无法分配内存?
如果我使用我的机器[Ubuntu 16.04 64位,内核4.4]一段时间,QEMU需要删除内核缓存,否则,它将无法分配RAM。 为什么会发生? 这是一个示例运行: ~$ free -m total used free shared buff/cache available Mem: 15050 5427 3690 56 5931 4803 Swap: 0 0 0 ~$ sudo qemu-system-x86_64 -m 10240 # and other options qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory ~$ echo 3 | sudo tee …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.