Azure. VM...’S及其临时存储

在Azure中部署的每个虚拟机都会自动获取操作系统磁盘和临时(虚拟硬)磁盘。由于临时磁盘被标记为D:\ Drive默认情况下,它会导致错误的目的时会导致一些混淆或问题。但是什么是正确的目的?让我开始分享一些背景信息,为什么需要拥有这个临时磁盘以及如何充分利用它。

临时存储

在Azure中,每一个VM - 无论Linux或Windows - 如果是自动分配的临时磁盘。此临时磁盘位于物理服务器(虚拟机管理程序)上,其中Azure VM托管并且是非持久性的。操作系统或附加添加数据磁盘使用的磁盘是持久磁盘并存储在Azure存储中。

由于维护,硬件故障或其他原因,Azure VM-S可以随时从当前主机到新主机移动到新主机。在这样的事件中,来自临时存储的数据不会被保留或移动到新主机。除了硬件故障外,临时磁盘还有许多其他原因将丢失:

  • 调整VM的大小
  • 重新启动VM
  • 从一个主机移动到另一个主体
  • 更新/升级主机

实际上,临时磁盘永远不应用于必须持久的数据。为避免错误配置,磁盘还具有驱动标签“Temporary Storage”并包含文本文件“dataLoss_warning_readme.txt.xt.”。它无法更加明显 - €|

Azure. VM...’S及其临时存储

对于Windows Server,临时磁盘已安装为D:\。基于Linux的VM-€™已将临时磁盘安装为“/dev/sdb1”。当然,相同的原则适用,您的风险丢失数据在存储此磁盘上存储数据时会恢复。

临时磁盘的大小根据虚拟机的大小(以及它的可用物理内存)而异。有关更多信息,请参阅 Windows虚拟机的大小。寻找列“临时存储(SSD)GIB”了解临时磁盘的大大。很高兴,每个Azure VM提供的临时存储没有额外的成本。

内存扩展和PageFile.sys

作为临时磁盘可以’要用来存储任何持久数据,为什么要关心?让’■更进一步,看看页面文件。 Windows内存管理基于虚拟内存,其中每个进程都有自己的私有虚拟地址空间。如果操作系统在内存上运行较低,则它将将最少使用的存储页从物理内存移动到页面文件(PAPFILE.SYS)。这确保了该过程仍然可以访问资源。这个过程称为“paging”。页面文件的主要目的是以下内容:

  • 延长物理内存;
  • 在系统崩溃的情况下存储信息。

在过去,Sysadmins喜欢调整此页面的大小和位置。但是,在使用现代操作系统时,那些旧的拇指(例如,页面文件大小等于物理内存* 1.5)。由于Windows Server 2012 Microsoft推荐是离开选项系统管理的。除非建议对特定应用程序建议不同,否则这仍然是一个有效的建议练习。你可以找到一些进一步的阅读 Microsoft KB 2860880..

很高兴知道,新创建的VM’s已有已配置为位于此临时磁盘上的PageFile.sys。

PageFile.sys for Azure VM’s

将其放入Azure的上下文 - 默认情况下使用临时磁盘(D:\)来存储PageFile.sys。由于应用程序经常安装在D:\ Driver上,这可能会导致一些问题,更改公司策略可能不是第一个(或最舒适)的选择。要将临时磁盘重新映射到其他驱动器号,请按照本文中的说明进行操作 更改Windows临时磁盘的驱动器号.

由于大多数部署这些天是使用ARM模板执行的,这将是扩展脚本在部署期间移动临时磁盘的良好机会。有一个 GitHub项目(MoveAzureteMpdrive) 这是一个很棒的起点。您只需要使用vmname和所需的tempdrivepter修改azurede.cnson文件。要使用vmname和所需的tempdrive。

那里’还有一件事…

临时存储驱动器是非持久的存储,您应该在此驱动器上存储任何数据。但是,我们总是有这个例外。 SQL Server。使用SQL Server时,您可以在存储时获得I / O吞吐量的显着改进 临时磁盘上的tempdb - 只有TempdB,没有用户数据库或事务日志文件。

对于使用D系列,DV2系列和G系列VM的SQL Server,临时磁盘是基于SSD的。如果工作量大量使用tempdb,请将此文件存储在D:\驱动器上可能导致较高的吞吐量和更低的延迟。对于支持高级存储的VM(DS系列,DSV2系列和GS系列),建议在支持高级存储的磁盘上存储TEMPDB,并启用读取缓存。

标签

相关文章

11 thoughts on “Azure VM’S及其临时存储”

  1. 米歇尔,谢谢,这是一个很好的解释。现在…你能做一篇关于天蓝调的文章吗?’S Convoluted定价计划? ðÿ™,

    回复
  2. 优秀的文章。

    我有一个问题,是否有可能在临时存储中恢复丢失的数据?创建票证,我本周丢失了有价值的数据,当我从VM A0到A1执行尺寸重新配置时。

    谢谢!

    塞尔吉奥

    回复
  3. 我的VM被用作Web服务器。我想在此驱动器上放置IIS临时缓存和ASP编译的模板。但是文件夹结构也被擦除了。是否有可能脚本创建系统启动时的文件夹?并确保为您列出的所有方案都存在这些文件夹,导致此驱动器上的数据才能擦除?

    回复
    • 脚本这将是’是一个问题,但我会确保在脚本失败的情况下添加一些检查。也许检查您是否使用此存储器获得此类性能福利,请执行一些测试以比较和留在“supported scenario”永远是我的偏好。

      回复
  4. 您是否建议使用大小e16s v3虚拟机上的tempdb临时存储?

    I’M在SQL Server日志中获得了很多这些消息:
    “SQL Server遇到X发生的I / O请求需要更长的时间,然后才能完成15秒” <—tempdb + dempdev文件。

    回复
  5. 在小天空机器上使用默认系统托管页面是否真的很明智?

    最近刚刚出现了不足的PageFile的问题。它是在临时存储D:驱动器上的系统管理,这是糟糕的15GB。结合1/8的驱动尺寸的硬限制,这导致仅为1.8GB的Swapfile。

    应该更好地手动将其设置为适当的大小。

    回复
  6. 季节OS磁盘是否使用相同的临时驱动器或者使用仅在某些VM上可用的单独驱动器’支持短暂的操作系统磁盘?

    我问的原因是因为我正在使用与短暂的OS磁盘的WVD,但我还有一个完整的仪式驱动器,导致我相信它们不一样。

    回复
  7. D-Drive上的SQLSERVER中的TEMPDB几乎是最佳练习这些天。但是当我读取此磁盘上的数据后,在维护事件之后就会消失(并不总是导致VM重启!),我担心。当通过例如实时迁移或调整大小操作移动VM时,可以清空磁盘。这将导致SQL Server中的主要问题。如何在提到SQL Server是使用Temp驱动器的一个例外时,它是如何阻止的?!

    回复

发表评论

本网站使用AkisMet减少垃圾邮件。 了解如何处理评论数据.