我在哪里可以找到运行常见操作系统(如 Ubuntu 或 WinXP)的虚拟机的基准测试,有无 VT-x?我正在使用 xVM (VirtualBox),但也可以选择 VMWare 或 Xen 管理程序。
我更喜欢独立的基准,而不是这些公司发布的基准,但我会接受任何我能得到的。谢谢。
我打算用一台电脑来运行虚拟机。我对哪个是最好的选择有些困惑。
VMware 服务器(在一些优化的 linux 上运行):我试过这个,但是在一台旧电脑上,运行超过 3 个虚拟机真的很慢。但它是旧计算机(Sempron 1gb ram),Linux 主机是运行大量服务的 ubuntu。由于服务器将使用 intel core 2 ... vmware 是否支持 intel-vt?
VMware ESXi(或类似但免费版本的东西):从未尝试过,硬件兼容性有限……我认为这不适用于家用计算机。
Xenserver 5.5:我今天试过了,但失败了很多。没有太多支持,也没有 wifi 网卡正在工作,没有列出本地存储,没有列出 DVD 驱动器...... xencenter 仅适用于 Windows 和相同的子网......
我打算选择选项 1,但还有其他想法吗?
我一直在尝试在 Ubuntu 9.10 上设置一对使用 KVM 的服务器,以在它们之间托管 8 个虚拟机,但最终遇到了从虚拟机冻结到无法开机的各种问题。
我设置并运行了一个虚拟服务器,并且正在设置第二个,当任何涉及 OpenSSL 的操作都会导致 VM 以一种奇怪的方式锁定时 - 所有网络流量都会停止,它不会处理控制台上的登录,但是它没有占用主机的任何 CPU 时间。第一个虚拟服务器完全相同并且运行良好。
我尝试设置的另一个 VM 已经很好地安装了 Ubuntu,然后拒绝重新启动,抛出与 XFS 相关的内核异常。
我现在已经在两台主机上安装了 Citrix XenServer 5.5,现在正在设置我的第三台虚拟机,绝对没有问题。我在尝试 VMware 时也有同样的体验,但我更喜欢 Xen,因为它似乎在免费许可证上提供了更多功能。
我的问题是我对 KVM 不走运,还是 KVM 像看起来那样不稳定?您是否正在或计划在生产中使用 KVM,您的成功情况如何?
编辑:
感谢所有的答案。我最近将我们的两台物理服务器升级到使用 KVM 0.12.3 的 Ubuntu 10.04 LTS。我现在正在 KVM 上安装我的第六个虚拟机,甚至没有任何我之前遇到的问题的迹象,所以我现在坚持使用 KVM :)
我有一个可以从virsh. 根据virsh dumpxml VM1,这是分配的 pty:
<serial type='pty'>
<source path='/dev/pts/6'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/6'>
<source path='/dev/pts/6'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
Run Code Online (Sandbox Code Playgroud)
虚拟机正在运行:
# virsh list
Id Name State
----------------------------------
7 VM1 running
Run Code Online (Sandbox Code Playgroud)
在 VM 内部,这是 grub 配置:
kernel /boot/vmlinuz-2.6.24-28-virtual root=UUID=7a1685b9-ecc8-4b70-932c-459a6faac07d ro quiet splash console=tty0 console=ttyS0,9600n8
Run Code Online (Sandbox Code Playgroud)
这是由 virsh 启动的用于启动 VM 的命令行:
/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 256 -smp 1,sockets=1,cores=1,threads=1 -name VM1 -uuid 47ff6ec2-a748-4738-16b9-2ffe5780e456 -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/VM1.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot c …Run Code Online (Sandbox Code Playgroud) 大多数 ESXi 指南都描述在已经设置过一次的服务器上执行此操作,但我是第一次在这些机器上安装 ESXi。
如何正确地将这些网卡驱动程序纳入安装过程?
我的印象是,我可能需要配置一个包含这些驱动程序的自定义安装包(并使用 PowerCLI 来执行此操作)——如果是这样,我该如何最好地执行此操作?
Hyper-V 虚拟机能够进行 PXE 引导。显然,PXE 启动会引起一些安全问题。问题是,与典型的物理机固件不同,没有明显的方法可以完全禁用 PXE 引导。
Hyper-V 管理器在以下位置显示每个 VM 的网络适配器Settings=>Firmware=>Boot Order:

您可以将网络适配器移至引导顺序的底部,但不能将其从该屏幕中完全移除。因此,如果由于某种原因,Hyper-V 无法从任何其他驱动器启动,VM 仍会尝试 PXE 启动并显示以下屏幕:

