如何在 AWS 云中创建 SQL Server Always On 可用性组集群?

上次更新时间:2019 年 5 月 16 日

我想在 AWS 云中创建一个 SQL Server Always On 可用性组集群。我该如何操作?

简短描述

首先,为每个集群节点弹性网络接口配置两个辅助 IP。然后,使用远程桌面协议 (RDP) 作为域管理员账户连接到集群节点实例。最后,创建一个双节点 Windows 集群和 SQL Server Always On 可用性组。

解决方法

先决条件:

  • 跨 Virtual Private Cloud (VPC) 内的多个可用区启动两个 Amazon Elastic Compute Cloud (Amazon EC2) Windows Server 实例(Windows Server 2012 R2 或更高版本)。
  • 使用 SQL Server 2014 64 位企业版或更高版本。对于测试,您可以使用 SQL Server 2014 64 位评估版或更高版本。
  • 配置辅助 Amazon Elastic Block Store (Amazon EBS) 卷来托管 SQL Server Master 数据文件、日志数据文件和 SQL 备份文件。最佳实践是为大型 SQL Server 数据库工作负载选择预配置 IOPS SSD (io1) EBS 卷。
  • 在私有子网中部署集群节点。然后,您可以使用 RDP 从 jump 服务器连接到集群节点实例。
  • 配置安全组入站规则和 Windows 防火墙例外,以允许节点在限制性环境中进行通信。
  • Active Directory (AD) 域控制器必须为 SQL 节点开启所有必要端口 ,并见证加入域和验证 AD。
  • 在创建 Windows 故障转移集群前,将节点加入域。在创建和配置集群之前验证您已使用域凭证登录。
  • 运行 SQL 数据库实例与 AD 服务账户。
  • 使用 Windows 域身份验证创建具有 sysadmin 权限的 SQL 登录。有关更多信息,请咨询您的数据库管理员。
  • 验证 SQL 浏览器的配置是否正确。仅 SQL Server 命名实例必须执行此操作。

为每个集群节点弹性网络接口配置辅助 IP

每个集群节点 eth0 的弹性网络接口必须有两个辅助 IP。
注意:如果您不打算部署一个 SQL Group Listener,只需为每个集群节点弹性网络接口添加一个辅助 IP 。

1.    打开 Amazon EC2 控制台,然后选择将托管您的 Always On 集群的 AWS 区域。

2.    从导航窗格中,选择实例 ,然后选择 EC2 集群实例。

3.    在 描述选项卡上,选择 eth0

4.    选择 接口 ID 弹性网络接口。

5.    对于操作,选择管理 IP 地址

6.    选择分配新 IP。您可以选择特定 IP,或将该字段保留为“自动分配”。重复此步骤以添加第二个新 IP。

7.    选择是,更新

8.    对于将参与集群的其他 EC2 实例,重复步骤 1-7。

创建双节点 Windows 集群

1.    使用 RDP 及一个域账户(对两个节点均有本地管理员权限)连接到 EC2 实例

2.    在 Windows 开始 菜单中,打开控制面板,然后选择网络和共享中心

3.    从导航窗格中选择更改适配器设置

4.    选择网络连接,然后选择更改此连接的设置

5.    选择 Internet 协议版本 4 (TCP/IPv4),然后选择 属性

6.    选择高级

7.    在 DNS 选项卡中,选择附加主要和特定于连接的 DNS 后缀

8.    选择确定,选择 确定,然后选择关闭

9.    对于将参与集群的其他 EC2 实例,重复步骤 1-8。

10.    在每个实例上,从服务器管理器安装节点上的集群功能 ,或运行以下 PowerShell 命令:

Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools

11.    以管理员身份打开 cmd ,然后输入 Clussvc.exe 以打开集群管理器。

12.    打开故障转移集群管理器的上下文(右键单击)菜单,然后选择 创建集群

13.    选择下一步,然后选择浏览

