Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列

今天,我们将向您介绍将 SQL Server 2019 与 Unity XT 存储系统结合使用的功能,并提供有关使用 VMware 技术虚拟化 SQL Server、设置和管理 Dell EMC 基础架构的基本组件的建议。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列
2017年,Dell EMC和VMware发布了关于SQL Server趋势和演变的调查结果——“SQL Server转型:迈向敏捷性和弹性”(SQL Server 转型:迈向敏捷性和弹性),其中使用了 SQL Server 专业协会 (PASS) 成员社区的经验。 结果表明,在不断增加的数据量和新业务需求的推动下,SQL Server 数据库环境的规模和复杂性都在不断增长。 SQL Server 数据库现已部署在许多公司中,为关键任务应用程序提供支持,并且通常是数字化转型的基础。 

自本次调查进行以来,微软发布了下一代DBMS——SQL Server 2019。除了改进关系引擎和数据存储的基本功能外,还出现了新的服务和功能。 例如,SQL Server 2019 支持使用 Apache Spark 和 Hadoop 分布式文件系统 (HDFS) 的大数据工作负载。

Dell EMC 与 Microsoft 结盟

Dell EMC 和 Microsoft 在开发 SQL Server 解决方案方面有着长期合作。 成功实施 Microsoft SQL Server 等综合数据库平台需要将软件功能与底层 IT 基础设施协调起来。 该基础设施包括处理器处理能力、内存资源、存储和网络服务。 Dell EMC 为各种类型的工作负载和应用程序提供 SQL Server 平台基础架构。

Dell EMC PowerEdge 服务器系列提供各种处理器和内存配置。 这些配置适用于各种工作负载:从小型企业应用程序到最大的关键任务系统,例如企业资源规划 (ERP)、数据仓库、高级分析、电子商务等。该存储系列专为存储非结构化和结构化数据。 

通过 Dell EMC 基础架构部署 SQL Server 2019 的客户可以使用 SQL Server 和 Apache Spark 处理结构化和非结构化数据。 SQL Server 还支持客户端访问、服务器到服务器以及服务器到存储通信技术的组合。 Dell EMC 的愿景基于提供开放生态系统的分类模型。 组织可以从各种行业标准网络应用程序、操作系统和硬件平台中进行选择。 这种方法使您能够最大限度地控制技术和架构,从而显着节省成本并提高灵活性。

VMware 虚拟化了 SQL Server 实现高性能和操作一致性所需的所有关键基础架构组件。 除了私有云之外,VMware 目前还提供跨私有云和公有云架构的工作负载混合模型。 

许多组织正在转向虚拟化来降低基础设施成本、提供高可用性并简化灾难恢复。 94% 接受调查的 SQL Server 专业人员表示他们的环境中存在一定程度的虚拟化。 70% 使用虚拟化的用户选择了 VMware。 60% 的 SQL Server 虚拟化水平达到 75% 或更高。 此外,调查结果强烈表明,在虚拟化层实现的高可用性和灾难恢复已成为决定虚拟化 SQL Server 数据库的重要因素。

SQL Server 2019 中的新功能

SQL Server 2019 数据库平台包括广泛的技术、功能和服务,支持分析、企业数据库、商业智能 (BI) 和可扩展事务处理 (OLTP) 等关键任务应用程序。 SQL Server 平台已获得管理数据集成、数据仓库、报告和高级分析、复制功能以及半结构化数据类型管理的功能。 当然,并非所有客户端或应用程序都需要所有这些功能。 此外,在许多情况下,最好使用虚拟化来分离 SQL Server 服务。 

如今,企业通常需要依赖来自各种不断增加的数据集的大量数据。 借助 SQL Server 2019,您可以从所有数据中获得近乎实时的见解。 SQL Server 2019 集群提供了处理大型数据集的全面环境,包括使用机器学习和人工智能功能。 SQL Server 2019 中的主要新功能和更新列于 微软文档.

Dell EMC Unity XT 中端存储系统

Dell EMC Unity 存储系列大约在三年前推出,自那时以来已售出 40 多套系统。 客户欣赏这款中档阵列的简单性、性能和成本效益。 Dell EMC Unity XT 中端平台是共享存储解决方案,可为 SQL Server 工作负载提供低延迟、高吞吐量和低管理开销。 所有 Unity XT 系统均使用双存储处理器 (SP) 架构来处理 I/O 和主动/主动数据操作。 Unity XT 双 SP 使用完整的内部 000Gbps SAS 连接和专有的多核架构,以实现高性能和高效率。 磁盘阵列允许您使用额外的架子来扩展存储容量。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列
Dell EMC Unity XT 是下一代阵列(混合和全闪存),可显着提高性能、提高效率,并为多云环境添加新功能和服务。 

