本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EC2 上的 SQL Server 单节点架构
下图说明了在添加对高可用性 (HA) 和灾难恢复 (DR) 的支持之前,Amazon Elastic Compute Cloud (Amazon EC2) 上的单节点 SQL Server 的建议架构。
在此架构中,SQL Server 数据库部署到 EC2 实例,使用适用于 SQL Server 的 Amazon 机器映像 (AMI) 以及用于 OS、DATA、LOG 和备份的单独卷。非易失性内存快速 (NVMe) 存储直接附加到 EC2 实例,并用于 SQL Server tempdb 数据库。AWS Directory Service 用于为 SQL Server 数据库设置 Windows 身份验证。还可以使用 AWS Systems Manager 来检测和安装 SQL Server 修补程序和更新。
下表总结了有关配置此体系结构的建议。以下各节将详细讨论这些建议。
| 实例类型/AMI |
|
| SQL Server 版本 |
|
| 存储类型 |
|
| 卷 |
|
| 灾难恢复选项 |
|
实例类型
AWS 为您的 SQL Server 工作负载提供了一系列实例类
对于关键工作负载,高性能 z1d 实例
Amazon 还为 Microsoft Windows Server 上的 SQL Server 提供专用 AMI
存储
一些实例类型支持 NVMe 实例存储卷。NVMe 是一种临时(短暂)存储选项。此存储直接附加到 EC2 实例。尽管 NVMe 存储是临时的,并且在重新启动时会丢失数据,但它提供了最佳性能。因此,它适用于具有高 I/O 和随机数据访问模式的 SQL Server tempdb 数据库。在 tempdb 上使用 NVMe 实例存储不收取任何额外费用。有关其他指导,请参阅在 Amazon EC2 上部署 SQL Server 的最佳实践指南中的将 tempdb 置于实例存储中部分。
Amazon EBS 是一种持久存储解决方案,可满足 SQL Server 对快速、可用存储的要求。Microsoft 建议将数据卷和日志卷分开以获得最佳性能。这种分离的原因包括以下几点:
-
不同的数据访问方法。数据卷使用联机事务处理 (OLTP) 随机数据访问,而日志卷使用串行访问。
-
更好的恢复选项。一个卷的丢失不会影响另一个卷,并且有助于恢复数据。
-
不同的工作负载类型。数据卷用于 OLTP 工作负载,而日志卷面向联机分析处理 (OLAP) 系统工作负载。
-
不同的性能要求。数据卷和日志卷具有不同的 IOPS 和延迟要求、最低吞吐率以及类似的性能基准。
要选择正确的 Amazon EBS 卷类型,您应分析数据库访问方法、IOPS 和吞吐量。在标准工作时间和高峰使用期间收集指标。SQL Server 使用数据区来存储数据。SQL Server 中的原子存储单元是一个页面,大小为 8 KB。八个物理上连续的页面组成一个范围,大小为 64 KB。因此,在 SQL Server 计算机上,用于托管 SQL 数据库文件(包括 tempdb)的 NTFS 分配单位大小应为 64 KB。有关如何检查驱动器的 NTFS 分配大小的信息,请参阅在 Amazon EC2 上部署 SQL Server 的最佳实践指南。
EBS 卷的选择取决于工作负载,也就是说,数据库是读取密集型还是写入密集型数据库,都需要高 IOPS、存档存储和类似的注意事项。下表显示了一个示例配置。
| Amazon EBS 资源 | 类型 | 描述 |
|---|---|---|
| 操作系统磁盘 |
|
通用存储。 |
| 数据盘 |
|
写入密集型存储。 |
| 日志磁盘 |
|
适用于密集型工作负载的通用存储。 |
| 备份磁盘 |
|
更便宜的归档存储。为了获得更好的性能,如果定期将备份复制到 Amazon Simple Storage Service (Amazon S3),也可以将备份存储在速度更快的磁盘上。 |
Amazon EBS 和 Amazon S3 注意事项
下表显示了用于存储的 Amazon EBS 和 Amazon S3 的比较。使用此信息了解这两种服务之间的差异,并为您的用例选择最佳方法。
| 服务 | 可用性 | 持久性 | 备注 |
|---|---|---|---|
| Amazon EBS |
|
|
|
| Amazon S3 () |
|
|
|
适用于 Windows File Server 的 SQL Server Amazon FSx
适用于 Windows File Server 的 Amazon FSx 提供快速性能,每个文件系统的基准吞吐量高达 2 GB/秒、数十万 IOPS 和一致的亚毫秒级延迟。要为 SQL Server 实例提供适当的性能,您可以选择与文件系统大小无关的吞吐量级别。更高级别的吞吐容量还附带更高级别的 IOPS,文件服务器可以为访问它的 SQL Server 实例提供服务。存储容量不仅决定了您可以存储的数据量,还决定了您可以在存储上执行的每秒 I/O 操作数 (IOPS) — 每 GB 存储提供 3 IOPS。您可以将每个文件系统的大小配置为最大 64 TiB(相比之下,Amazon EBS 为 16 TiB)。您还可以将 Amazon FSx 系统用作 Windows Server 失效转移群集 (WSFC) 部署的文件共享见证。