14.    对于输入对象名称以选择,输入集群节点主机名,然后选择 确定

15.    选择下一步。现在,您可以选择是否要验证集群。最佳实践是运行集群验证,如果未通过验证,Microsoft 可能不支持 SQL 集群。选择,然后选择下一步

16.    对于集群名称,输入一个名称,然后选择下一步

17.    清除将所有符合条件的存储添加到集群,然后选择下一步

18.    集群创建完成后,选择完成
注意:集群日志和报告位于以下路径:
%systemroot%\cluster\reports

19.    在集群管理器的集群核心资源部分中,展开新集群的条目。

20.    打开第一个 IP 地址条目的上下文(右键单击)菜单,然后选择 属性。对于 IP 地址,选择静态 IP 地址,然后输入一个与 eth0 弹性网络接口相关联的辅助 IP。选择确定。对于辅助 IP 地址条目,重复此步骤。

21.    打开集群名称的上下文(右键单击)菜单,然后选择在线使用

注意:最佳实践是也配置一个文件共享见证 (FSW) 来充当连接中断器。

创建 Always On 可用性组

1.    打开 SQL Server 配置管理器。

2.    打开 SQL 实例的上下文(右键单击)菜单,然后选择属性

3.    在 AlwaysOn 高可用性选项卡上,选择启用 AlwaysOn 可用性组,然后选择应用

4.    打开 SQL 实例的上下文(右键单击)菜单,然后选择重启

5.    对于集群的其他集群节点部分,重复步骤 1-4。

6.    打开 Microsoft SQL Server Management Studio (SSMS)。

7.    使用具有 SQL 实例访问权限的 Windows 验证用户名,登录其中一个 SQL 实例。
注意:最佳实践是跨多个 SQL 实例使用相同的 MDF 和 LDF 目录文件路径。

8.    创建测试数据库。打开数据库的上下文(右键单击)菜单,然后选择新建数据库
注意:请务必使用选项页面上的完全恢复模式

9.    对于数据库名称,输入一个名称,然后选择确定

10.    打开新数据库名称的上下文(右键单击)菜单,选择任务,然后单击选择备份
对于备份类型,选择完整

11.    选择确定,然后选择确定

12.    打开 Always On 高可用性的上下文(右键单击)菜单,然后选择新可用性组向导

13.    选择下一步

14.    对于可用性组名称,输入一个名称,然后选择下一步

15.    选择数据库,然后选择下一步

16.    主副本已存在于“可用性副本”窗口中。选择添加副本创建一个辅助副本。

17.    对于服务器名称,输入辅助副本名称,然后选择连接

18.    对于可用性模式确定想要的可用性模式,然后为每个副本选择同步提交异步提交

19.    选择下一步

20.    选择数据同步首选项,然后选择下一步

21.    验证成功后,选择下一步
注意:您可以放心地忽略检查侦听器配置,因为我们将稍后添加。

22.    选择完成,然后选择关闭

添加 SQL 组侦听器

1.    打开 SSMS,然后展开 Always On 高可用性可用性组[主副本名称]

2.    打开可用性组侦听器的上下文(右键单击)菜单,然后选择添加侦听器
对于侦听器 DNS 名称,输入一个名称。
对于端口,输入 1433
对于网络模式,选择静态 IP

3.    选择添加
对于 IPv4 地址,输入其中一个集群节点实例的第二个辅助 IP 地址,然后选择确定。使用其他集群节点实例的第二个辅助 IP 地址,重复此步骤。

4.    选择确定

测试故障转移

1.    使用 SSMS,打开导航菜单上的主副本上下文(右键单击)菜单,然后选择故障转移

2.    选择下一步,然后选择下一步

3.    选择连接,然后选择连接

4.    选择下一步,然后选择完成。故障转移后,主副本将变为辅助副本。


这篇文章对您有帮助吗?

您觉得我们哪些地方需要改进?


需要更多帮助?