透明页共享的前世今生

日期:2016-11-28作者:Stuart Burns

【TechTarget中国原创】透明页共享会扫描主机上的所有虚拟机,识别相同的内存页。例如,如果你正在主机上运行Windows Server 2012的很多副本,那么该主机上很可能有很多重复的内存页,比如重复代码。这种重复是一种浪费,为解决该问题,透明页共享使用hypervisor定位同一主机上不同虚拟机所使用的重复内存块,然后只保留一份。剩下的重复内存块被指向该内存块的指针取代,然后释放出相应的内存资源。
虚拟机需要发现该内存块,并通过指针指向包含实际数据副本的内存块。底层的操作系统并不知道发生了什么,一切都借助VMware Tools实现。假设拥有很大规模的虚拟桌面基础设施资产—节省的内存空间可能相当可观。为启用透明页共享,需要在虚拟机上安装VMware Tools。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者>更多

Stuart Burns
Stuart Burns

特约撰稿人

使用VMware监控和性能工具>更多

  • 如何使用SIOC存储策略优化负载性能?

    当虚拟机需求超过存储I/O的极限时,就会对位于同一台主机的虚拟机造成存储方面的影响,进而导致存储延迟,反过来影响其他虚拟机的性能表现。

  • vSphere 6.5存储I/O控制有哪些改进?

    存储IOPS争用将会是工作负载性能交易的破坏者。使用VMware存储 I/O控制,管理员可以将存储分配给虚拟机,以免他们竞争资源造成IOPS瓶颈。

  • 整合vRealize Log Insight和NSX实现集中式日志管理

    集中式日志系统在任何环境都能够发挥重要作用,而对于VMware NSX和其众多分布式组件来说,其更是不可或缺的。

  • 透明页共享的前世今生

    透明页共享会扫描主机上的所有虚拟机,识别相同的内存页。例如,如果你正在主机上运行Windows Server 2012的很多副本,那么该主机上很可能有很多重复的内存页,比如重复代码。

相关推荐

技术手册>更多

  • 虚拟机资源配置指南

    本期《虚拟机资源配置指南》技术手册旨在帮助IT管理员找准虚拟机资源合理分配的界线,并通过正确实施、配置安全性,避免虚拟机蔓延等多方面技巧,最终在充分保证虚拟机性能优化的同时,合理控制运营成本。

  • 超融合产品EVO:RAIL使用指南

    VMware已经建立了一个合作伙伴列表,该列表中的厂商将提供EVO:RAIL的硬件部分。尽管底层的技术相同,但HP、Dell以及合作伙伴列表上的其他厂商提供的产品还是有一些差异。

  • VMware NSX部署指南

    在VMworld 2013上,VMware发布了它的下一代网络虚拟化平台NSX,两年过去了,VMware NSX有了哪些变化?您是否已经部署VMware NSX?

  • vSphere高级技巧

    虽然vSphere 6要等到2015年初才会发布,但是大家对它的热情不减。相信很多企业都已经在使用vSphere,本期技术手册分享一些关于vSphere的高级技巧,例如如何重新设计vSphere让其发挥最大潜力。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 网络
  • 服务器
  • 数据中心
【TechTarget中国原创】

透明页共享是VMware提供的一种功能,管理员借助该功能能够更高效地管理主机的内存。

透明页共享会扫描主机上的所有虚拟机,识别相同的内存页。例如,如果你正在主机上运行Windows Server 2012的很多副本,那么该主机上很可能有很多重复的内存页,比如重复代码。这种重复是一种浪费,为解决该问题,透明页共享使用hypervisor定位同一主机上不同虚拟机所使用的重复内存块,然后只保留一份。剩下的重复内存块被指向该内存块的指针取代,然后释放出相应的内存资源。

虚拟机需要发现该内存块,并通过指针指向包含实际数据副本的内存块。底层的操作系统并不知道发生了什么,一切都借助VMware Tools实现。假设拥有很大规模的虚拟桌面基础设施资产—节省的内存空间可能相当可观。为启用透明页共享,需要在虚拟机上安装VMware Tools。

透明页共享被禁用

这种管理内存的方式很不错,直到在vSphere 5.5 update 2中,VMware决定关闭透明页共享,原因是一些学者利用透明页共享获取了同一主机上其他虚拟机的加密密钥。在实际应用中,这应该不是问题。

VMware公司对此稍微有些谨慎,出于对安全第一的想法,VMware非常高效地采用技术手段关闭了透明页共享功能。

透明页共享功能仍旧存在,但加入了新的限制—透明页共享功能仅用于共享同样salting值的特定虚拟机。通过限制透明页共享仅用于共享同样salting值的特定虚拟机,VMware大大限制了透明页共享特性的应用。

恢复透明页共享

幸运的是,我们可以重新启用透明页共享。过程有些繁琐,因为你需要在高级设置中重新配置每台主机,但这一切都是值得的。

首先,如图1所示,在vSphere Client中打开虚拟主机,选择配置选项卡。

透明页共享的前世今生

图1.在VMware ESxi 6.0.0 选择配置选项卡

如图2所示,接下来,在高级菜单下通过选择菜单选项修改salting值。选择“Mem.ShareForceSalting”条目然后设置为0。新主机默认被设置为2,意味着启用了salting。

首先,如图1所示,在vSphere Client中打开虚拟主机,选择配置选项卡。

图2.修改salting值

修改salting值后,保存更改并重启主机。重启完成后,再次检查已经保留的设置。

为使恢复透明页共享功能变得更容易,我创建了一个非常简单的脚本,获取主机名以及整个vCenter的Mem.ShareForceSalting值。为使用该脚本,必须先登录到vCenter,并使用vCenter的IP或DNS替换vc_fqdn。

请注意Get-AdvancedSetting参数不能换行,否则会报错。

Connect-VIServer vc_fqdn

$hostlist = Get-vmHost

foreach ($hostserver in $hostlist) {

 Get-AdvancedSetting -Entity $hostserver -Name mem.shareForceSalting | select Entity, Value

 }

首先,如图1所示,在vSphere Client中打开虚拟主机,选择配置选项卡。

图3.获取主机名及其salting值的脚本

你可以通过修改图3中的脚本更新每台主机的salting值,但使用Get-AdvancedSetting命令获取salting值要比使用Set-AdvancedSetting命令更新参数要更容易,也更安全。

VMware禁用了透明页共享以确保这一非常模糊、小众的安全风险不会被暴露出来。然而,该安全风险并不会影响大多数用户。重新启用透明页共享的优势大于风险,尤其是在虚拟机密度非常高的VDI环境中更是如此。