Unity XT 架构允许您同时处理数据、减少数据量并支持复制等服务,而无需牺牲应用程序性能。 与上一代解决方案相比,Dell EMC Unity XT存储系统的性能提高了一倍,响应时间加快了75%。 当然,Dell EMC Unity 支持 NVMe 标准。

具有 NVMe 驱动器的存储系统在延迟敏感型应用程序中展示了其最佳性能。 例如,在海量数据库等应用中,NVMe 提供低延迟和高峰值数据速率。 减少延迟和增加并发性显着提高读/写性能。 据 IDC 预测,到 2021 年,具有 NVMe 和 NVMe-oF(NVMe over Fabric)连接的闪存阵列将占全球外部存储系统销售总收入的约一半,这并非巧合。 

数据压缩算法提高存储效率。 Dell EMC Unity XT 可以将数据量减少多达五倍。 另一个重要指标是系统的整体效率。 Dell EMC Unity XT 使用 85% 的系统容量。 压缩和重复数据删除以内联模式在控制器级别执行。 数据以压缩形式保存。 该系统还可以自动处理数据快照。

易于使用的 Unity 闪存阵列具有统一(块和文件)访问功能,可提供稳定的响应时间,与云存储服务集成,并支持无需数据迁移的升级。 在其基本配置中,这款多功能存储系统可在 30 分钟内安装完毕。

称为“动态池”的数据存储技术允许您从静态内存扩展转向动态内存扩展,提供高度的操作灵活性并轻松增加系统容量。 动态池可节省容量和预算,并且重建所需的时间更少。 扩展 Dell EMC Unity 的容量和性能不需要数据迁移。 

如今,许多公司将多种公共云服务与其本地基础设施结合使用。 Dell EMC Unity XT 可以作为 Dell Technologies 云环境的组件。 该存储系统可以在公共云中使用,并且可以将数据传输到私有云。 此外,Dell EMC Unity XT 存储可作为服务提供。 这是 Dell EMC 云存储服务的云存储服务之一。
 
云存储变得越来越流行,因为它可以通过降低基础设施成本来提高投资回报率。 云存储服务通过将 Dell EMC 存储(直接连接到公共云资源)作为服务提供,将客户的数据中心扩展到云。 第三方提供商可以直接向客户数据中心的 Dell EMC Unity、PowerMax 和 Isilon 系统提供高速(低延迟)公共云连接。

Unity XT 系列包括 Unity XT 全闪存、Unity XT 混合、UnityVSA 和 Unity 云版系统。
 

统一混合和闪存阵列 

基于 Intel 的 Unity XT 混合和 Unity XT 全闪存存储系统为块访问、文件访问和 VMware VVol 提供集成架构,并支持网络附加存储 (NAS)、iSCSI 和光纤通道 (FC) 协议。 Unity XT 混合和 Unity XT 全闪存平台支持 NVMe。

Unity XT 混合系统支持多云环境。 多云意味着将存储扩展到云端或部署到云端并提供灵活的资源利用选项。 多云存储旨在确保多个云平台(私有云和公共云)之间的移动性和数据可移植性。 这不仅影响数据移动的过程,还影响多个公共云中应用程序访问数据的组织。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列
这些混合阵列提供以下功能:

  • 可扩展至 16 PB 原始容量。
  • 适用于所有闪存池的内置数据缩减功能。
  • 快速安装和配置(平均需要25分钟)。

SSD技术正在迅速进步,新的革命性产品将在未来几年上市。 与此同时,组织将继续用 SSD 取代传统 HDD,以提高性能、简化管理并节省能源。 新一代全闪存阵列将具有更先进的存储自动化、公共云集成和集成数据保护。 

Unity XT 全闪存系统可提供速度、效率和多云支持。 他们的特点:

  • 生产力翻倍。
  • 数据缩减高达 7:1。
  • 快速安装和配置(过程不到30分钟)。

 UnityVSA

UnityVSA 是使用服务器、共享或云存储容量的 VMware ESXi 虚拟环境的软件定义存储。 UnityVSA HA 是一种双存储 UnityVSA 配置,可提供额外的容错能力。 UnityVSA 存储提供:

  • 高达 50 TB 的全功能统一存储容量。
  • 与 Unity XT 系统和功能兼容。
  • 支持高可用性系统 (UnityVSA HA)。
  • 作为 NAS 和 iSCSI 连接。
  • 从其他 Unity XT 平台复制数据。

