自动化 SQL Server 发现与评估,以加速迁移至 AWS 数据库博客
- 13
加速向 AWS 辻转的 SQL Server 自动发现与评估
关键要点
采用适合的迁移策略对成功转移 SQL Server 工作负载至 AWS 至关重要。使用 RDSTools 等自动化工具能够加速 SQL Server 的评估和规划过程。关注 SQL Server 迁移评估阶段的挑战及解决方案,以简化迁移流程。在进行 SQL Server 的迁移时,采用 提升与迁移 (lift and shift) 的迁移策略是一种有效的选择,特别是在面临时间紧迫的情况下。然而,确保所选择的迁移策略与组织整体云采纳战略相符合,才能实现长期云原生架构的好处。对于许多应用来说,结合使用提升与迁移及其他迁移方式,如 重新平台化或重构,可能会取得最佳效果。每个工作负载的迁移项目都需仔细评估,以确定最适合的策略,基于应用程序和组织的特定需求与限制。
组织通常会将 SQL Server 工作负载迁移至像 Amazon RDS for SQL Server 这样的托管数据库服务,以减轻基础设施管理和运营开销的压力。Amazon RDS 提供了多个优势,包括自动备份、高可用性和可扩展性,大幅减轻 SQL Server 工作负载管理的复杂性。在本篇文章中,我们将概述 SQL Server 迁移评估阶段常遇到的挑战,并建议有效方案,以加速此过程,特别是转向托管平台如 Amazon RDS for SQL Server 和 Amazon RDS Custom for SQL Server。
迁移评估挑战
手动且耗时的 SQL Server 迁移评估过程是一个主要挑战。务必识别所有与 Amazon RDS 兼容的功能。Amazon RDS 清楚地列出了 不支持的功能 以及那些受到有限支持的功能。在评估阶段,全面清点环境中使用的 SQL Server 功能至关重要。识别不支持或有限支持的特性是数据库管理员和系统管理员的重要步骤。
另一个挑战是选择合适的 Amazon RDS 计算与存储类型。Amazon RDS 提供多种 实例类型 和 存储选项,以满足不同数据库性能和容量需求。选择正确的 RDS DB 实例需与您本地 SQL Server 实例的 CPU 和内存规格相匹配。尽管 Amazon RDS 提供的多样选择提供了灵活性,但正确评估 SQL Server 工作负载的规模对有效的成本管理至关重要。此过程涉及分析您当前的工作负载,特别是峰值和平均资源使用,以准确确定性能需求。
RDSTools
RDSTools 是一套基于 PowerShell 的规划工具,旨在为 SQL Server 迁移至 AWS 提供大小优化与成本控制。RDSTools 汇总了您 SQL Server 环境的详细清单,包括 CPU 和内存使用情况,并对 AWS,特别是 Amazon RDS for SQL Server 进行兼容性和规模评估。
快橙加速器官方版该解决方案通过自动化以下任务,加速评估和规划过程:
捕捉详细的 SQL Server 清单,包括虚拟处理器、内存和存储规格。进行 Amazon RDS 兼容性评估,报告不受支持的特性。根据评估的资源推荐合适的平台,包括 Amazon RDS、RDS Custom 或 Amazon EC2。基于 SQL Server 使用指标建议适当的 RDS DB 实例类型。对每个数据库进行读写分析,提供 Amazon ElastiCache 的建议。Amazon ElastiCache 是一个全托管的内存数据存储,能够通过缓存常用数据显著提升网页应用的性能。通过将读写操作从主数据库卸载到内存缓存,ElastiCache 有助于减少数据库的负荷并改善响应时间。
RDSTools 支持从 SQL Server 2008 开始的所有版本和版本。请注意,该工具需要 SQL Server 系统管理员的登录凭证,并被设计为轻量型,确保对生产环境的影响最小。
该工具主要由两个部分组成:RDS Discovery 和 SQLServerAssessment。
RDS Discovery
RDS Discovery Tool 是一个轻量型工具,能够扫描一组本地 SQL Server 或 EC2 实例。它对超过 20 个特性的自动评估进行支持,确认启用特性与 Amazon RDS 的兼容性,并生成综合报告。这帮助验证启用的特性在 Amazon RDS 上的可支持性,并生成迁移至 Amazon RDS、RDS Custom 或 Amazon EC2 的推荐报告。
您可以使用 RDS Discovery 进行初步评估:
收集包含 SQL Server 版本、版本、功能以及高可用性配置如 FCI 和始终可用组的详细 SQL Server 清单。评估 Amazon RDS 的兼容性。确定使用中的 SQL Server 企业版特性。SQLServerAssessment
SQLServerAssessment Tool (SSAT) 简化了对您本地 SQL Server 工作负载的评估,以找到适当规模的系统使用情况,以便在 Amazon RDS 上正确配置。SSAT 高效地测量 CPU、内存、IOPS 和吞吐量的使用情况,并在设定时间框架内提供合适的建议,以达成正确规模的 SQL Server 在 AWS 上配置。该多功能工具能够评估单个和多个 SQL Server 实例。
在开始使用 SSAT 之前,了解该工具如何与您的 SQL Server 进行交互是重要的。其主要目标是评估顺利过渡至 Amazon RDS 对 SQL Server 所需的系统使用率。SSAT 收集各种性能指标,包括 CPU 利用率、内存使用率、IOPS 和吞吐量,所有这些都是在预定时间内收集。这些数据随后被用于为您的 RDS for SQL Server 实例制定量身定制的建议。
为此,SSAT 利用动态管理视图 (DMV),这是一种捕获数据库级别各种指标的强大特性。这种方法提供了更聚焦且准确的评估,最大限度地减少可能在收集服务器级数据时引起的噪音。
下表提供了工具用来收集指标的 DMVs 的详细说明。
指标DMV列备注/说明CPUsysdmosringbuffersSQLServerCPUUtilization SystemIdLe OtherProCpuUTSQL Server CPU 使用率 系统闲置 其他进程 内存sysdmosperformancecounters sysdmossysmemory sysdmossysinfoPLE CommittedKB committedtargetkb totalphysicalmemorykb availablephysicalmemorykb页面生命周期期望 在 SQL Server 内存管理器中提交的内存 SQL Server 内存管理器能够消耗的内存 操作系统可用的总物理内存 (KB) 当前可用物理内存的大小 (KB)磁盘 IOPSdmv sysdmiovirtualfilestatsRead Write Bread Bwrite读取和写入 IOPS 读取字节和写入字节性能利用率指标
在首次运行时,评估工具会创建一个专门用于捕捉性能指标的代理任务,临时储存在 MSDB 中的一个临时表中。数据收集完成后,工具将数据从临时表转移到 CSV 文件中。此过程中的一个关键设置是收集时间,默认为 60 分钟。然而,为了对收集的指标进行更全面的分析,建议将运行时间延长至 47 天。该工具设计为以一分钟的间隔启动代理任务,以维持此频率,直到达到指定的收集时间。
在此收集过程中,它在 MSDB 数据库中创建了五个表来存储收集到的指标:
SqlCollectionStatus 该表维护有关收集任务的信息,包括其开始时间、结束时间和状态。SqlCPUCollection 在此表中收集三项关键指标:SQL Server CPU 利用率、系统闲置和其他流程利用率。所有这三项指标均以百分比形式捕获。SqlMemCollection 此表存储各种与内存相关的指标,包括 SQL Server 内存使用量、SQL 最大内存目标、操作系统总内存、操作系统可用内存以及页面生命周期期望。SqlDBIO 此表记录用户数据库的 IOPS 和吞吐量指标在每个收集时间之间的变化,特别捕获增量变化。SqlDBIOTotal 此处,工具捕获总用户数据库 I/O,包括读取和写入操作。通过将数据组织到这些专用表中,工具确保有效地存储和直接访问关键性能指标,使您能有效地分析和优化 SQL Server 环境。
代理作业的生命周期通过工具进行管理,采用不同的开关。如需了解更多关于这些开关的信息,请参阅 GitHub 仓库。
评估后步骤
以下是执行评估后您可以考虑的可操作步骤:
遵循最佳实践 确保您遵循 SQL Server 的最佳实践。更多信息请参见 与 SQL Server 相关的最佳实践。通过精准配置优化成本 评估您的资源使用情况,以确保 SQL Server 部署与您的工作负载相匹配。更多信息请参见 精准配置的建议。通过使用 ElastiCache 优化性能 通过实施 ElastiCache 的缓存策略来增强应用程序性能。更多信息请参见 在 ASPNET Core Web 应用中使用 AWS 服务进行分布式缓存。通过整合优化成本 此外,您也可以考虑将 SQL Server 实例和数据库整合到单个 RDS DB 实例中,以降低开销并改善资源使用。结论
在本篇文章中,我们探讨了 SQL Server 迁移评估阶段常遇到的挑战,并提供了有效解决方案,以简化并加快该过程。如果您有任何问题或建议,请在下方留言。
作者介绍
Bachar Rifai 是 AWS 的高级合作伙伴解决方案架构师,专注于数据库。在这一角色中,Bachar 与 AWS 合作伙伴协作,为他们的数据库项目提供专业建议和技术支持。他的目标是提升利用 AWS 技术解决方案的效率和价值。
Sudhir Amin 是亚马逊网页服务 (AWS) 的高级解决方案架构师。他在纽约发展,为各行业的企业客户提供架构指导和技术援助,加速他们的云采纳。他热爱台球、拳击和 UFC,喜欢旅行探索丰富的野生动物保护区,近距离观察世界上最壮丽的动物。
Sudarshan Roy 是全球 AWS 数据库服务组织的高级数据库专家云解决方案架构师。他领导了大型数据库迁移和现代化项目,热衷于解决迁移到 AWS 云数据库工作负载时面临的复杂挑战。
加载评论