Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

Workload Factory 中的数据库环境配置分析

贡献者 netapp-rlithman

Workload Factory for Databases 定期分析数据库配置,以确定 Amazon FSx for NetApp ONTAP 存储上的 Microsoft SQL Server 和 Oracle 部署是否存在任何问题。当发现问题时,Workload Factory 会向您展示问题所在,并解释需要更改的内容,以便您的数据库配置实现最佳性能、成本效益和最佳实践合规性。

Workload Factory 为架构良好的数据库工作负载提供最佳实践和建议。架构完善的分析可评估与存储、计算、应用程序、弹性和克隆相关的 Microsoft SQL Server 和 Oracle Database 配置和设置。

工作原理

Workload Factory 每天分析在 Amazon FSx for NetApp ONTAP 文件系统部署上运行的工作负载。该分析提供了精心设计的状态、见解和建议。

每日分析完成后,配置在 Well-architected 仪表板中显示为"优化"或"未优化"。您可以找到总优化分数、按类别划分的配置问题以及配置问题和建议列表。您可以查看配置问题的建议。有些问题可以由 Workload Factory 自动修复,而其他问题则需要手动干预。在这种情况下,Workload Factory 会提供详细说明,以帮助您实施建议的更改。

您可以忽略不适用于您环境的配置分析。这样可以避免不必要的警报和不准确的优化结果。

您还可以用简单的语言创建自定义规则,以根据组织的标准和 NetApp 最佳实践验证您的环境。通过试运行测试规则,然后安排它们在您的环境中运行。"详细了解自定义规则"

为什么很重要

Workload Factory 通过将持续评估与建议见解和补救措施相结合,将最佳实践应用于大型存储、数据库和 VMware 环境。在 Workload Factory 控制台中应用的自动修复可减少人为错误,确保统一管理,并保持整个工作负载基础架构的性能和可靠性。

用于分析数据库环境的选项

Workload Factory 为分析数据库环境提供了以下选项:

  • 一次性评估:执行 "一次性评估" 以了解 Microsoft SQL Server 实例或 Oracle 数据库的良好架构状态,而无需存储凭据或注册资源。

    对于一次性评估,只需为要分析的 Microsoft SQL Server 实例或 Oracle 数据库提供一次凭据。

  • 持续评估:Workload Factory 定期分析数据库环境,为优化配置提供持续建议,并自动修复问题。

    要进行持续评估,您需要在 AWS 帐户中注册资源、关联链接并授予权限。

Microsoft SQL Server 最佳实践

以下最佳实践和建议适用于 Microsoft SQL Server 工作负载。

存储

存储层

将主 SSD 层用于对性能敏感的 SQL 工作负载。

Details

使用 FSx for ONTAP 卷的主 SSD 层以获得最佳性能。容量池层可能会降低性能并增加延迟。主 SSD 层专为高性能工作负载而设计,而容量池层则针对成本效益进行了优化,可能无法满足 SQL Server 工作负载的性能要求。

文件系统余量

保持超过总卷大小的足够可用容量。

Details

将文件系统容量保持在总卷大小以上。可用空间太少会导致性能问题;太多则会浪费存储空间并增加成本。

日志驱动器大小

调整日志驱动器的大小并进行监控,以避免回滚和停机。

Details

调整 SQL Server 日志驱动器的大小并进行监控,以防止事务回滚、数据库不可用、数据损坏以及由日志驱动器已满导致的性能问题。

TempDB 驱动器大小

调整 TempDB 大小以避免瓶颈和超时。

Details

调整 TempDB 大小并进行监控,以保持性能和稳定性。TempDB 空间过小会导致查询速度减慢、应用程序超时和系统崩溃。

数据和日志文件放置

分离 `.mdf`和 `.ldf`路径。

Details

将数据和日志文件分离到不同的驱动器上,以提高并行 I/O、备份灵活性和恢复行为。我们建议将数据和日志 LUN 路径分离到较小数据库的不同卷中。

TempDB 放置

使用专用驱动器。

Details

将 TempDB 放在专用驱动器上,以避免 I/O 争用并提高 SQL Server 性能和稳定性。

精简配置

根据需要分配存储空间。

Details