Unity云版

对于云中的文件同步和灾难恢复操作,Unity XT 系列包括 Unity Cloud Edition,它提供:

  • 使用部署在云中的软件定义存储 (SDS) 的全功能存储功能。
  • 使用 VMware Cloud on AWS 轻松部署块和文件存储。
  • 灾难恢复支持,包括测试和数据分析。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列

适用于 SQL Server 的 Unity XT 全闪存

Unisphere Research 的 2017 年报告“SQL Server 转型:迈向敏捷性和弹性”(SQL Server 转型:迈向敏捷性和弹性) 22% 的受访者表示他们在生产中使用闪存存储技术 (16%) 或计划这样做 (6%)。 30% 使用包含闪存的混合阵列。 13% 使用直连闪存阵列。 13% 将 SQL Server 数据库备份到闪存。

闪存存储与 SQL Server 结合使用的快速采用意味着 Unity XT 全闪存阵列特别适合 SQL Server 开发人员和管理员。 Unity XT 全闪存系统为 SQL Server 开发人员和管理员提供了超越典型存储区域网络 (SAN) 的功能和性能。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列
Unity XT 全闪存系统支持 NVMe(可实现更高的高性能和低延迟),具有 2U 外形尺寸,支持双核处理器、主动/主动模式下的两个控制器。

Unity XT 全闪存型号

统一XT 

处理器 

内存(每个处理器)

最大限度。 驱动器数量

最大限度。 “原始”容量 (PB) 

380F 

1 英特尔 E5-2603 v4 
6c/1.7GHz

64 

500 

2.4 

480F 

2 英特尔至强银牌 
4108 8c/1.8GHz 

96 

750 

4.0 

680F 

2 英特尔至强银牌 
4116 12c/2.1GHz

192 

1,000 

8.0 

880F 

2 英特尔至强金牌 6130 
16c/2.1GHz

384 

1,500 

16.0 

详细信息可以在阵列规格中找到(Dell EMC Unity XT 存储系列规格表).

存储池

许多 SQL Server 专业人员都知道,所有现代存储阵列都能够将磁盘分组为更大的存储单元,并具有固定级别的 RAID 保护。 具有 RAID 保护的各个磁盘组是传统的存储池。 虽然 Unity XT 混合系统仅支持传统池,但 Unity XT 全闪存阵列还提供动态存储池。 通过动态存储池,RAID 保护应用于磁盘范围(小于完整磁盘的存储单元)。 动态池在管理和扩展磁盘池方面提供了更大的灵活性。 

Dell EMC 提供管理存储池的最佳实践,以最小的复杂性实现最大的性能。 例如,建议尽量减少 Unity XT 存储池的数量,以降低复杂性并提高灵活性。 但是,在某些情况下,设置额外的存储池可能非常有用,包括当您需要:

  • 支持具有不同 I/O 配置文件的单独工作负载。
  • 分配资源以实现某些性能参数。
  • 为多租户分配单独的资源。
  • 创建较小的域以防止失败

存储卷 (LUN)

在选择阵列中的卷数量时如何平衡控制和灵活性? 为了在 Unity 与 SQL Server 中实现最大灵活性,建议为每个数据库文件创建卷。 在实践中,大多数组织采用分层方法,其中关键数据库被赋予最大的灵活性,而不太关键的数据库文件被分组到更少、更大的卷中。 我们建议检查数据库和任何相关应用程序的所有要求,因为数据保护和监控技术依赖于文件隔离和放置。

多个卷通常难以管理,尤其是在虚拟环境中。 虚拟化 SQL Server 环境是一个很好的例子,说明在单个卷上托管多种文件类型是有意义的。 在确定要创建的卷数量时,数据库管理员或存储管理员(或两者)必须在灵活性和可维护性之间选择适当的平衡。

文件存储

NAS 服务器在 Unity XT 存储上托管文件系统。 可以使用 SMB 或 NFS 协议访问文件系统,并且通过多协议文件系统,您可以同时使用这两种协议。 NAS 服务器使用虚拟接口将主机连接到 SMB、NFS 和多协议文件系统,以及 VMware NFS 存储和 VMware 虚拟卷。 文件系统和虚拟接口在单个 NAS 服务器内隔离,允许使用多个 NAS 服务器进行多租户。 如果存储处理器出现故障,NAS 服务器会自动进行故障转移。 它们关联的文件系统也会进行故障转移。

