In this episode, Sean Donahue is joined by Al Solorzano of E360 to discuss the worst disasters they've recovered from. Surprise twist, not all clouds are cumulonimbus and not all disasters are natural.<\/p><\/oembed>

Resources<\/p>

问题

VMware SQL 2016访客群集的磁盘布局

  • 2019年3月4日
  • 4个答复
  • 1932年的观点

  • 旅行者
  • 2个答复
大家好



我正在尝试为VMware MS SQL 2016 2节点访客故障转移群集建立最佳磁盘布局,该群集将拥有一个单个SQL实例,该实例托管了多个中小型数据库。



不幸的是,我们实际上没有资金用于执行推荐的方法来创建许多小型VM来托管这些数据库,因此我们需要在可能的情况下合并。



我一直在阅读Nutanix SQL 2016最佳实践指南,并提出了一些问题。



我决定专门为数据库文件分配多个VDISKS,因此我将每个VDISK的数据库文件提供一些数据库文件,而不是一个带有所有数据库文件的VDisk。

我假设这种方法可能会更好,因为每个VDISK都有6GB OPLOG分配,因此更多的VDISK会阻止单个OPLOG快速填充?



这里有什么真正的好处可以有更多的vDisk来传播数据库,或者只有当您将单个数据库文件跨磁盘拆分时才真正发挥作用?



我知道将日志文件吐放到多个文件中不值得,但是为数据库日志文件分配更多驱动器是否有任何好处?



谢谢

该主题已关闭以供评论

4个答复

UserLevel 3
徽章 +10
在这里求婚。


  1. 您打算如何聚类?每个Microsoft的NFS不支持故障转移群集。除非我读了你说错了什么。(两个节点nutanix群集上的单个VM?)
  2. 多少数据库以及它们会忙碌?

我的DBA是最好的Microsoft MVP中最好的DBA之一,因此我们得到了他(Brad McGehee)和Nutanix工程师的一些很好的建议。

他建议使用64K分配格式和数据库分开磁盘。对于日志和临时,分离几乎没有好处。

它不仅仅是大小,而是存储读取/写入,可以确定数据库是否需要其自己的VMDK。大多数读取的大多数情况,只有较小的DB,您可以在RAM中缓存大部分,而且很好。但是,DB和忙碌的越多,您将越好。因此,计划这样做的钱是正确的。



AHV对此将是最佳选择,因为您现在可以在Windows上利用AHVTURBO,但是无论您的数据库都有多个VMDK,这意味着每个VMDK的专用存储流。不过,如果您看到更多的存储空间IO可用性导致的CPU增加,请不要感到惊讶。确保您在NIC上启用了RSS,因此您不会压倒CPU,并且在CPU上的交通平衡均匀。如果您将所有DB都放在单个VMDK上,那么他们互相争夺,您会看到读取的潜伏期增加。尤其是如果您的群集是混合动力,如果您的大多数数据不太忙或被读取或写入HDD,则大多数数据都将属于HDD。



为了使您的工作负载更加剧烈,您甚至可以查看将VMDK固定到棱镜元素内部的SSD。考虑到您的SSD尺寸,因为您不希望它与OPLOG存储竞争。



与往常一样,如果您想验证其中的任何一个并获得设计帮助,就可以参与支持。
UserLevel 3
徽章 +5
你好 @alpm



在多个VDisk中将数据磁盘拆分的主要原因之一就是避免OPLOG未填充。对于日志文件,在多个vDisks中传播将无法提供好处,因为日志是顺序编写的,并且该类型的工作负载将绕过OPLOG。



以下是一些参考:

请记住,与数据库文件不同,SQL Server日志文件是按顺序或“填充和溢出”方式访问或写入的。因此,将tempDB日志文件传播到几个VMDK上是没有优势的,并且仅使解决方案比必要的更复杂。由于对日志磁盘的争论相当罕见,因此Nutanix建议每个数据库单个日志文件,除非您有更有说服力的原因。


资料来源:https://portal.nutanix.com/#/page/solutions/details?targetId=bp-2015-microsoft-sql-sql-server:top_sql_server_server_log_files.html



OPLOG类似于文件系统期刊,是作为分阶段构建的,用于处理随机写入,合并它们的爆发,然后顺序排列数据到范围存储。写入后,在为数据可用性目的确认写入之前,将OPLOG同步复制到CVM OPLOG的其他N数量。所有CVM OPLOGS都参与复制,并根据负载动态选择。OPLOG存储在CVM上的SSD层上,以提供非常快的写入I/O性能,尤其是对于随机的I/O工作负载。所有SSD设备都参与并处理OPLOG存储的一部分。对于顺序工作负载,OPLOG被绕过,并且写入直接进入范围存储。如果数据当前坐在OPLOG中并且尚未排干,则所有读取请求将直接从OPLOG中符合,直到排干,然后在此处以商店/Unified Cache的范围服务。对于已启用了指纹(又名DEDUPE)的容器,所有写入I/OS都将使用哈希方案进行指纹打印,从而允许它们根据统一缓存中的指纹重复重复。


资料来源:https://nutanixbible.com/

在这里求婚。

  1. 您打算如何聚类?每个Microsoft的NFS不支持故障转移群集。除非我读了你说错了什么。(两个节点nutanix群集上的单个VM?)
  2. 多少数据库以及它们会忙碌?