为 FSx for ONTAP 卷配置精简配置,以更好地利用存储并降低成本。精简配置允许您根据需要分配存储,而不是一次性保留所有容量。

自动调整大小和自动调整大小模式

自动增加卷。

Details

打开自动调整大小并将模式设置为 grow,以便卷在变满并变为只读之前自动增加。

块设备空间管理

为 SQL Server 使用的 LUN 配置块设备空间设置。

Details

为 Microsoft SQL Server 实例使用的 LUN 配置块设备空间设置,以防止写入失败并提高 FSx for ONTAP 的空间效率。

Snapshot副本预留和自动删除

为活动数据保留空间。

Details

将快照副本预留空间设置为 0%,并启用快照自动删除以保护活动数据的空间。

空间管理

在删除快照副本之前扩展卷。

Details

当空间不足时,在删除快照副本之前扩展卷。扩展卷可防止"卷已满"错误,减少写入失败,并保留快照恢复点。

分层/TCO 优化

使用仅快照分层策略对快照数据进行分层。

Details

使用仅快照分层策略,该策略仅将快照数据移动到容量层,同时在 SSD 层上保留活动数据。这种方法可保留 SQL 工作负载的低延迟性能,同时降低存储成本。在 7 天冷却期后对快照数据进行分层。

存储效率

使用重复数据删除、压缩和数据缩减。

Details

启用重复数据删除、压缩和数据缩减,以降低存储使用率和成本,同时保持性能。

OS 类型

将 ONTAP LUN 操作系统类型与主机分区匹配。

Details

将 ONTAP LUN 操作系统值与主机分区方案相匹配,以保持正确的 I/O 对齐。

MPIO 策略、会话、状态和超时设置

配置多路径 I/O (MPIO) 策略、会话、状态和超时设置。

Details

为弹性和吞吐量配置多路径 I/O (MPIO)。对于 iSCSI LUN 上的 SQL Server,每个目标接口使用五个 MPIO 会话,监控路径状态,并将主机超时设置为 60 秒。

NTFS分配单元大小

设置为 64K。

Details

将 NTFS 分配单元大小设置为 64K,以提高磁盘效率并减少 SQL Server 工作负载的碎片。

计划的本地快照

禁用已计划的快照。

Details

禁用 Microsoft SQL Server 使用的 FSx for ONTAP 卷的计划快照。请改为使用 NetApp SnapCenter 等外部工具管理快照,这些工具可创建应用程序一致性备份,并有助于防止还原操作期间发生数据损坏。

计算

计算资源合理调整

将 EC2 实例大小与工作负载需求相匹配。

Details

根据工作负载需求调整 SQL Server EC2 实例的大小。在未充分调配时增加大小,在过度调配时减小大小,以平衡成本和性能。

操作系统补丁

应用当前操作系统修补程序。

Details

应用最新的操作系统补丁,以提高安全性和可靠性。

网络适配器设置

配置接收端缩放(RSS)。

Details

配置接收端扩展 (RSS) 以跨 CPU 分布网络处理,从而提高网络性能。在生产部署之前验证设置。

MTU 对齐

跨主机和存储路径对齐最大传输单元 (MTU)。

Details

将 EC2 最大传输单元 (MTU) 设置与 FSx for ONTAP 路径对齐,以防止碎片化并保持稳定的吞吐量。

应用程序

许可证

查看付费功能的许可使用情况。

Details

在主机级别查看 SQL Server 许可证使用情况。如果未使用付费功能,则许可证未得到优化,可能会增加成本。

Microsoft SQL Server 修补程序

应用最新的 SQL Server 修补程序。

Details

应用最新的 SQL Server 修补程序以提高安全性和系统可靠性。

MAXDOP

使用工作负载测试值。

Details

配置 MAXDOP 以优化查询性能。值 4、8 或 16 通常效果很好。测试您的工作负载并监控并行度等待类型,例如 CXPACKET。

故障恢复能力

应用程序一致性快照

将应用程序一致性快照与 NetApp SnapCenter 结合使用。

Details

使用 NetApp SnapCenter 的应用程序一致性快照,在特定时间点为卷数据拍摄准确、可靠的快照。SnapCenter 使备份更轻松,并帮助您快速恢复数据,减少停机时间并保护关键工作负载。