SQL Server 2012 (11.x) 及更高版本支持服务器消息块 (SMB) 3.0,它允许网络文件共享存储。 对于独立和故障转移群集安装,您可以使用 SMB 存储选项安装系统数据库(master、model、msdb 和 tempdb)和数据库引擎用户数据库。 使用 Always On 可用性组时,使用 SMB 存储是一个不错的选择,因为文件共享需要访问高度可用的网络资源。

使用 Unity XT 存储为 SQL Server 部署创建 SMB 文件共享是一个简单的三步过程:创建 NAS 服务器、文件系统和 SMB 共享。 Dell EMC Unisphere 存储管理软件包含一个配置向导,可帮助您完成此过程。 但是,在 SMB 文件共享上托管 SQL Server 工作负载时,需要记住一些重要注意事项,这些注意事项不一定适用于 SMB 文件共享的使用。 Microsoft 编制了一份安装和安全问题以及当前已知问题的列表; 有关详细信息,请参阅《使用 SMB 文件存储安装 SQL Server》 微软文档.

数据快照

数据已成为公司最重要的资源,当今的关键任务环境需要的不仅仅是冗余。 应用程序必须始终在线,并提供不间断的操作和更新。 它们还需要通过本地快照复制和远程复制等选项实现高性能和数据可用性。

Unity XT 存储阵列提供共享通用工作流程、操作和架构的块和文件快照功能。 Unity 的快照方法提供了一种简单有效的数据保护方法。 快照使恢复数据变得容易 - 回滚到较早的快照,或者您可以从以前的快照复制选定的数据。 下表显示了 Unity XT 系统的快照保留期。

数据快照本地和远程存储

照片类型

CLI
UI
REST的

手动 

预定的 

手动 

预定的 

手动 

预定的 

当地的 

今年1 

今年1

5年 

4周

100年

没有任何限制

偏僻的 

5年

255周 

5年

255周

5年

255周

快照不能直接替代其他数据保护方法(例如备份)。 它们只能补充传统备份,作为低 RTO 场景的第一道防线。

Dell EMC Unity 快照功能包括数据缩减和高级重复数据删除。 快照还受益于在原始存储资源上实现的空间节省。 当您对支持数据缩减功能的存储资源进行快照时,可以对源数据进行压缩或重复数据删除。

以下是有关在 SQL Server 数据库中使用快照时数据库恢复的一些注意事项:

  • SQL Server 数据库的所有组件都必须作为数据集进行保护。 当数据和日志文件位于不同的 LUN 上时,这些 LUN 必须属于一致性组。 一致的组可确保在组中的所有 LUN 上同时拍摄快照。 当数据和日志文件位于多个 SMB 文件共享上时,这些共享必须位于同一文件系统上。
  • 从基于块的快照还原 SQL Server 数据库时,如果 SQL Server 实例必须保持连接,请使用 Unisphere 主机连接。 对于基于文件的恢复,使用快照作为源创建额外的 SMB 共享。 安装卷后,可以使用不同的名称附加数据库,或者可以用恢复的数据库替换现有数据库。

  • 在 Unisphere 中使用快照还原方法执行还原时,请使 SQL Server 实例脱机。 SQL Server 不知道恢复操作。 使实例脱机可确保卷在恢复之前不会因数据库写入而损坏。 一旦实例重新启动,SQL Server灾难恢复将使数据库进入一致状态。
  • 同时启用多个存储对象的快照,然后在启用其他快照之前确保系统处于推荐的运行模式。

镜头自动化和调度

Unity XT 中的快照可以自动化。 Unisphere 存储管理中提供以下默认快照选项:默认保护、较短保留保护和较长保留保护。 每个选项都会拍摄每日快照并保存不同时间段的快照。

您可以选择一个(或两个)计划选项 - 每 x 小时(从 1 到 24)和每天/每周。 每日/每周快照计划允许您指定拍摄快照的特定时间和日期。 对于所选的每个选项,您必须设置保留策略,可以将其配置为自动删除池或临时存储它。

有关 Unity 快照的更多信息 - 位于 Dell EMC Unity 文档

薄克隆

精简克隆是精简块存储资源(例如卷、一致性组或 VMware VMFS 数据存储)的读/写副本,与其父资源共享块。 精简克隆是快速、紧凑地呈现 SQL Server 数据库副本的好方法,这是传统 SQL Server 工具无法实现的。 将精简克隆呈现给主机后,卷即可联机,并且将使用 SQL Server 中的 DB Attach 方法附加数据库。

