解决了

VM在HDD或SSD上?

  • 2021年8月18日
  • 3个答复
  • 164意见

嗨伙计,

我有一些在Nutanix上运行的SQL服务器,而无需使用“闪存”模式。我正在面对磁盘延迟警报,以了解这些SQL Server VM上的VMDisks。有什么方法可以识别VM磁盘是否在HDD或SSD上?

图标

最好的答案ddubuque2021年8月18日,15:56

@mikkisse<\/user-mention>\u00a0is correct.<\/p>

Going to the VM and looking at the I\/O metrics will give you a lot of information pertaining to Read\/Write distribution on disk, as well as the type of writes.\u00a0 If doesn\u2019t give long term I\/O metrics, but if you\u2019re seeing alerts, you can watch this and get an idea of what\u2019s going on.<\/p>

\u00a0<\/p>

\"//www.jhbzcj.com/next/server-virtualization-27/\"<\/figure>

\u00a0<\/p>

Few recommendations as we run numerous MS-SQL servers on AHV and ESX clusters on hybrid clusters.<\/p>

  1. Take advantage of AHV Turbo.\u00a0 This helps greatly when you\u2019re on a hybrid cluster especially.\u00a0\t
    1. When you have busy databases that require high I\/O, make sure they exist on separate virtual disks.\u00a0 Doing so on AHV will allow for better CPU consumption and more efficient storage operations.\u00a0\u00a0
      The Wait is Over: AHV Turbo is Here! | Nutanix Community<\/a><\/li>\t<\/ol><\/li>\t
    2. Make sure you have good indexing jobs.\u00a0 Not having proper indexes can hurt application performance.
      SQL Server Index Architecture and Design Guide - SQL Server | Microsoft Docs<\/a><\/li>\t
    3. Make sure that your disks have the correct Allocations.\u00a0 Most SQL servers need to have their virtual disk formatted to 64k allocation as the majority of reads are between 64-512k.\u00a0 Having too small or too large of storage chunks written or read at a time can have an adverse effect of storage I\/O<\/li>\t
    4. If you\u2019re using ESX (VMWare) ensure that Receive Side Scaling is enabled on the network interface.\u00a0 This will ensure that network traffic coming in and being written is balanced across you vCPU.\u00a0 Otherwise if you have multiple cores, it may focus writes directly with a single core and lead to constraints.\u00a0 This is actually a lot more common of an issue than folks realize.\u00a0 This should always be enabled if you have 2vCPU or more for any Windows system.<\/li>\t
    5. Ensure that you\u2019ve provisioned enough RAM to SQL. for example SQL server typically needs about 19% of your total SQL storage. So if you have 100 GB, you should really have 19GB of RAM dedicated to SQL.\u00a0 Make sure you leave about 4 or more GB of RAM for the operating system as well.
      \t\u00a0<\/li><\/ol>","className":"post__content__best_answer"}">
查看原件

该主题已关闭以供评论

3个答复

UserLevel 3
徽章 +1

你好!

您可以单击VM,选择I/O指标,向下滚动并查看阅读源。

UserLevel 3
徽章 +10

@mikkisse是正确的。

转到VM并查看I/O指标将为您提供许多与磁盘上的读/写入分布以及写入类型有关的信息。如果不提供长期的I/O指标,但是如果您看到警报,则可以观看此事并了解正在发生的事情。

在混合簇上的AHV和ESX簇上运行许多MS-SQL服务器时,很少有建议。

  1. 利用AHV涡轮增压。特别是当您使用混合动力群集时,这会非常有帮助。
    1. 当您拥有需要高I/O的繁忙数据库时,请确保它们存在于单独的虚拟磁盘上。在AHV上这样做将允许更好的CPU消耗和更有效的存储操作。
      等待结束了:AHV Turbo在这里!|Nutanix社区
  2. 确保您有良好的索引工作。没有适当的索引会损害应用程序性能。
    SQL Server索引体系结构和设计指南-SQL Server |微软文档
  3. 确保您的磁盘具有正确的分配。大多数SQL服务器都需要将其虚拟磁盘格式化为64K分配,因为大多数读取介于64-512k之间。一次写或阅读的存储块太小或太大会产生储存I/O的不利影响
  4. 如果您使用的是ESX(VMware),请确保在网络接口上启用接收侧缩放。这将确保网络流量进入和写入VCPU之间是平衡的。否则,如果您有多个内核,它可能会直接用单个核心写入并导致约束。实际上,这比人们意识到的要普遍得多。如果您对任何Windows系统具有2VCPU或更多,则应始终启用此功能。
  5. 确保您已经为SQL提供了足够的RAM。例如,SQL Server通常需要您总SQL存储的19%。因此,如果您有100 GB,则应该真正拥有19GB的RAM专用于SQL。确保您还为操作系统留下大约4个或更多GB的RAM。

谢谢Mikkisseddubuque,感谢您的回答和提供的细节。我会检查一下。

Baidu