需要考虑的因素
本节介绍在云中使用 Azure NetApp Files 和 SQL Server 时应考虑的不同问题。
虚拟机性能
选择合适的 VM 大小对于公有云中关系数据库的最佳性能非常重要。Microsoft 建议您继续使用适用于内部服务器环境中 SQL Server 的相同数据库性能调整选项。使用 … "内存优化" VM 大小可实现 SQL Server 工作负载的最佳性能。收集现有部署的性能数据,以确定 RAM 和 CPU 利用率,同时选择合适的实例。大多数部署可选择 D , E 或 M 系列。
-
注: *
-
要获得最佳的 SQL Server 工作负载性能,请使用内存优化的 VM 大小。
-
NetApp 和 Microsoft 建议您先确定存储性能要求,然后再选择具有适当内存到 VCORE 比率的实例类型。这还有助于选择具有适当网络带宽的较低实例类型,以克服 VM 的存储吞吐量限制。
VM 冗余
高可用性
为了实现高可用性,最好配置 SQL Server AOAG 或始终在故障转移集群实例( FCI )上。对于 AOAG ,这涉及到一个虚拟网络中 Azure 虚拟机上的多个 SQL Server 实例。如果数据库级别需要高可用性,请考虑配置 SQL Server 可用性组。
存储配置
Microsoft SQL Server 可以使用 SMB 文件共享作为存储选项进行部署。从 SQL Server 2012 开始,系统数据库(主数据库,型号数据库, msdb 或 tempdb ), 用户数据库可以作为存储选项与服务器消息块( Server Message Block , SMB )文件服务器一起安装。此适用场景既适用于 SQL Server 独立服务器,也适用于 SQL Server FCI 。
SQL Server 数据库的文件共享存储应支持持续可用的属性。这样可以无中断地访问文件共享数据。 |
Azure NetApp Files 可提供高性能文件存储来满足任何苛刻的工作负载要求,与块存储解决方案相比,它可以降低 SQL Server 的 TCO 。对于块存储, VM 会对磁盘操作的 I/O 和带宽施加限制;仅对 Azure NetApp Files 应用网络带宽限制即可。换言之,不会对 Azure NetApp Files 应用 VM 级别的 I/O 限制。如果没有这些 I/O 限制,在连接到 Azure NetApp Files 的较小 VM 上运行的 SQL Server 以及在较大 VM 上运行的 SQL Server 就可以正常运行。Azure NetApp Files 可降低计算和软件许可成本,从而降低 SQL Server 部署成本。有关使用 Azure NetApp Files for SQL Server 部署的详细成本分析和性能优势,请参见 "使用 Azure NetApp Files for SQL Server 部署的优势"。
优势
使用 Azure NetApp Files for SQL Server 的优势包括:
-
使用 Azure NetApp Files 可以使用较小的实例,从而降低计算成本。
-
Azure NetApp Files 还可以降低软件许可成本,从而降低总体 TCO 。
-
卷重新调整和动态服务级别功能可针对稳定状态的工作负载进行规模估算并避免过度配置,从而优化成本。
-
注: *
-
要提高冗余和高可用性, SQL Server VM 应处于同一状态 "可用性集" 或不同的 "可用性区域"。如果需要用户定义的数据文件,请考虑文件路径要求;在这种情况下,请选择 SQL FCI over SQL AOAG 。
-
支持以下 UNC 路径: "\\ANFSMB-b4ca.anf.test\SQLDB 和 \\ANFSMB-b4ca.anf.test\SQLDB\"。
-
不支持环回 UNC 路径。
-
要进行规模估算,请使用内部环境中的历史数据。对于 OLTP 工作负载,使用平均和高峰时间的工作负载以及磁盘读取 / 秒和磁盘写入 / 秒性能计数器将目标 IOPS 与性能要求进行匹配。对于数据仓库和报告工作负载,请使用工作负载在平均和峰值时间以及磁盘读取字节 / 秒和磁盘写入字节 / 秒匹配目标吞吐量平均值可与卷重新调整功能结合使用。
创建持续可用的共享
使用 Azure 门户或 Azure 命令行界面创建持续可用的共享。在门户中,选择启用持续可用性属性选项。对于 Azure 命令行界面,使用 az netappfiles volume create 并将 smb-continuoused-avl
选项设置为 ` $True` 来将共享指定为持续可用的共享。要了解有关创建启用了持续可用性的新卷的详细信息,请参见 "创建持续可用的共享"。
-
注: *
-
为 SMB 卷启用持续可用性,如下图所示。
-
如果使用的是非管理员域帐户,请确保已为该帐户分配所需的安全权限。
-
在共享级别设置适当的权限,并设置适当的文件级别权限。
-
无法在现有 SMB 卷上启用持续可用属性。要将现有卷转换为使用持续可用的共享,请使用 NetApp Snapshot 技术。有关详细信息,请参见 "将现有 SMB 卷转换为使用持续可用性"。
性能
Azure NetApp Files 支持三种服务级别:标准(每 TB 16 MBps ),高级(每 TB 64 MBps )和超级(每 TB 128 MBps )。配置适当的卷大小对于优化数据库工作负载性能非常重要。使用 Azure NetApp Files 时,卷性能和吞吐量限制取决于以下因素的组合:
-
卷所属容量池的服务级别
-
分配给卷的配额
-
容量池的服务质量( QoS )类型(自动或手动)
有关详细信息,请参见 "Azure NetApp Files 的服务级别"。
性能验证
与任何部署一样,测试虚拟机和存储也至关重要。对于存储验证,可使用 HammerDB , Apploader ,等工具 "SQL Server 存储基准测试( Storage Benchmark , SB )工具"或任何具有适当读 / 写混合的自定义脚本或 FIO 。但请注意,大多数 SQL Server 工作负载,甚至繁忙的 OLTP 工作负载,读取率接近 80% – 90% ,写入率接近 10% – 20% 。
为了展示性能,我们对使用高级服务级别的卷执行了快速测试。在此测试中,卷大小从 100 GB 实时增加到 2 TB ,而不会中断应用程序访问和零数据迁移。
下面是使用 HammerDB 对本白皮书所述的部署执行实时性能测试的另一个示例。在此测试中,我们使用了一个小型实例,其中包含八个 vCPU ,一个 500 GB 高级 SSD 和一个 500 GB SMB Azure NetApp Files 卷。HammerDB 配置了 80 个仓库和 8 个用户。
下图显示,使用大小相当的卷( 500 GB )时, Azure NetApp Files 能够以 4 倍的延迟提供每分钟事务数的 2.6 倍。
另一项测试是,将大小调整为使用 32 个 vCPU 和 16 TB Azure NetApp Files 卷的较大实例。每分钟事务数显著增加,延迟始终保持在 1 毫秒。在此测试中, HammerDB 配置了 80 个仓库和 64 个用户。
成本优化
通过 Azure NetApp Files ,可以无中断,透明地调整卷大小,并且可以在不发生停机且不影响应用程序的情况下更改服务级别。这是一项独特的功能,可实现动态成本管理,避免使用峰值指标执行数据库规模估算。而是可以使用稳定状态的工作负载,从而避免前期成本。通过卷重新调整和动态服务级别更改,您可以几乎瞬时按需调整 Azure NetApp Files 卷的带宽和服务级别,而无需暂停 I/O ,同时保留数据访问。
可以使用 LogicApp 或功能等 Azure PaaS 产品根据特定的 webhook 或警报规则触发器轻松调整卷大小,以满足工作负载需求,同时动态处理成本。
例如,假设数据库需要 250 MBps 才能实现稳定状态操作;但是,它也需要 400 MBps 的峰值吞吐量。在这种情况下,应使用高级服务级别内的 4 TB 卷执行部署,以满足稳定状态的性能要求。要处理高峰工作负载,请在该特定时间段内使用 Azure 功能将卷大小增加到 7 TB ,然后减小卷大小以使部署经济高效。此配置可避免过度配置存储。