将升级功能与精简克隆一起使用时,请使精简克隆上的所有数据库脱机。 这必须在更新操作之前完成。 如果在执行升级之前未能使数据库脱机,可能会导致 SQL Server 上出现数据不一致错误或数据结果不正确。

数据复制

复制是一种软件功能,可将数据与同一站点或其他位置的远程系统同步。 Unity 的复制和配置选项允许您选择一种有效的方法来满足 SQL Server 数据库的 RTO/RPO 要求,同时平衡性能和吞吐量。

使用 Dell EMC Unity Replication 保护多个卷上的 SQL Server 数据库时,您应将数据库中的所有数据和日志卷限制到单个一致性组或文件系统。 然后在组或文件系统上设置复制,并且可以包括多个数据库的卷或共享。 需要不同复制选项的数据库必须位于单独的 LUN、一致性组或文件系统上。

精简克隆与同步和异步复制兼容。 当精简克隆复制到目标时,它将成为卷、一致性组或 VMFS 存储的完整副本。 复制后,精简克隆是一个完全独立的卷,具有自己的设置。

Microsoft SQL Server 2019 和 Dell EMC Unity XT 闪存阵列
源系统和目标系统之间的精简克隆复制过程。

tempdb数据库不需要复制,因为SQL Server重启时会重建该文件,因此元数据与其他SQL Server实例的方法不一致。 仔细选择要复制的卷以及这些卷的内容可以消除不必要的复制流量。

集成的 Microsoft SQL Server 数据复制管理

大多数现代存储产品(包括所有 Dell EMC 产品)可以通过以下方式创建任何文件类型的“操作系统一致”副本:

  • 从主机到驱动器,各级操作系统的写入顺序一致。
  • 对卷进行分组,以便不同卷上的多个文件保持写入顺序。

随着可扩展存储设备的广泛采用,Microsoft 为存储提供商开发了 API。 该 API 允许存储提供商与 SQL Server 数据库软件协调,使用卷影复制服务 (VSS) 创建“应用程序一致的副本”。 这些副本模拟 SQL Server 计划和关闭期间 SQL Server 与操作系统之间的交互。 所有写入缓冲区都将被刷新,事务将被挂起,直到所有磁盘在某个时间点都更新并保持一致,这会记录在 SQL 日志中。

与 Unity XT 快照集成的 Dell EMC AppSync 软件可简化并自动化创建、使用和管理应用程序一致的工作数据副本的过程。 该软件旨在用于数据库恢复和重用的复制控制场景。 

AppSync 软件自动发现应用程序数据库、了解数据库结构,并通过硬件或虚拟化层将文件结构映射到底层 Unity XT 存储。 它协调所有必要的步骤,从创建和验证副本到在目标主机上安装快照以及启动或恢复数据库。 AppSync 支持并简化 SQL Server 工作流程,包括更新和恢复生产数据库。

数据缩减和高级重复数据删除

Dell EMC Unity 系列存储系统提供功能丰富、易于使用的数据缩减服务。 不仅可以节省配置的主存储资源,还可以节省这些资源的快照和精简克隆。 快照和精简克隆继承源存储的数据缩减设置,从而提高容量节省。

数据缩减功能包括重复数据删除、压缩和零块检测活动,可能会增加用户对象和内部使用的可用存储空间量。 Unity XT 数据缩减功能取代了 Unity OE 4.3 及更高版本中的压缩功能。 压缩是一种数据缩减算法,可以减少存储数据集所需的物理容量分配。

Unity XT 系统还提供高级重复数据删除功能,如果启用了数据缩减,则可以启用该功能。 高级重复数据删除通过仅存储 Unity 数据块的少量副本(通常只有一个副本)来减少用户数据所需的容量。 重复数据删除区域为XNUMX个LUN。 选择存储方案时请考虑这一点。 LUN 越少,重复数据删除效果越好,但 LUN 越多,性能越好。 

高级重复数据删除带来的容量节省可以在大多数环境中提供最大的优势,但也需要使用 Unity 阵列处理器。 在 OE 5.0 中,高级重复数据删除功能启用后,可以对任何块(压缩或未压缩)进行重复数据删除。 有关更多信息,请参阅 Dell EMC 文档.

下表显示了数据缩减和高级重复数据删除支持的配置:

Unity 中的数据缩减(所有型号)和增强的重复数据删除支持

Unity OE版本 

技术 

支持的池类型 

支持型号

4.3 / 4.4 

数据缩减 

闪存池 - 传统或动态 

