我们使用带有以下参数的 Ubuntu 12.04:
我们在这台机器上运行了几个 Windows 来宾,其中一个是 Windows 2003 32 位,另一个是 Windows 2008(64 位)。我们目前正在努力解决性能问题并尝试使用 CPU 模型。
我们通常将“qemu-system-x86_64 用于我们的 Windows 32 位客户机,例如:
/usr/bin/qemu-system-x86_64 -S -M pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...]
Run Code Online (Sandbox Code Playgroud)
这位客人的表现竟然有点低。我们还没有运行任何基准测试,但是假设当我们将 CPU 模型从“-cpu qemu32”切换到“-cpu Nehalem”时,将 VM 内的大量数据(文件)从一个目录复制到另一个目录的速度要快得多”。大约需要 2:40 小时复制的文件现在可以在 40 分钟内复制。当然,这不是一个高质量的测试,还有很大的空间可以进行更专业的尝试。但这是一个明确的指标,表明选择正确的 CPU 型号可能会严重影响来宾的性能。
现在我很好奇并跑了: …
virtualization central-processing-unit qemu kvm-virtualization
有没有办法缩小 qcow2 图像而不将其转换为原始图像?
我无法将其转换为原始图像,因为我没有足够的磁盘空间来存储原始图像。
我在 XFS 文件系统上有一个文件,其大小约为 200 GB。它是一个 QCOW2 映像,其中包含一个 KVM 驱动的虚拟机的虚拟磁盘。出了点问题(也许是 qemu-kvm 的一些故障,我不确定),虚拟机崩溃了,现在我有一个看起来像这样的文件:
191090708 -rwxr--r--. 1 root root 737571587400425984 Oct 10 10:03 973d10e0-a5e3-4a59-9f98-4b9b9f072ade
Run Code Online (Sandbox Code Playgroud)
因此,它仍然占用 191090708 个块,但ls
显示为 656 PB。
此外,我还有另一个具有相同史前史的文件,但位于另一个文件系统(不是 XFS,而是 GFS2)上:
410855320 -rwxr--r--. 1 root root 7493992262336241664 Dec 13 2014 ac2cb28f-09ac-4ca0-bde1-471e0c7276a0
Run Code Online (Sandbox Code Playgroud)
它占用 410855320 个块,但ls
显示为 ~6.6艾字节。
你怎么看,删除这些文件是否安全?谢谢!
PS 定期拍摄快照真是太好了!:) 我不知道没有他们我会做什么。
我有一个运行 SharePoint 2013 的 Windows Server 2012 R2,我正在尝试将它从 Hyper-V 迁移到 KVM (qemu)。我已将 vhdx 文件转换为 qcow2 格式并将其复制到 KVM 服务器(RHEL 7.3)
Hyper-V VM 配置为第 2 代,我在 KVM 中创建了一个带有 UEFI 固件 (OVMF) 的新 VM。
当我启动时,机器进入自动修复模式但无法启动。我可以打开 Cmd 提示,为此我需要使用本地管理员密码进行身份验证。
我已经运行了以下内容:
但是,VM 无法启动总是进入修复模式。
关于我可能需要检查的内容或我可以使用或购买的任何 3rd 方实用程序的任何建议,以帮助我轻松解决这个问题?
如果我登录到命令提示符,我可以运行 Diskpart / sel disk 0 / list vol 来查看:
Volume 0 D CDROM 0 B No Media
Volume 1 C NTFS Partition 126GB Healthy
Volume 2 …
Run Code Online (Sandbox Code Playgroud) KVM 是类型 1 还是类型 2 管理程序?
我知道类型 1 管理程序在裸机上运行,而类型 2 管理程序是运行在操作系统(例如 VMware Workstation)之上的应用程序。我也知道类型 1 和类型 2 客户端之间的性能差异可能很大。
我很困惑,好像 KVM 是类型 1 或 2,因为我知道可以在 dom0 中安装桌面环境。
在我的主机上,我使用 libvirt 和 KVM 来宾。当主机关闭时,libvirt 挂起来宾。当主机启动时,libvirt 恢复来宾。问题是,如果访客暂停并在 24 小时后恢复,那么访客时间是过去的 24 小时。
我认为问题可能出在时钟源上,但它已经设置为“kvm-clock”。
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc hpet acpi_pm
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
kvm-clock
Run Code Online (Sandbox Code Playgroud) virtualization time-synchronization libvirt kvm-virtualization
我正在尝试在 KVM 上使用不同的存储池,以便存储我的 VM 的虚拟磁盘以及我正在使用的操作系统的 ISO。
例如:我想使用/media/work/kvm
挂载的目录/dev/sda5
作为所有未来情况的默认存储池
要配置、创建和启动一个新的存储池,这很容易,但至少在 Ubuntu 中,如果我从不同的存储池中选择 ISO 并不重要,Virtual Machine Manager总是将我指向默认存储池 ( /var/cache/libvirt
) 作为将创建来自我的 VM 的虚拟磁盘的存储。
我怎样才能避免这种情况?
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
#
Run Code Online (Sandbox Code Playgroud)
..和“计算机模拟”,这意味着不仅执行动态二进制转换,而且模拟整个虚拟机(视频卡、声卡、网卡、光学设备等)。例如:
# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d
Run Code Online (Sandbox Code Playgroud)
正如我所了解的,Qemu 不知道如何利用硬件虚拟化(例如 x86 架构上的 Intel VT-x 或 AMD-V 解决方案),而在这种情况下,KVM 可以提供帮助 - 可以使用 KVM 支持启动 Qemu。但是,除了在特定硬件架构上访问仿真程序对硬件辅助虚拟化的访问之外,KVM 是否提供任何其他功能?是否可以仅使用 KVM 创建整个(CPU、显卡、I/O 设备等)虚拟机?如果是,那么应该使用哪些程序来创建和控制这个虚拟机?
我们有一个 CentOS 5.5 KVM 主机,运行带有各种版本的 CentOS 和以后可能的其他操作系统的客户机。
我们希望能够 (a) 自动向所有来宾发送 ACPI 关闭或 (b) 在主机关闭时将所有来宾挂起到磁盘。
是否有标准方法可以完成其中任何一个,还是您自己动手的情况?谢谢!
如何在已创建的 KVM 中更改虚拟机的 RAM 和 CPU 内核数量?谢谢