跨区域复制

防止区域性中断。

Details

启用跨区域复制 (CRR),以提高 SQL Server 环境中的数据可用性和灾难恢复能力。CRR 通过在不同位置复制数据,帮助防止区域中断并确保业务连续性。

备份配置

为 ONTAP 备份或 AWS Backup 配置 FSx。

Details

配置 FSx for ONTAP 备份或 AWS Backup,以满足保留和合规性要求,同时避免重复的备份工作流。

集群仲裁

为故障转移群集实例配置仲裁。

Details

为 SQL Server 故障转移群集实例正确配置仲裁,以便群集能够容忍预期的节点故障。

驱动器号

跨节点保持驱动器号的一致性。

Details

请在 SQL Server 高可用性设置中的每个节点上使用相同的驱动器号。这样可以简化管理,并有助于故障转移正常运行。

检测信号设置

调整心跳以实现稳定的故障转移行为。

Details

调整心跳设置,以避免不必要的故障转移,同时仍能快速检测到真正的故障。

共享存储

确保两个节点都可以访问共享的 iSCSI LUN。

Details

必须能够从 FCI 部署模型中的两个节点访问所有共享磁盘(iSCSI LUN),才能进行故障转移。

SQL Server 服务

验证服务帐户和启动依赖项。

Details

验证服务帐户权限、启动类型和依赖关系,以实现可靠的高可用性行为。

克隆

克隆清理

定期删除旧克隆。

Details

定期删除过时的克隆,以降低存储成本并减少操作冗余。旧的和未使用的克隆会导致高成本。

Oracle 最佳实践

以下最佳实践和建议适用于 Oracle 工作负载。

存储

文件系统余量

保持超过总卷大小的足够可用容量。

Details

将文件系统容量保持在总卷大小以上。可用空间太少会导致性能问题;太多则会浪费存储空间并增加成本。

精简配置

根据需要分配存储空间。

Details

为 FSx for ONTAP 卷配置精简配置,以更好地利用存储并降低成本。精简配置允许您根据需要分配存储,而不是一次性保留所有容量。

自动调整大小和自动调整大小模式

自动增加卷。

Details

打开自动调整大小并将模式设置为 grow,以便卷在变满并变为只读之前自动增加。

块设备空间管理

为 SQL Server 使用的 LUN 配置块设备空间设置。

Details

为 Oracle 数据库使用的 LUN 配置块设备空间设置,以防止写入失败并提高 FSx for ONTAP 的空间效率。

Snapshot副本预留和自动删除

为活动数据保留空间。

Details

将快照副本预留空间设置为 0%,并启用快照自动删除以保护活动数据的空间。

空间管理

在删除快照副本之前扩展卷。

Details

当空间不足时,在删除快照副本之前扩展卷。扩展卷可防止"卷已满"错误,减少写入失败,并保留快照恢复点。

分层/TCO 优化

使用仅快照分层策略对快照数据进行分层。

Details

使用仅快照分层策略,该策略仅将快照数据移动到容量层,同时在 SSD 层上保留活动数据。这种方法可保留 SQL 工作负载的低延迟性能,同时降低存储成本。在 7 天冷却期后对快照数据进行分层。

存储效率

使用重复数据删除、压缩和数据缩减。

Details

启用重复数据删除、压缩和数据缩减,以降低存储使用率和成本,同时保持性能。

交换空间

根据 RAM 设置交换。

Details

根据 RAM 数量设置交换空间,以便系统可以处理内存压力并避免减速或崩溃。

归档、数据、控制、重做和临时放置

为每种类型的 Oracle 文件使用专用卷来隔离 I/O 模式并提高性能。

Details

将归档日志、数据文件、控制文件、重做日志和临时文件放在单独的驱动器上,以隔离 I/O 模式并提高弹性。在需要时,将冗余副本保存在单独的卷上。

Oracle二进制文件放置

使用专用卷。

Details

将 Oracle 二进制文件放在专用卷上,以减少 I/O 争用。这种分离简化了软件更新,并将意外修改或损坏的风险降至最低。

计划的本地快照

禁用本地计划快照。

Details

