虚拟机基础知识
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。那么你对虚拟机了解多少呢?以下是由小编整理关于虚拟机基础知识的内容,希望大家喜欢!
虚拟机模拟环境
即使Virtual PC的兼容性很高,但不是所有软件都能在Virtual PC中正常地运行,因为那些软件可能使用一些未公开的硬件或使用一些不支援的指令。一些人或组织借此贬低他,比如,在VirtualPC 2004 SP1中,如果有打印机使用LPT1端口,则虚拟机不能识别。这个漏洞在Virtual PC 2007中得到改善。
苹果麦金塔电脑版本的Virtual PC用动态重新编译转换x86的机械码至相等的PowerPC机械码,使Mac可以执行标准pc的程序。
微软Windows版本的Virtual PC也是用动态重新编译,因为原本就能执行使用者模式和virtual 8086 mode的x86机械码,所以就只是转换核心模式和真实模式到使用者模式的x86机械码。
通常还提供一些客户端的呼叫函式库(特别是使用某些客户端的延伸功能),来加速模拟或提供更多的功能像整合原执行主机环境变量。
Virtual PC 可以在你的电脑上能同时模拟多台电脑,虚拟的电脑使用起来与一台真实的电脑一样,可以进行bios设定,可以给它的硬盘进行分区,格式化,操作系统你可以安装 DOS,Windows 95, Windows 98,Windows ME,Windows 2000,Windows XP,Windows Server 2003,UNIX,LINUX等等,你可以在你的 Windows XP 里运行 Linux。
基于Intel的苹果机支持
微软宣布在2006 年8月7 日, 真正个人计算机认为Mac不会被端起对英特尔Mac 平台。微软陈述了 “可选择的解决方案由苹果计算机公司和其它贩卖者提供, 与窗口的一个充分地被包装的零售拷贝被结合, 将满足这需要。”
苹果计算机公司宣布了和早先运输了新兵训练所预览发行。根据苹果计算机公司, 新兵训练所的一个完成的版本将运输以Mac OS x 10.5 "Leopard." 新兵训练所将允许Windows XP 被安装在新基于英特尔的橡皮防水布硬盘的另外分开。这允许用户解雇入或Mac OS x 或窗口, 虽然不同时。一的包括对连续窗口根据应用的解决办法在Macintosh 硬件减少需要对于真正个人计算机的英特尔版本。
有并且只能选其中之一的产品从Parallels, Inc. 告诉的Parallels Desktop 为Mac 。这种应用被设计利用Intel's 新技术叫做是新英特尔核心处理器的一部分多数Apple's 最新的计算机使用的英特尔Virtualization 技术。由使用I-VT, 它增加客人操作系统的表现, 使它更加实用至于规则使用。平行桌面并且看齐更新的硬件比微软真正个人计算机。VMware 和VirtualBox 并且宣布, 他们发布他们的软件的Mac OS x 版本。
虚拟机资源分配
虚拟机资源涉及多个方面:CPU、内存、网络以及磁盘。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。
CPU
虚拟机每个vCPU只运行在一个物理核心之上,因此CPU频率越高虚拟机的运行速度也就越高,vCPU数量越多有助于提升应用的性能表现。一个比较复杂的因素就是在ESXi服务器内,所有的虚拟机共享使用物理CPU。ESXi服务器的核心数越多,每个vCPU获得的核心份额也就越大,因此多核心的性能表现要强于核心频率高但数量少的情况。
如果虚拟机需要占用大量的CPU时间,那么可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上vCPU并不一定让应用运行的更快,因为只有多线程应用才能有效地使用多个vCPU。
RAM
ESXi服务器内RAM资源通常有限,因此在给虚拟机分配RAM时需要格外小心。VMkernel在处理RAM时非常巧妙;允许虚拟机使用ESXi服务器所有的物理内存而且会尽量避免占用物理内存却没有真正使用的情况。
物理内存被完全用完后,VMkernel必须确定哪些虚拟机能够保留物理内存,哪些虚拟机要释放物理内存。这称之为“内存回收”。当虚拟机占用的物理内存被回收后,存在的一个风险就是会对虚拟机的性能造成影响。虚拟机被回收的内存越多,相应的风险也就越大。
最明智的是只为虚拟机分配完成工作所需要的内存。分配额外的内存将会增加回收风险。另一方面,当虚拟机操作系统将未被使用的内存用作磁盘缓存时,将会显著降低对磁盘系统的性能要求,所以这里有一个折衷问题。
对于数据库服务器以及VDI桌面来说,为虚拟机分配更多的内存往往更划算—在一台ESXi服务器上运行更少的虚拟机—而不是购买高性能的磁盘阵列。关键在于针对虚拟机的负载分配足够多内存而且没有浪费。
网络带宽
网络带宽包括两个方面:一是虚拟机和虚拟交换机之间的带宽,二是虚拟交换机与外部网络之间的带宽。如果希望虚拟机获得最大带宽那么应该使用VMXNET3网络适配器,VMXNET3在最小的CPU开销下提供了最好的吞吐量。如果情况允许,所有的虚拟机都应该使用VMXNET3网络适配器。
对于与外部物理网络的连接,一定要确保ESXi主机具备速度最快的物理网卡;10Gb是一个不错的选择,即使物理网卡的数量很少,但10Gb能够允许虚拟机承受突发的网络流量。
请记住,进行大量网络传输的虚拟机,虚拟机以及数据包的传输都会消耗CPU时间。因此,运行在CPU受限的ESXi服务器之上的虚拟机由于CPU无法快速响应请求可能会面临网络吞吐量不高的情况。
磁盘性能
磁盘性能往往是无声的性能杀手。虚拟机磁盘性能受阵列磁盘数量、类型以及运行在其上的虚拟机的数量的限制。因为集中地共享存储架构将导致通过同一位置访问所有的虚拟机磁盘,阵列的存储控制器以及磁盘过载情况很容易出现,只剩下虚拟机在等待存储的响应。
虚拟机等待磁盘IO、虚拟机CPU空闲对性能的影响有很大不同。等待IO的虚拟机无法做其他工作,因此高I/O等待时间意味着性能肯定会下降。进行周密的存储设计以避免上述情况的发生至关重要。[3]
合理选择磁盘 提升虚拟机性能
在虚拟化中,hypervisor将工作负载从运行在底层的物理硬件中抽象出来,允许快速分配并共享计算资源,迁移工作负载。尽管hypervisor以及与虚拟化兼容的处理器性能开销很小,但是虚拟化层的存在却对性能有影响。
当磁盘性能对工作负载至关重要时,某些管理员可能会选择以直通模式配置LUN,允许虚拟机的操作系统绕过hypervisor与直接LUN进行通信。例如,Windows服务器虚拟机可能使用直通模式绕过Hyper-V直接访问磁盘,这对SQL Server数据库的性能有些许提升。然而,由于客户操作系统(采用直通模式)以及hypervisor试图同时访问磁盘,那么hypervisor必须被配置为忽略直通LUN。
直通模式存在的问题是其不被某些重要的虚拟化功能比如虚拟机快照或者集群所支持。因此,虚拟机在实际上可能会受益于虚拟化提供的各种功能特性而非采用直通模式所带来的处于边缘地位的性能提升。管理员需要评估虚拟机的需求并确定直通模式的适宜性。
除直通模式外,Hyper-V以及其他hypervisor还提供了其他磁盘存储选项。例如,当.VHD文件被创建时,大小固定的磁盘将分配所有的数据块。一旦被创建,大小固定的磁盘就不能够进行调整了。然而,动态扩展磁盘从一开始创建的就是没有数据块的.VHD文件,当数据写入到.VHD文件中后磁盘空间才会被分配出去。这和精简配置类似,尽管在逻辑上创建了一块磁盘,但实际的磁盘空间只有数据写入时才会被用到。
差分磁盘是一种特殊的动态扩展磁盘类型。其设计思路是父磁盘拥有固定的镜像而且差分磁盘与父磁盘相关联,因此写入到磁盘的数据被存放在差分磁盘而非.VHD文件中。读请求首先检查差分磁盘的.VHD文件,如果没有更改,就会读父.VHD文件。当需要标准化的磁盘镜像而且回滚功能很重要时,差分是一个不错的主意,但是管理员在维护父子磁盘配置时可能会面临挑战。