标签: kvm-virtualization

KVM:哪些 CPU 特性使 VM 运行得更好?

我们使用带有以下参数的 Ubuntu 12.04:

  • 戴尔R910
  • 内核 3.2.0-25-generic #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 x Intel(R) Xeon(R) CPU E7-4870 @ 2.40GHz(每个都有 10 个物理内核,支持 HT 和 Intel VT)
  • Windows 来宾目前没有 VirtIO,但很快就会改变

我们在这台机器上运行了几个 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

22
推荐指数
3
解决办法
9万
查看次数

有没有办法缩小 qcow2 图像而不将其转换为原始图像?

有没有办法缩小 qcow2 图像而不将其转换为原始图像?

我无法将其转换为原始图像,因为我没有足够的磁盘空间来存储原始图像。

hard-drive convert qemu qcow2 kvm-virtualization

21
推荐指数
5
解决办法
5万
查看次数

小文件系统上非常奇怪的文件大小(超过 600 PB)

我在 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 定期拍摄快照真是太好了!:) 我不知道没有他们我会做什么。

linux xfs ls gfs2 kvm-virtualization

21
推荐指数
2
解决办法
3455
查看次数

将 Windows 2012 R2 从 Hyper-V 转换为 KVM (qemu)

我有一个运行 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 提示,为此我需要使用本地管理员密码进行身份验证。

我已经运行了以下内容:

  1. 键入 BOOTREC /FIXMBR,然后按 ENTER。
  2. 键入 BOOTREC /FIXBOOT,然后按 ENTER。
  3. 键入 Drive:\boot\Bootsect.exe /NT60 All,然后按 Enter。

但是,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-virtualization windows-server-2012-r2

21
推荐指数
2
解决办法
1万
查看次数

KVM 是类型 1 还是类型 2 管理程序?

KVM 是类型 1 还是类型 2 管理程序?

我知道类型 1 管理程序在裸机上运行,​​而类型 2 管理程序是运行在操作系统(例如 VMware Workstation)之上的应用程序。我也知道类型 1 和类型 2 客户端之间的性能差异可能很大。

我很困惑,好像 KVM 是类型 1 或 2,因为我知道可以在 dom0 中安装桌面环境。

virtualization xen redhat kvm-virtualization

21
推荐指数
2
解决办法
2万
查看次数

如何使用 libvirt 在恢复的 KVM 来宾上保持时间?

在我的主机上,我使用 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

20
推荐指数
2
解决办法
2万
查看次数

如何从 libvirt 更改默认存储池?

我正在尝试在 KVM 上使用不同的存储池,以便存储我的 VM 的虚拟磁盘以及我正在使用的操作系统的 ISO。

例如:我想使用/media/work/kvm挂载的目录/dev/sda5作为所有未来情况的默认存储池

要配置、创建和启动一个新的存储池,这很容易,但至少在 Ubuntu 中,如果我从不同的存储池中选择 ISO 并不重要,Virtual Machine Manager总是将我指向默认存储池 ( /var/cache/libvirt) 作为将创建来自我的 VM 的虚拟磁盘的存储。

我怎样才能避免这种情况?

libvirt kvm-virtualization virsh

20
推荐指数
2
解决办法
4万
查看次数

理解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
# 
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 设备等)虚拟机?如果是,那么应该使用哪些程序来创建和控制这个虚拟机?

linux virtual-machines qemu kvm-virtualization

19
推荐指数
2
解决办法
5746
查看次数

KVM 可以在主机关闭时自动挂起或关闭来宾吗?

我们有一个 CentOS 5.5 KVM 主机,运行带有各种版本的 CentOS 和以后可能的其他操作系统的客户机。

我们希望能够 (a) 自动向所有来宾发送 ACPI 关闭或 (b) 在主机关闭时将所有来宾挂起到磁盘。

是否有标准方法可以完成其中任何一个,还是您自己动手的情况?谢谢!

virtualization linux centos acpi kvm-virtualization

18
推荐指数
1
解决办法
3万
查看次数

更改 KVM 中 RAM 和 CPU 内核的数量

如何在已创建的 KVM 中更改虚拟机的 RAM 和 CPU 内核数量?谢谢

virtualization vps kvm-virtualization

17
推荐指数
3
解决办法
6万
查看次数