禁用 Oracle 使用的 FSx for ONTAP 卷的计划快照,以节省空间并降低成本。请改用 NetApp SnapCenter 等工具从外部管理快照,这些工具可创建应用程序一致性备份,并有助于防止还原操作期间发生数据损坏。

NFS rootonly

禁用 dNFS。

Details

禁用 dNFS 的 ONTAP `nfs-rootonly`参数。 `nfs-rootonly`将 NFS 连接限制为特权端口(<1024)。由于 NFSv4+ 中的 dNFS 进程不以 root 身份运行并使用更高的端口,因此禁用此参数可允许必要的连接。

二进制文件导出策略

在 Oracle 二进制文件的专用导出策略中包括超级用户和 setuid 权限。

Details

确保如果 Oracle 二进制文件位于 NFS 共享上,则导出策略包括超级用户和 setuid 权限。超级用户 (root) 访问允许 NFS 客户端映射为 root,这是二进制执行所必需的。

ASM 设置

为在 FSx for ONTAP 上运行的基于 iSCSI 的存储设置 Oracle Automatic Storage Management (ASM)。

Details

将 Oracle Automatic Storage Management (ASM) 用于在 FSx for ONTAP 上运行的基于 iSCSI 的存储,以优化性能、简化存储管理并增强 Oracle Database 部署的可扩展性。

仅限 ASM 配置
  • ASM数据磁盘组、ASM日志磁盘组、ASM FRA磁盘组和ASM归档磁盘组LUN

    将 LUN 分发到自动存储管理 (ASM) 磁盘组资源中。

    Details

    将 LUN 分布在 Automatic Storage Management (ASM) 数据、重做日志和归档日志磁盘组中,以实现最佳性能和冗余。

  • ASM 外部冗余

    使用 EXTERNAL 冗余配置 Oracle ASM 磁盘组。

    Details

    为 FSx for ONTAP iSCSI LUN 配置具有 EXTERNAL 冗余的 Oracle ASM 磁盘组,以利用 FSx for ONTAP 的内置高可用性,通过避免 Oracle 级别的数据镜像来优化存储效率并降低成本。

  • ASM 过滤器驱动程序和 ASMLib 逻辑块大小对齐

    将 Oracle ASM Filter Driver (AFD) 和 ASMLib 配置为使用底层 FSx for ONTAP 存储的逻辑块大小。

    Details

    在 ASMLib 配置文件中配置 Oracle ASM Filter Driver (AFD) 和 ASMLib,以使用基础 FSx for ONTAP 存储的逻辑块大小。这可确保 AFD 和 ASMLib 使 I/O 操作与存储的块大小保持一致,从而通过最大限度地减少延迟和减少不必要的 I/O 开销来优化性能。

TCP插槽表

对于基于 NFS 的 Oracle 工作负载,设置为 128。

Details

将在 NFS 上运行的 Oracle 工作负载的 TCP 插槽表内核参数配置为 128。此配置可实现更多并发 I/O 操作,从而减少 Oracle 数据文件访问等高吞吐量场景中的延迟。内核参数控制 TCP 上未完成的 NFS 请求的最大数量,类似于光纤通道设置中的队列深度。默认 Linux 值(通常设置为 16)不支持最佳数据库性能。

NFS 挂载选项 - 数据库文件

使用 NFS 挂载选项来优化数据库文件的性能。

Details

对数据库文件使用优化的 NFS 挂载选项。关键参数包括用于读/写访问的 rw、用于后台挂载的 bg、用于在发生故障时进行无限次重试的 hard 以及用于可靠交付的 proto=tcp。值为 262144 的 rsizewsize 可改善大型 I/O 操作并提高吞吐量,而 nointr 不会中断长时间运行的任务。此配置可提高数据库性能和弹性,尤其是在高吞吐量环境中。

ADR 主目录的 NFS 挂载选项

使用 NFS 挂载选项来优化 ADR 主目录的性能。

Details

对自动诊断存储库 (ADR) 主目录或根目录使用优化的 NFS 挂载选项。ADR 主目录存储日志和跟踪,这些日志和跟踪受益于与核心数据库文件类似的可靠性选项,但不需要 `nointr`挂载选项,因为操作对中断的敏感性较低。

NFSv4 域名