300、400、500、600、300°F、400°F、500°F、600°F、350°F、450°F、550°F、650°F 

4.5 
 

数据缩减 

300、400、500、600、300°F、400°F、500°F、600°F、350°F、450°F、550°F、650°F 

数据缩减和高级重复数据删除*

450F、550F、650F 


 

数据缩减 

300、400、500、600、300F、400F、500F、600F、350F、450F、550F、650F、380、480、680、880、380F、480F、680F、880F 

数据缩减和高级重复数据删除

450F、550F、650F、380、480、680、880、380F、480F、680F、880F

* 数据缩减默认处于禁用状态,必须在高级重复数据删除成为可用选项之前启用。 启用数据缩减后,可以使用高级重复数据删除,但默认情况下处于禁用状态。

Unity 中的数据缩减和 SQL Server 中的数据压缩

SQL Server 2008 企业版是第一个提供本机数据压缩功能的版本。 SQL Server 2008 行级和页级压缩使用 SQL Server 内部数据库表格式的知识来减少数据库对象消耗的空间。 减少空间可以让您在每页上存储更多行,并在缓冲池中存储更多页。 由于不是以 8k 数据页格式存储的数据(例如 NVARCHAR(MAX) 等行外数据)不会使用行或页压缩方法,因此 Microsoft 引入了 Transact-SQL COMPRESS 和 DECOMPRESS 函数。 

这些函数使用传统的数据压缩方法(GZIP 算法),必须为要压缩或解压缩的每个数据部分调用该方法。

Unity XT 压缩并非 SQL Server 独有,它使用软件算法来分析和压缩存储数据。 自 Unity OE 4.1 发布以来,Unity 数据压缩已可用于闪存池中的块存储卷和 VMFS 数据存储。 从 Unity OE 4.2 开始,压缩也可用于闪存存储池中的文件系统和 NFS 数据存储。

SQL Server 数据压缩方法的选择取决于几个因素。 这些因素包括数据库内容的类型、存储和数据库服务器上的可用 CPU 资源,以及维护 SLA 所需的 I/O 资源。 一般来说,使用 SQL Server 压缩的数据可以节省额外的空间,但使用 TSQL 的 GZIP 压缩功能压缩的数据不太可能从 Unity XT 的压缩功能中看到显着的额外空间节省,因为大多数好处都来自前者。算法。

如果存储对象上的数据压缩至少 25%,则 Unity 压缩可节省空间。 在对存储对象启用压缩之前,请确定它是否包含可以压缩的数据。 不要对存储对象启用压缩,除非这样做可以节省容量。 

在决定是否使用 Unity 数据缩减、SQL Server 数据库级压缩或同时使用两者时,请考虑以下因素:

  • 写入Unity系统的数据在存储到系统缓存后由主机验证。 但是,在清除缓存之前,压缩过程不会开始。

  • 不仅可以节省 Unity XT 存储资源的压缩成本,还可以节省资源的快照和精简克隆的压缩成本。
  • 在压缩过程中,使用采样算法聚合多个块来确定数据是否可以被压缩。 如果采样算法确定只能实现最小的节省,则跳过压缩并将数据写入池中。
  • 当数据在写入存储介质之前进行压缩时,数据处理量将大大减少。 因此,压缩通过减少写入驱动器的物理数据量来帮助减少闪存的磨损。

有关 SQL Server 中表和索引的行和页压缩的详细信息,请参阅 微软文档.

不要忘记任何压缩都需要 CPU 资源。 当带宽要求很高时,压缩会对性能产生重大影响。 OLAP 工作负载的高写入率还会降低 SQL Server 数据库压缩的优势。

Dell EMC 使用 Unity 阵列上的实际数据减少率研究了潜在的节省量。 该团队收集了有关 VMware 虚拟机、文件共享、SQL Server 数据库、Microsoft Hyper-V 虚拟机等的数据。

研究结果表明,SQL Server日志文件大小的减少几乎比数据文件小10倍:

  • 数据库大小 = 1,49:1 (32,96%)
  • 原木体积 = 12,9:1 (92,25%)

SQL Server 数据库提供了两个卷。 数据库文件存储在一个卷上,事务日志存储在另一卷上。 对数据库卷使用数据缩减技术可以节省存储空间; 但是,在决定是否对数据库卷启用重复数据删除时,您应该考虑性能影响。 虽然实际数据库大小的减少可能会因存储的数据而异,但研究结果表明 SQL Server 事务日志存储空间可以 显着减少.

数据缩减最佳实践

