教您过量配置内存的同时规避风险

    作者:课课家教育更新于: 2017-07-05 17:43:50

      欢迎各位阅读本篇文章,虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,他可以在计算机平台和终端用户之间创建一种环境。本篇文章讲述了教您过量配置内存的同时规避风险,课课家教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦!

    教您过量配置内存的同时规避风险_Vmware_分配虚拟机_操作系统_课课家教育

      允许虚拟机共享资源的内存管理技术十分常见,但是管理员应该遵循下面的策略和方法以降低风险。

      随着CPU内核数量不断增加,其计算能力也在逐渐增强,内存逐渐成为虚拟机的性能瓶颈。内存速度并非停滞不前,相反地,其速度和密度都实现了快速提升,但是价格也随之不断增长。不幸的是,对于管理员来说,现代操作系统和应用程序对于内存的需求也在同步增加。

      明智的管理员可以使用内存过量分配(overcommitment)技术抵消部分成本并且扩展可用资源,但是如果错误地使用这项技术,可能会对虚拟机的性能表现造成影响。

      过量分配内存所面临的挑战

      如何使用虚拟机内存是一项特殊的挑战,因为它涉及多个不同层级的内存管理。首先我们来看一下物理内存的使用方式,对于每台虚拟机来说,hypervisor都将会为其分配一部分或者所有它所需要的内存。分配的数量通常由是否使用内存预留或者共享技术所决定。除了物理内存之外,hypervisor通常会创建一个与之匹配的磁盘交换文件(swap file),它可以在主机物理内存不足的时候发挥作用。这种机制非常类似于传统操作系统使用交换文件或者页面文件的方式。这样就能够实现分层的效果,客户端操作系统可以使用hypervisor为其分配的“物理内存”或者自己的交换空间,但是根据hypervisor使用物理内存的方式不同,虚拟机所使用的“物理内存”有可能是真正的物理内存,还有可能是hypervisor的交换文件。

      使用这种内存分层机制面临着很大挑战。管理员必须负责不同层级之间的内存过量分配情况,并且这些层级并不能感知到对方的存在。

      透明页共享问题

      现在我们已经了解了内存的分层机制,但是还需要解决Vmware出于安全因素考虑所做出的变化,这些变化会对内存过量分配造成影响。出于安全考虑,VMware默认禁用了透明页共享(transparent page sharing)技术。如果多台虚拟机拥有相同的内存空间,那么透明页共享技术允许这些虚拟机共享内存当中的单个页面。这种方式虽然能够大大提升所节省的内存数量,但是也带来了安全隐患,因为虚拟机不再是完全独立的。尽管现在仍然能够使用透明内存页共享技术,但是必须手动启用,我们无法预知这种技术是否还会出现在未来的版本当中。

      禁用了这项配置之后,就能够更加轻松地理解虚拟机过量分配机制了。现在的关注重点在于内存何时开始被交换到硬盘当中。管理员在使用内存过量分配技术的过程当中拥有很大程度上的灵活性,并非所有的虚拟机都是相同的。当我们使用过量分配技术时,将生产环境当中的虚拟机和用于测试以及开发的虚拟机放置在同一台hypervisor当中能够带来很多好处。如果出现内存抢夺的情况,通过使用内存预留和限制机制,管理员可以配置非关键虚拟机使用磁盘页面文件(paging file), 而不是物理内存。这是一种理想方式,允许管理员在保证核心系统正常运行的同时不影响其他系统,尽管优先级较低的虚拟机其性能表现也会更差。需要记住的另外一点是强制磁盘交换,对于测试虚拟机来说将会增加存储流量,这样可能会对其他虚拟机造成影响。

      对于有能力添加本地磁盘的管理员来说,另外一种方式是使用固态磁盘来存储虚拟机的页面文件。这种方式保证管理员在过量分配内存的过程当中不必担心性能问题。不幸的是,这种方式意味着管理员不能够再使用迁移或者vMotion技术,因为它要求交换文件位于主机的物理硬件当中。

      干货:

      磁盘性能

      磁盘性能往往是无声的性能杀手。虚拟机磁盘性能受阵列磁盘数量、类型以及运行在其上的虚拟机的数量的限制。因为集中地共享存储架构将导致通过同一位置访问所有的虚拟机磁盘,阵列的存储控制器以及磁盘过载情况很容易出现,只剩下虚拟机在等待存储的响应。

      虚拟机等待磁盘IO、虚拟机CPU空闲对性能的影响有很大不同。等待IO的虚拟机无法做其他工作,因此高I/O等待时间意味着性能肯定会下降。进行周密的存储设计以避免上述情况的发生至关重要。

      合理选择磁盘 提升虚拟机性能

    在虚拟化中,hypervisor将工作负载从运行在底层的物理硬件中抽象出来

      在虚拟化中,hypervisor将工作负载从运行在底层的物理硬件中抽象出来,允许快速分配并共享计算资源,迁移工作负载。尽管hypervisor以及与虚拟化兼容的处理器性能开销很小,但是虚拟化层的存在却对性能有影响。

      当磁盘性能对工作负载至关重要时,某些管理员可能会选择以直通模式配置LUN,允许虚拟机的操作系统绕过hypervisor与直接LUN进行通信。例如,Windows服务器虚拟机可能使用直通模式绕过Hyper-V直接访问磁盘,这对SQL Server数据库的性能有些许提升。然而,由于客户操作系统(采用直通模式)以及hypervisor试图同时访问磁盘,那么hypervisor必须被配置为忽略直通LUN。

      直通模式存在的问题是其不被某些重要的虚拟化功能比如虚拟机快照或者集群所支持。因此,虚拟机在实际上可能会受益于虚拟化提供的各种功能特性而非采用直通模式所带来的处于边缘地位的性能提升。管理员需要评估虚拟机的需求并确定直通模式的适宜性。

      除直通模式外,Hyper-V以及其他hypervisor还提供了其他磁盘存储选项。例如,当.VHD文件被创建时,大小固定的磁盘将分配所有的数据块。一旦被创建,大小固定的磁盘就不能够进行调整了。然而,动态扩展磁盘从一开始创建的就是没有数据块的.VHD文件,当数据写入到.VHD文件中后磁盘空间才会被分配出去。这和精简配置类似,尽管在逻辑上创建了一块磁盘,但实际的磁盘空间只有数据写入时才会被用到。

      差分磁盘是一种特殊的动态扩展磁盘类型。其设计思路是父磁盘拥有固定的镜像而且差分磁盘与父磁盘相关联,因此写入到磁盘的数据被存放在差分磁盘而非.VHD文件中。读请求首先检查差分磁盘的.VHD文件,如果没有更改,就会读父.VHD文件。当需要标准化的磁盘镜像而且回滚功能很重要时,差分是一个不错的主意,但是管理员在维护父子磁盘配置时可能会面临挑战。

    差分磁盘是一种特殊的动态扩展磁盘类型。

      小结:在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现。其实大家私下还得多多自学,当然如果大家还想了解更多方面的详细内容的话呢,不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!

课课家教育

未登录

1