我已经Settings=>Network Adapter寻找了一种禁用 PXE 启动的方法,但无济于事。
所以我的问题是:
我使用的是 Windows Server 2012 R2
仍在尝试使 GPU 直通工作并决定将机器类型从较旧的 440fx 更改为 q35,即 pc-q35,但如果我对配置进行 virsh 编辑,它拒绝保存说“不支持 PCI 桥接器”...通过当前的 qemu 二进制文件。我需要在虚拟机 xml 文件中修复/更改什么?
经过一些研究,似乎 q35 只允许 PCIexpress PCIe 而不是 PCI,但我不知道在我的 xml 文件中更改什么,以便 virsh 停止抱怨并接受从 440fx 到 q35 的更改。
这是在 Debian Jessie 上:uname -a Linux vmserver 3.16.0-customvmkernel #1 SMP Sun Sep 28 00:34:42 PDT 2014 x86_64 GNU/Linux
kvm --version QEMU 模拟器版本 2.1.0 (Debian 2.1+dfsg-4)
这是我当前要更改为 q35 的 440fx 虚拟机文件:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>Win7enterprise32bit</name>
<uuid>77599af9-35a3-45e1-9fce-74304f7d7a9c</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='i686' machine='pc-i440fx-2.1'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/> …Run Code Online (Sandbox Code Playgroud) virtualization virtual-machines libvirt qemu kvm-virtualization
在搜索了这个并且只找到了不能正确解释“缓存”数字的人的帖子后,我决定问这个问题。
我手头有一些服务器,它们的行为很奇怪。也就是说,他们的 RAM 使用率非常高,原因不明。似乎一个不可见的进程有很多“使用过的”RAM(我的意思是“使用过的”)。
这是一些信息:
还有一些shell输出:
root@good-server:# free -m
total used free shared buffers cached
Mem: 15953 14780 1173 0 737 8982
-/+ buffers/cache: 5059 10894
Swap: 31731 0 31731
root@good-server:# python ps_mem.py
[... all processes neatly listed ...]
---------------------------------
4.7 GiB
=================================
root@bad-server:# free -m
total used free shared buffers cached
Mem: 15953 15830 123 0 124 1335
-/+ buffers/cache: 14370 1583
Swap: 31731 15 31716
root@bad-server:# …Run Code Online (Sandbox Code Playgroud) 我相信有 qcow2 文件会在服务器上替换少量 GB(在物理服务器上使用 df -h 进行验证),但在您登录到 virt-manager VM 并发出 df 时允许大量空间 - H。你如何创建这样的文件?如果/何时虚拟机增长到其最大大小并可能填满物理服务器,物理服务器如何知道不会出现问题?
truncate 命令不会创建小的 qcow2 文件。Virtual Machine Manager 的 GUI 允许通过 GUI 创建“硬件”。这两种创建 .qcow2 文件的方法都会创建最大大小的文件。
昨晚我在添加新磁盘并运行 Exchange 的离线碎片整理之前拍摄了 VM 的快照(使用新添加的磁盘作为临时路径)。
当我今天醒来时,服务器处于离线状态,当我打开 vSphere 时,我看到消息“配置问题 - 需要整合虚拟机磁盘”。我回答了这个问题并选择了中止/取消。然后 VM 启动。Exchange 数据库现在约为 160GB(从大约 240GB 下降),这大约是我在碎片整理后预期的大小。这让我怀疑碎片整理可能已经完成,但可惜它不会挂载。
在这个阶段,我的偏好是恢复到快照。以前有人遇到过这种情况吗?我读了很多书,但只找到了解释如何通过合并来解决“需要合并”错误的文章。我找不到有关删除不需要的增量磁盘以恢复原始磁盘的任何信息。
是否有支持的方法来删除这些不需要的增量磁盘而不合并它们?
我可以简单地将 diskname-000001.vmdk 文件移到别处然后启动 VM 吗?(我也有一些带有 .REDO_nSGail 扩展名的文件,我认为我也需要移动)。原始 .vmdk 文件将处于只读模式 - 有没有办法将它们设置回读写?
感谢任何可以提供一些建议的人。
其他信息: - ESXi 6.0 - 虚拟机是一个 Windows SBS 盒子(它有 Exchange 和 AD)。它还有大约 1TB 的数据,但数据存储上没有足够的可用空间来恢复所有数据。我必须先移出所有 VM 文件,然后再恢复需要数小时的备份,因此如果可能的话,我宁愿避免这种情况。
virtualization ×10
libvirt ×2
linux ×2
vmware-esxi ×2
benchmark ×1
boot ×1
compression ×1
hyper-v ×1
hypervisor ×1
installation ×1
memory ×1
powercli ×1
pxe-boot ×1
qcow2 ×1
qemu ×1
sparse-files ×1
ubuntu ×1