通常,我们现场的基于debian-stable的应用程序的安装通常在VMware ESXi中运行在虚拟机中。 在一般情况下,我们无法查看或影响虚拟化环境,也无法访问例如VMware vCenter客户端或同等产品。 我在这里关注VMware,因为到目前为止,我们看到的是最常见的。 我们希望: 告诉客户的VMwarepipe理员:只要符合性能标准X,Y和Z,就可以在我们的VMware ESX环境中运行我们的应用程序。 能够确定X,Y和Z标准是否连续实现( 即现在也是如此),即使在一个正在运行的系统上(我们不能停止我们的应用程序并运行基准testing,并且初始基准testing也不足够,虚拟环境随时间变化)。 有信心,如果符合标准X,Y和Z,我们将有足够的虚拟硬件资源来运行我们的应用程序,performance令人满意。 现在什么是X,Y和Z? 我们一次又一次地看到,当出现性能问题时,问题不在于我们的应用,而在于虚拟化环境。 例如,另一台虚拟机使用大量的CPU,内存或实际存储磁盘的SAN,这些数据会被我们的应用程序以外的其他应用程序所占用。 我们目前无法certificate或反驳这一点。 理论上也可能有时我们的应用程序很慢… 😉 如何确定我们的性能问题的根本原因:虚拟环境还是我们的应用程序? 性能问题通常有3个方面:CPU,内存和磁盘I / O。 中央处理器 在例如VMware中,pipe理员可以指定保留和限制,以MHz为单位,但是在一个ESX主机上,例如512MHz与另一个ESX主机上的512MHz完全相同,可能在完全不同的ESX群集中。 如何衡量我们是否真的得到了这个呢? 当我们的应用程序正在运行时,我们可以看到我们在4个CPU上的CPU利用率为212%。 是因为我们的应用程序做了很多事情,还是因为同一台主机上的另一台虚拟机正在运行一个CPU密集型任务并使用了所有的CPU? 记忆(气球?) 如果我们要求例如16GB内存,这通常是configuration的,但由于膨胀 ,我们实际上只得到4GB,而且我们的应用程序performance不佳。 可以询问VMware工具当前的膨胀情况,但是我们发现它经常存在(或者至less是不准确的)。 我们已经看到了操作系统认为有16GB总RAM的例子,所有进程的驻留内存(RSS)的总和是4GB RAM,但是即使VMware工具告诉我们有0膨胀,也只有2GB RAM。 – ( 另外,仅仅添加RSS是无效的,因为可以容易地共享RAM,例如,写入时复制内存,所以512MB + 512MB不一定意味着1GB,但意味着更less的意思。 因此,不能简单地从所有进程中减去RSS,以获得多lessRAM应该是空闲的,从而可靠地检测气球的度量。 人们可以检测到一些气球膨胀的情况,但也有其他情况下气球膨胀是有效的,但是不能用这种方法检测。 磁盘I / O 我想我们可以随着时间的推移读取和写入磁盘的数量,读取和写入的字节数,以及IO等待百分比。 但是,这会给我们一个磁盘I / O的准确画面吗? 我想如果有一个比特币矿工在使用所有CPU的另一个虚拟机上运行,即使底层SAN具有完全相同的性能,我们的IO等待百分比也会增加,这仅仅是因为我们的CPU资源不足,因此IO等待以%衡量 )上升。 总而言之,我们可以用什么语言来描述VMwarepipe理员,以便携和可测量的方式描述我们需要的性能?
x86 / x64虚拟化(我可能会使用VirtualBox,可能VMWare,绝对不是半虚拟化)对于以下每个操作有多less使用Intel硬件虚拟化的Win64主机和Linux64客户机? 纯粹的CPU绑定,用户模式的64位代码 纯粹的CPU绑定,用户模式的32位代码 文件I / O到硬盘驱动器(我主要关心吞吐量,而不是延迟) networkingI / O 线程同步原语(互斥量,信号量,条件variables) 线程上下文切换 primefaces操作(使用lock前缀,比较和交换等) 我主要对硬件辅助的x64情况(包括Intel和AMD)感兴趣,但是不会介意关于无辅助二进制转换和x86(即32位主机和来宾)情况。 我对半虚拟化不感兴趣。
作为KVM主机,我们在CentOS 5.x上严格使用KVM几乎一年,Fedora和Ubuntu工作站使用virt-manager,virt-viewer和ssh访问KVM主机及其guest虚拟机。 有没有人知道从Windows工作站使用virt-manager访问KVM主机的方法? 我们有一个想要从Win7系统访问KVM主机的同事。 编辑#1 我熟悉在Xming等窗口上运行X11服务器,远程显示从KVM主机到windows工作站的virt-manager,但是我真正喜欢的是知道windows本身的任何解决scheme,也就是有一个版本的virt-manager将在Windows上运行。 编辑#2 这个我自己还没有进展。 本地virt-manager客户端。 我遇到了libvirtd的编译版本,并在邮件列表上讨论了如何让libvirtd在windows上工作。 我正在添加这个问题的链接,希望有人能够弄清楚如何让virt-manager工作。 virt-manager for windows论坛主题 libvirtd的窗口 编辑#3 最后有一些进展。 在包含virt-manager的windows端口的名为msys_setup的 github上find了这个项目。 这是部分function,不支持qem + ssh://连接types,所以它仍然不能用于我们的需要,但这是一个开始。
我们最近有戴尔公司的一些服务器,所有这些服务器在BIOS中都禁用了硬件辅助虚拟化function。 据我所知,硬件辅助虚拟化是一件好事 – 那么为什么戴尔会禁用它? 如果机器没有充当虚拟机主机,是否有性能开销? 有没有什么安全问题? 如果与您的答案相关,我们将主要使用: 主机操作系统:Windows Server 2003 Enterprise R2(32位) 客户操作系统:Windows Server 2003 Enterprise R2(32位) VMM:Virtual Server 2005 Enterprise R2 SP1
我一直在使用VMWare多年,运行几十个生产服务器,几乎没有问题。 但我从来没有尝试在一台物理主机上托pipe超过20个虚拟机。 这是这个想法: 一个精简版的Windows XP可以支持512MB的RAM和4GB的磁盘空间。 5000美元让我有一个8核心服务器类的机器与64GB的内存和四个SAS镜像。 由于上面提到的100个虚拟机都适合这台服务器,我的硬件成本只有50美元,比起在GoDaddy或任何其他主机商店租用虚拟机便宜得多。 我想看看有没有人能够用VMWare来实现这种可扩展性? 我做了一些testing,碰到了一个奇怪的问题。 一旦启动了20个虚拟机,虚拟机性能就会急剧下降。 与此同时,主机服务器不会显示任何资源瓶颈(磁盘空闲99%,CPU使用率低于15%,并且有足够的空闲RAM)。 如果你能分享你的成功故事,扩展VMWare或其他虚拟化技术,我将不胜感激!
只是关于标题的问题。 有什么问题吗? 有没有这方面的经验?
将现有硬件转换为虚拟化环境后,会遇到哪些缺陷或经验教训? 有没有你试图虚拟化,但永远不会再做?
我一直在玩虚拟机,想知道我是否可以在虚拟机内部运行虚拟机? 可能吗? 这是否实用?
标题几乎说明了一切,有没有给VM 2048MB的内存,而不是四舍五入到基地10和做2000MB的任何优势?
VMWare ESX或ESXi可以在虚拟机内安装和使用吗? 它可以安装在VMWare工作站或服务器中,但不能工作; 主要症状是: 它真的很慢地运行。 它允许您创build虚拟机,但是在启动虚拟机时,会出现错误消息,提示"You may not power on a virtual machine in a virtual machine" 。