解决了

VM是在HDD还是SSD上?

  • 2021年8月18日
  • 3回复
  • 149的浏览量

嗨,伙计们,

我有一些SQL服务器运行在Nutanix没有使用' Flash '模式。我正面临这些SQL server虚拟机上的vmdisk磁盘延迟警报。有什么方法可以识别虚拟机磁盘是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 Metrics,向下滚动查看Read Source。

Userlevel 3
徽章 + 10

@mikkisse是正确的。

访问VM并查看I/O指标将为您提供大量有关磁盘上读/写分布的信息,以及写的类型。如果没有提供长期的I/O指标,但如果您看到了警报,您可以观看这篇文章并了解发生了什么。

当我们在混合集群的AHV和ESX集群上运行大量MS-SQL服务器时,很少有建议。

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

谢谢你!mikkisseddubuque,我非常感谢你的回复和提供的细节。我来检查一下。

Baidu