在对存储对象启用数据缩减之前,请考虑以下准则:

  • 使用存储系统监控来确保其有可用资源来支持数据缩减。
  • 一次启用多个存储对象的数据缩减。 在其他存储站点上启用系统之前,请监视系统以确保其处于建议的运行条件下。
  • 在 Unity XT x80F 型号上,如果存储单元中的数据压缩至少 1%,则数据缩减将节省容量。

只要数据至少可压缩 80%,以前运行 OE 5.0 的 Unity x25F 模型上的数据减少就可以节省成本。

  • 在对存储对象启用数据缩减之前,请确定该对象是否包含可压缩数据。 某些数据类型(例如视频、音频、图像和二进制数据)通常无法从压缩中获得什么好处。 如果不会节省空间,请勿在存储对象上启用数据缩减。
  • 考虑有选择地压缩通常压缩效果良好的文件数据量。

VMware虚拟化

VMware vSphere 是一个适用于虚拟化和云环境的高效且安全的平台。 vSphere 的核心组件是 VMware vCenter Server 和 VMware ESXi hypervisor。

vCenter Server 是 vSphere 环境的统一管理平台。 易于部署并主动优化资源。 ESXi 是一个直接安装在物理服务器上的开源虚拟机管理程序。 ESXi 可以直接访问核心资源,并且尺寸较小,仅为 150MB,从而最大限度地减少了内存需求。 它为各种应用程序工作负载提供可靠的性能,并支持强大的虚拟机配置——最多 128 个 vCPU、6 TB RAM 和 120 个设备。

为了使 SQL Server 在现代硬件上有效运行,SQL Server 操作系统 (SQLOS) 必须了解硬件设计。 随着多核和多节点非均匀内存访问 (NUMA) 系统的出现,理解内核、逻辑处理器和物理处理器之间的关系变得尤为重要。

处理器 

虚拟处理单元 (vCPU) 是分配给虚拟机的虚拟中央处理单元。 分配的 vCPU 总数计算如下:

Total vCPU = (количество виртуальных сокетов) * (количество виртуальных ядер на сокет)

如果一致的性能很重要,VMware 建议分配给所有虚拟机的 vCPU 总数不应超过 ESXi 主机上可用的物理核心总数,但如果监控表明未使用的 CPU 资源,您可以增加分配的 vCPU 数量可用。

在启用 Intel 超线程技术的系统上,逻辑核心 (vCPU) 的数量是物理核心数量的两倍。 在这种情况下,不要分配 vCPU 总数。

较低层的 SQL Server 工作负载受延迟变化的影响较小。 因此,这些工作负载可以在 vCPU 与物理 CPU 比例较高的主机上运行。 合理的 CPU 利用率水平可以提高整体系统吞吐量、最大限度地节省许可证并保持足够的性能。

英特尔超线程通常可将主机总体吞吐量提高 10% 至 30%,这表明 vCPU 与物理 CPU 的比率为 1,1 至 1,3。 VMware 建议尽可能在 UEFI BIOS 中启用超线程,以便 ESXi 可以利用该技术。 VMware 还建议在对 SQL Server 工作负载使用超线程时进行彻底的测试和监控。

Память

几乎所有现代服务器都使用非均匀内存访问 (NUMA) 架构来进行主内存和处理器之间的通信。 NUMA是一种共享内存的硬件架构,它实现了物理处理器之间物理内存块的划分。 NUMA 节点是一个或多个 CPU 插槽以及一块分配的内存。 

在过去的十年里,NUMA 一直是一个广泛讨论的话题。 NUMA 的相对复杂性部分归因于不同供应商的实现。 在虚拟化环境中,NUMA 复杂性还取决于配置选项和层的数量——从硬件到虚拟机管理程序,再到来宾操作系统,最后到 SQL Server 应用程序。 对于任何运行虚拟化 SQL Server 实例的 SQL Server DBA 来说,必须充分了解 NUMA 硬件架构。

为了在具有大量内核的服务器上实现更高的效率,微软引入了 SoftNUMA。 SoftNUMA 软件允许您将单个 NUMA 内的可用 CPU 资源划分为多个 SoftNUMA 节点。 据VMware称,SoftNUMA与VMware的虚拟NUMA(vNUMA)拓扑兼容,可以进一步优化大多数工作负载的数据库引擎可扩展性和性能...