我的DBA是最好的Microsoft MVP中最好的DBA之一,因此我们得到了他(Brad McGehee)和Nutanix工程师的一些很好的建议。
他建议使用64K分配格式和数据库分开磁盘。对于日志和临时,分离几乎没有好处。
它不仅仅是大小,而是存储读取/写入,可以确定数据库是否需要其自己的VMDK。大多数读取的大多数情况,只有较小的DB,您可以在RAM中缓存大部分,而且很好。但是,DB和忙碌的越多,您将越好。因此,计划这样做的钱是正确的。

AHV对此将是最佳选择,因为您现在可以在Windows上利用AHVTURBO,但是无论您的数据库都有多个VMDK,这意味着每个VMDK的专用存储流。不过,如果您看到更多的存储空间IO可用性导致的CPU增加,请不要感到惊讶。确保您在NIC上启用了RSS,因此您不会压倒CPU,并且在CPU上的交通平衡均匀。如果您将所有DB都放在单个VMDK上,那么他们互相争夺,您会看到读取的潜伏期增加。尤其是如果您的群集是混合动力,如果您的大多数数据不太忙或被读取或写入HDD,则大多数数据都将属于HDD。

为了使您的工作负载更加剧烈,您甚至可以查看将VMDK固定到棱镜元素内部的SSD。考虑到您的SSD尺寸,因为您不希望它与OPLOG存储竞争。

与往常一样,如果您想验证其中的任何一个并获得设计帮助,就可以参与支持。


嗨,谢谢!

我们基本上在访客ISCSI中使用(从VM连接到Nutanix群集ISCSI数据服务IP),并将Nutanix卷组用于共享磁盘 - 据我所知,这是支持的,这是唯一的方法。我们正在运行ESXI。

目前,大约有15个数据库,我会说相对忙碌。我们将从仅具有本地磁盘的各种现有物理服务器中移动其中的许多。
不幸的是,我们不会去AHV,无论如何都不是 - 我们只是只使用ESXI安装了这个新环境

我认为我认为通常的基础知识:
格式在64K处驾驶
锁定记忆中的页面
在可能的情况下为DBS授予DBS,并适当设置自动增长设置
等等

我很想知道是否有任何ISCSI队列深度限制值得关注,因为我知道,使用普通VM SCSI控制器时的首选选项是由于性能良好而使用Para虚拟控制器。您知道这里有任何调整吗?

干杯

你好 @alpm



在多个VDisk中将数据磁盘拆分的主要原因之一就是避免OPLOG未填充。对于日志文件,在多个vDisks中传播将无法提供好处,因为日志是顺序编写的,并且该类型的工作负载将绕过OPLOG。



以下是一些参考:



请记住,与数据库文件不同,SQL Server日志文件是按顺序或“填充和溢出”方式访问或写入的。因此,将tempDB日志文件传播到几个VMDK上是没有优势的,并且仅使解决方案比必要的更复杂。由于对日志磁盘的争论相当罕见,因此Nutanix建议每个数据库单个日志文件,除非您有更有说服力的原因。
资料来源:https://portal.nutanix.com/#/page/solutions/details?targetId=bp-2015-microsoft-sql-sql-server:top_sql_server_server_log_files.html





OPLOG类似于文件系统期刊,是作为分阶段构建的,用于处理随机写入,合并它们的爆发,然后顺序排列数据到范围存储。写入后,在为数据可用性目的确认写入之前,将OPLOG同步复制到CVM OPLOG的其他N数量。所有CVM OPLOGS都参与复制,并根据负载动态选择。OPLOG存储在CVM上的SSD层上,以提供非常快的写入I/O性能,尤其是对于随机的I/O工作负载。所有SSD设备都参与并处理OPLOG存储的一部分。对于顺序工作负载,OPLOG被绕过,并且写入直接进入范围存储。如果数据当前坐在OPLOG中并且尚未排干,则所有读取请求将直接从OPLOG中符合,直到排干,然后在此处以商店/Unified Cache的范围服务。对于已启用了指纹(又名DEDUPE)的容器,所有写入I/OS都将使用哈希方案进行指纹打印,从而允许它们根据统一缓存中的指纹重复重复。
资料来源:https://nutanixbible.com/




多谢。



看来我在正确的道路上。



除了填充OPLOG外,还有其他好处可以为数据库文件提供更多的驱动器吗?

我怀疑我们会跨磁盘溢出任何数据库文件,因为大多数数据库都很小。我只是想在磁盘上均匀地传播数据库,因此每个VDisk上可能有2或3个DB。



nutanix建议每个数据库都有一个日志文件,除非您有更多的理由

我明白分裂跨磁盘的日志文件没有性能好处,因此我们不会这样做,但是我们将为每个数据库都有一个日志文件,因此所有日志文件都将仅在一个磁盘上托管。



干杯
Learn more about our cookies.<\/a>","cookiepolicy.button":"Accept cookies","cookiepolicy.button.deny":"Deny all","cookiepolicy.link":"Cookie settings","cookiepolicy.modal.title":"Cookie settings","cookiepolicy.modal.content":"We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.<\/a>","cookiepolicy.modal.level1":"Basic
Functional","cookiepolicy.modal.level2":"Normal
Functional + analytics","cookiepolicy.modal.level3":"Complete
Functional + analytics + social media + embedded videos"}}}">
Baidu