匹配主机和 NFS 服务器之间的 NFSv4 域名。

Details

匹配主机 (/etc/idmapd.confhostname -d)与 ONTAP 中的 NFS 服务器 (v4-id-domain)之间的 NFSv4 域名。

NFS 缓存选项

请勿在独立部署中禁用主机缓存。

Details

省略在独立 Oracle 部署中禁用主机缓存的 NFS 挂载选项(如 actimeo=0`和 `noac),以提高效率和可靠性。这些选项适用于集群环境以确保缓存一致性,但在单实例环境中,它们会不必要地绕过缓存,并可能显著降低性能。

dNFS 启用

启用 dNFS。

Details

在 Oracle 环境中启用 Direct NFS (dNFS),以提高 NFS 存储性能和可靠性。

dNFS 一致的 IP 解析

避免轮循名称解析。

Details

避免将 Direct NFS (dNFS) 与任何类型的轮询名称解析(包括 DNS、DDNS、NIS 或任何其他方法)一起使用。这包括 ONTAP 中提供的 DNS 负载平衡功能。一致的 IP 地址解析可保持数据库稳定性,并防止潜在的崩溃或数据损坏。

dNFS 配置文件

验证 `oranfstab`内容。

Details

检查并更新 `oranfstab`文件内容,以确保正确使用 Direct NFS (dNFS)。该 `oranfstab`文件对于配置高级 dNFS 功能(如多路径和特定 NFS 选项)至关重要。正确的配置可提高数据访问和管理的效率。

dNFS 无共享缓存

将 `nosharecache`用于特定的多挂载情形。

Details

为启用了 Direct NFS (dNFS) 且在具有嵌套 NFS 挂载的单个服务器上多次挂载源卷的环境配置 `nosharecache`挂载选项。此配置可防止挂载之间的缓存共享,确保数据一致性和最佳性能。

计算

操作系统补丁

应用当前修补程序。

Details

应用最新的操作系统补丁,以提高安全性和可靠性。

透明大页

禁用透明大页面 (THP)。

Details

在运行 Oracle 数据库的数据库主机上禁用 Transparent Huge Pages (THP),以防止潜在的性能下降并改善内存管理。

TCP 高级选项

启用传输控制协议 (TCP) 高级选项。

Details

启用 TCP 时间戳、SACK 和窗口缩放,以获得最佳网络性能和可靠性。

文件系统 I/O 选项

设置 filesystemio_options = setall

Details

设置 `filesystemio_options = setall`以获得最佳 I/O 性能。从缓冲 I/O 迁移时,如果需要,请调整系统全局区域 (SGA) 大小。

多块读取计数

删除 `db_file_multiblock_read_count`参数。

Details

针对 Oracle 数据库,从基于文本的 FILE init.ora 或服务器管理的二进制 SPFILE (spfile<SID>.ora) 中删除 db_file_multiblock_read_count 参数,以防止性能问题并允许 Oracle 自动管理此设置。

Oracle Critical Patch Updates

应用当前 CPU 更新。

Details

应用最新的 Oracle Critical Patch Updates 来解决安全漏洞并维护数据库环境的完整性。定期审查和应用补丁,以防范潜在威胁,并确保符合安全最佳实践。

故障恢复能力

应用程序一致性快照

将应用程序一致性快照与 NetApp SnapCenter 结合使用。

Details

使用 NetApp SnapCenter 的应用程序一致性快照,在特定时间点为卷数据拍摄准确、可靠的快照。SnapCenter 使备份更轻松,并帮助您快速恢复数据,减少停机时间并保护关键工作负载。

跨区域复制

防止区域性中断。

Details

启用跨区域复制 (CRR),以提高 Oracle 数据库的数据可用性和灾难恢复能力。CRR 通过在不同位置复制数据,帮助防止区域中断并确保业务连续性。

备份配置

为 ONTAP 备份或 AWS Backup 配置 FSx。

Details

配置 FSx for ONTAP 备份或 AWS Backup,以满足保留和合规性要求,同时避免重复的备份工作流。

克隆

克隆清理

定期删除旧克隆。

Details

定期删除过时的克隆,以降低存储成本并减少操作冗余。旧的和未使用的克隆会导致高成本。