使用 SQL Server 虚拟化 VMware 时使用:

  • 监视虚拟机以检测 SQL Server 数据库引擎的内存资源不足。 此问题会导致 I/O 操作增加并降低性能。

  • 要提高性能,请通过避免 ESXi 主机级别的内存过载来防止虚拟机之间的内存争用。
  • 请考虑检查硬件 NUMA 物理内存分配,以确定可以在物理 NUMA 边界内分配给虚拟机的最大内存量。
  • 如果实现足够的性能是主要目标,请考虑保留与分配的内存相等的内存。 该参数设置可确保虚拟机仅接收物理内存。

虚拟化存储

在虚拟化环境中设置存储需要了解存储基础架构。 与 NUMA 一样,您需要了解不同级别的 I/O 是如何工作的 - 在本例中,从 VM 中的应用程序到持久存储介质上的信息的物理读写。

vSphere 提供了许多用于配置存储的选项,这些选项在使用 Unity XT 阵列的 SQL Server 实施中具有有用的应用程序。 FS VMFS是Unity XT等块存储系统中使用最广泛的数据存储方式。 Unity XT 阵列是底层,由 vSphere 作为逻辑磁盘(卷)公开的物理驱动器组成。 Unity XT 卷由 ESXi 虚拟机管理程序格式化为 VMFS 卷。 VMware 管理员创建一个或多个提供给来宾操作系统的虚拟磁盘 (VMDK)。 RDM 允许虚拟机直接访问 Unity XT 块存储(通过 FC 或 iSCSI),而无需格式化 VMFS。 VMFS 和 RDM 卷可以提供相同的事务吞吐量。 

对于 ESXi 基于 NFS 的存储,Dell EMC 建议使用 VMware NFS 而不是通用 NFS 文件系统。 在 SQL Server 上运行并在 NFS 数据存储上使用 VMDK 的虚拟机不知道底层 NFS 层。 来宾操作系统将虚拟机视为运行 Windows Server 和 SQL Server 的物理服务器。 不支持 NFS 数据存储上的故障转移群集实例配置的共享磁盘。

VMware vSphere Virtual Volumes (VVol) 在虚拟机级别提供更精细的控制,独立于底层物理内存表示(例如卷或文件系统)。 从 VVol 2.0 (vSphere 6.5) 开始,支持使用 VVol 进行基于阵列的复制。 从 vSphere 6.7 开始,可以使用 VVol 磁盘代替 RDM 磁盘为 SQL 故障转移集群实例提供磁盘资源,并支持持久 SCSI 备份。

虚拟化网络

虚拟世界中的网络遵循与物理世界中相同的逻辑概念,但使用软件而不是物理电缆和交换机。 网络延迟对 SQL Server 工作负载的影响可能有很大差异。 在代表性时期内监控现有工作负载或实施良好的测试系统的网络性能指标有助于创建虚拟网络。

将 VMware 虚拟化与 SQL Server 结合使用时,请考虑以下事项:

  • 标准虚拟交换机和分布式虚拟交换机都提供 SQL Server 所需的功能。
  • 要在逻辑上分离管理、vSphere vMotion 和网络存储流量,请使用 VLAN 标记和虚拟交换机端口组。
  • VMware 强烈建议在启用 vSphere vMotion 流量或 iSCSI 流量的虚拟交换机上启用大型帧。
  • 一般来说,请遵循客户操作系统和硬件的网络指南。

 结论 

SQL Server 数据库环境变得越来越大、越来越复杂。 在 SQL Server 2019 中,微软改进了 SQL Server 的核心功能并添加了新功能,例如对 Apache Spark 和 HDFS 的大数据工作负载的支持。 Dell EMC 与 Microsoft 合作,继续为 SQL Server 环境提供必要的基础架构组件 - 服务器、存储和网络。 

当存储和数据库专业人员共同努力在共享存储平台上为 SQL Server 创建基础架构解决方案时,我们发现正常运行时间显着增加,总拥有成本 (TCO) 降低。 Dell EMC Unity XT 全闪存阵列是一款中端解决方案,适合需要高性能和低延迟的 SQL Server 开发人员和管理员。 Unity XT 全闪存专为在所有闪存驱动器上运行而设计,支持双 CPU、双控制器配置和多核优化。

组织越来越多地对其 SQL Server 环境进行虚拟化。 尽管虚拟化在架构堆栈中添加了另一个设计层,但它提供了显着的好处。 我们希望您发现上面介绍的一些最常用的 VMware 功能和工具在 SQL Server 环境中非常有用。 我们还推荐资源链接以获取更多详细信息。

有用的链接

戴尔EMC

VMware的

微软

来源: habr.com

添加评论