注意:

在 OCI 上部署 Microsoft SQL Server Always On 可用性组,以实现高可用性和灾难恢复

简介

Microsoft SQL Server 的部署是 Oracle Cloud Infrastructure (OCI) 中的一个常见用例。与 OCI 部署中的常见情况一样,客户需要具有高度弹性的架构来满足业务连续性要求。因此,了解如何部署 SQL Server 以实现高可用性和灾难恢复成为这些客户的当务之急。

有几种 SQL Server 业务连续性解决方案。本教程中讨论的解决方案由 SQL Server 管理员始终在可用性组上广泛采用。还可以将 SQL Server Always On 故障转移集群实例 (FCI) 等解决方案部署在 OCI 上,但本教程中未包含这些解决方案。

本教程以客户用例为灵感,通过将 SQL Server Always On 可用性组部署在 OCI 上的三个关键要素集中在一个文档中,实现差异化。

体系结构

本教程使用以下体系结构:

体系结构

目标

创建和配置以下各项:

先决条件

本教程的排除项

任务 1:配置辅助 IP

对于每个 SQL Server 节点 VM,创建 Windows Server 故障转移集群和“始终启用”可用性组监听程序所需的辅助 IP。

  1. 在 OCI 控制台中,转至 SQL Server 节点 1 VM,然后在资源菜单中选择附加的 VNIC

    VNIC 选择

  2. 选择主要 VNIC,然后在资源菜单中选择 IPv4 地址

    VNIC 详细信息

    VNIC IPv4 地址

  3. 选择添加辅助专用 IP 地址,然后输入向 VNIC 添加新专用 IP 的详细信息。单击创建,我们将看到与此 VNIC 关联的新辅助 IP。这是 WSFC IP。

    VNIC IPv4 地址

  4. 在同一 VNIC 中重复步骤 1 到 3,为“始终启用”可用性组监听程序创建另一个辅助 IP。

  5. 对其他 SQL Server 节点 VM 重复步骤 1 到 4。

任务 2:创建 SQL Server 服务帐户

SQL Server 需要使用专用域帐户。在此任务中,我们将创建此客户。稍后在教程中,我们使用此帐户在每个节点上配置 SQL Server 服务。

  1. 使用域管理员帐户登录到域控制器,然后导航到 Active Directory Users and Computers

    OpenAD

  2. 展开您为此教程配置的域。

    ExpandAD

  3. 右键单击用户,然后选择新建用户以创建新用户。

    新建用户

  4. 输入以下详细信息,然后单击下一步

    新用户详细信息

  5. 输入此域帐户的密码,然后单击下一步

    新建用户口令

  6. 复查详细信息,然后单击完成

    新用户完成

任务 3:配置见证文件共享

如上所述,本教程中的体系结构使用文件共享见证来实施法定见证。在此任务中,我们将创建一个共享文件夹。在后续任务中,我们将使用此共享文件夹配置 Windows Server 故障转移群集。

  1. 使用域管理员帐户登录到法定 VM 并创建见证人文件夹。

    已创建见证文件夹

  2. 右键单击创建的文件夹,然后选择属性。在共享选项卡上,单击共享并选择所有人以共享文件夹。如果希望更严格,请选择在任务 2 中创建的 SQL Server 服务帐户。

    目击者文件夹共享

  3. 我们将看到该文件夹已共享,单击完成

    已共享见证文件夹

任务 4:配置 Windows Server 故障转移群集

SQL Server Always On 可用性组在 Windows Server 故障转移集群 (WSFC) 技术上运行。在此任务中,我们将:

任务 4.1:将 WSFC 角色添加到 SQL Server VM

  1. 使用域管理员登录到 SQL Server 节点 1 VM,打开服务器管理器,然后在仪表盘上单击添加角色和功能

    WSFC 添加角色和功能

  2. 单击下一步继续执行安装类型

    WSFC 添加角色和功能

  3. 选择基于角色或基于功能的安装,然后单击下一步

    WSFC 基于角色或基于功能的安装

  4. 选择目标服务器中,选择服务器池中的服务器和 SQL Server 节点 1,然后单击下一步以继续。

    WSFC 服务器选择

  5. 功能中,选择故障转移群集。执行此操作后,将显示一个窗口,然后单击添加功能

    WSFC 特性选择

    WSFC 添加功能

  6. 确认安装选择中,查看详细信息并单击安装以确认安装。

    WSFC 功能安装

  7. 安装完成后,关闭向导。

    WSFC 功能安装完成

  8. 要确认安装,请在搜索栏上键入 Failover Cluster Manager 。您可以打开它,并看到它尚未包含集群。

    WSFC 搜索和确认

    WSFC 就绪

  9. 在其他 SQL Server 节点 VM 中重复步骤 1 到 8。

任务 4.2:创建集群

  1. 使用域管理员帐户登录到 SQL Server 节点 1 VM,然后打开 Failover Cluster Manager(故障转移群集管理器)。您将发现没有正在运行的集群。

    WSFC 集群创建开始

  2. 右键单击 Failover Cluster Manager(故障转移集群管理器)并选择 Create Cluster...(创建集群 ...),这将打开 Create Cluster Wizard(创建集群向导)

    WSFC 集群创建

  3. 打开创建集群向导后,单击下一步以继续。

    WSFC 集群创建向导

  4. 单击浏览并选择 SQL Server 节点 1 和 SQL Server 节点 2 VM。

    WSFC 集群创建浏览节点

  5. 确认已选择相应的节点,然后单击下一步

    WSFC 集群创建确认节点

  6. 选择 Yes,When I click Next,run the configuration tests,and return to the process of creating the cluster ,然后单击 Next

    WSFC 集群创建运行验证

  7. 选择运行所有测试,然后单击下一步

    WSFC 集群创建运行所有测试

  8. Confirmation 窗口中,单击 Next

    WSFC 集群创建确认所有测试

    等待所有测试完成。

    正在运行的 WSFC 集群创建测试

  9. 单击 Finish(完成)。

    WSFC 集群创建测试已完成

  10. 输入 Cluster Name 并考虑 NetBIOS 约束条件。

    WSFC 集群创建名称

  11. 在创建集群之前确认集群,然后单击下一步

    WSFC 集群创建确认设置

  12. 成功创建群集后,单击完成

    WSFC 集群创建完成

  13. 打开 Failover Cluster Manager(故障转移群集管理器),您将能够看到新创建的群集。

    WSFC 新创建的集群

  14. 请注意, Cluster Core Resources 部分中的群集状态为 Offline 。展开资源并查找尚未配置的群集 IP 地址。我们将在几步后做到这一点。

    WSFC 集群脱机

任务 4.3:配置群集

  1. 在设置群集 IP 之前,我们将配置法定见证人。右键单击群集名称,选择 More Actions(更多操作)Configure Cluster Quorum Settings...(配置群集法定设置 ...)。这将打开配置向导。

    WSFC 集群法定设备

  2. Configure Cluster Quorum Wizard 窗口中,单击 Next 继续操作。

    WSFC 集群法定开始时间

  3. 选择选择法定见证人,然后单击下一步

    WSFC 集群法定配置选项

  4. 选择配置文件共享见证人,然后单击下一步

    WSFC 集群法定选择见证人

  5. 输入在任务 3 中配置的文件共享路径,然后单击下一步

    WSFC 集群法定文件共享路径

  6. 查看法定配置设置,然后单击 Next

    WSFC 集群法定审核设置

  7. 将配置法定见证人。成功完成配置后,单击完成以关闭向导。

    WSFC 集群法定配置完成

  8. 我们将任务 1 中创建的 IP 关联到集群。这将启动集群并使其运行。在 Failover Cluster Manager(故障转移群集管理器)上,展开 Cluster Core Resources(群集核心资源),右键单击状态为 Failed(失败)的 IP 地址,然后单击 Properties(属性)

    WSFC 集群 IP 属性

  9. 一般信息选项卡中,指定在任务 1 中为此节点配置的静态 IP 地址,然后单击应用

    WSFC 集群 IP 设置

  10. 对其他 IP 重复步骤 8 和 9。您将正确设置群集。当群集名称资源联机时,它将使用新的 Active Directory 计算机对象更新域控制器服务器。现在,我们已准备好转到“始终启用”可用性组配置。

    WSFC 集群 IP 设置完成

任务 5:为示例数据库配置始终可用组

在此任务中,我们将:

任务 5.1:向集群域计算机对象授予权限

  1. 使用域管理员帐户登录到域控制器,然后打开 Active Directory 用户和计算机

    始终在可用性组上打开 AD

  2. 单击查看并选择高级功能以查看高级功能。

    始终在可用性组上 AD 查看高级功能

  3. 右键单击计算机,然后选择属性

    始终在可用性组 AD 计算机属性上

  4. 转到 Security(安全)选项卡,然后单击 Add(添加)

    始终在可用性组 AD 计算机添加

  5. Users,Computers,Service Accounts,or Groups 向导中,单击 Object Types...

    始终在可用性组 AD 对象类型上

  6. 选择 Computers(计算机)并单击 OK(确定)

    始终在可用性组 AD 计算机对象上

  7. 输入集群的名称,然后单击确定。现在,我们将在组或用户名列表中看到集群计算机对象。

    始终在可用性组上 AD 集群对象名称

  8. 选择群集计算机对象,然后单击高级以配置权限。

    始终在可用性组上 AD 集群计算机对象高级设置

  9. 权限选项卡上,选择群集计算机对象,然后单击编辑

    始终在可用性组上 AD 集群计算机对象权限

  10. 选择创建计算机对象权限条目,然后单击确定

    始终在可用性组上 AD 创建计算机对象

  11. 现在,我们返回计算机的高级安全设置,然后依次单击应用确定。因此,集群的计算机帐户具有“始终启用”可用性组工作所需的权限。

    始终在可用性组上 AD 返回计算机的高级安全设置

    始终在可用性组上 AD 返回计算机属性

任务 5.2:在节点中启用“Always On(始终启用)”可用性组

  1. 使用域管理员帐户登录到 SQL Server 节点 1 VM,然后打开 SQL Server Configuration Manager

    始终在可用性组上打开 SQL Server Configuration Manager

  2. 单击 SQL Server Services(SQL 服务器服务),右键单击 SQL Server (MSSQL SERVER) ,然后选择 Properties(属性)

    始终启用可用性组 SQL Server 服务属性

  3. 始终在可用性组上选项卡上,选择启用始终在可用性组上。请注意已在任务 4.2 中创建的群集的名称,即 Windows Server Failover Cluster ,然后单击 Apply 。将显示用于重新启动服务的警告消息。单击确定以应用更改。将重新启动服务。

    始终在可用性组上选中“启用始终在可用性组上启用”复选框

  4. 如果 SQL Server 服务未自动重新启动,则可以手动重新启动它,右键单击 SQL Server 服务并单击重新启动

    始终在可用性组上重新启动服务消息

  5. 右键单击 SQL Server 服务,选择属性并转至登录选项卡。选择此帐户并输入在任务 2 中创建的 SQL Server 帐户详细信息。单击 Apply(应用),然后单击 OK(确定)

    始终在可用性组上服务账户配置

  6. 对 SQL Server 节点 2 VM 重复步骤 1 到 5。

任务 5.3:为始终在可用性组创建和备份示例数据库

  1. 使用域管理员帐户登录到 SQL Server 节点 1 VM,打开 SQL Server Management Studio 并连接到该节点中的 SQL Server 实例。

    始终在可用性组上打开 SQL Server 管理工作室

  2. 选择新查询并使用创建数据库查询创建示例数据库,如下图中所示。

    始终在可用性组上新建查询

    始终在可用性组上创建数据库

  3. 对象浏览器上展开数据库,我们将找到在步骤 2 中创建的示例数据库。右键单击它,单击任务,然后单击备份 ...

    始终使用可用性组示例数据库备份

  4. 选择完全作为备份类型。检查并确认备份目标,然后单击确定

    始终在可用性组上执行数据库完全备份示例

  5. 我们将看到一条消息,通知备份已成功完成。单击确定

    始终在可用性组上执行数据库成功备份示例

任务 5.4:为示例数据库创建可用性组

  1. 备份已创建,我们已准备好开始配置可用性组。右键单击始终在高可用性上,然后选择新建可用性组向导 ...

    始终在可用性组上新建 AG 向导

  2. 创建新可用性组中,单击下一步以继续。

    始终在可用性组上新建 AG 向导下一步

  3. 输入可用性组名称,选择 Windows Server Failover Cluster 作为集群类型,然后单击下一步

    始终在可用性组上新建 AG 名称

  4. 选择在任务 5.3 中创建的示例数据库,然后单击下一步

    始终在可用性组上新建 AG 选择数据库

  5. Specify Replicas(指定副本)窗口中,单击 Specify Replicas(指定副本)Add Replica...(添加副本 ...)以选择节点 2 副本。在窗口中,输入节点 2 服务器 VM 的名称,然后单击连接

    Always On 可用性组 New AG Select Replica

  6. 现在,我们将看到两个副本,一个具有主角色,另一个具有辅助角色。我们可以根据需求更改可用性模式。单击下一步,我们会注意到监听程序选项卡。现在跳过它。我们将在本教程的后面部分中配置监听程序。

    始终在可用性组上新建 AG 所选副本

  7. Select Data Synchronization(选择数据同步)中,选择 Automatic seeding(自动植入)并单击 Next(下一步)

    始终在可用性组上新建 AG 自动植入

  8. 将运行配置验证。我们可以看到,除了监听程序配置之外,所有验证结果都成功。单击下一步

    始终在可用性组上新建 AG 验证

  9. 概要中,单击完成以完成可用性组的创建和配置。

    始终在可用性组上新建 AG 完成配置

  10. 结果中,我们将看到一条消息,通知您可用性组配置已成功完成。单击关闭

    始终在可用性组上新建 AG 成功配置

可用性组已创建,我们可以在对象浏览器上查看其详细信息。

始终在可用性组上新建 AG 咨询详细信息

任务 5.5:创建可用性组监听程序

在本任务中,我们将为在任务 5.4 中创建的可用性组创建监听程序。监听程序是一个虚拟网络名称,用于在“始终启用”可用性组配置上提供与数据库的连接。它允许客户端连接到副本,而无需知道 SQL Server 的物理实例名称。由于监听程序路由流量,因此在发生故障转移后无需修改客户机连接字符串。

  1. 对象浏览器上,展开可用性组和任务 5.4 中创建的可用性组,然后右键单击可用性组监听程序并选择添加监听程序 ...

    始终在可用性组上添加监听程序

  2. 为监听程序输入监听程序 DNS 名称,在网络模式中指定端口 1433Static IP 。单击添加 ... 可添加在任务 1 中创建的监听程序 IP。

    始终在可用性组上监听程序名称端口

  3. 确保所连接节点的子网是选定的子网,然后输入 IPv4 地址,并在任务 1 中为监听程序创建辅助 IP,然后单击确定

    始终在可用性组上监听程序 IP

  4. 要添加第二个 IP,请再次单击 Add... 。确保选定的子网是其他节点的子网,并输入在任务 1 中为其他节点创建的辅助 IP 的 IP 地址。单击确定

  5. 确认可以看到已配置的两个 IP,然后单击 OK(确定)完成监听程序创建。

    始终在配置 IP 的可用性组上

  6. 转到对象浏览器,并确认监听程序出现在可用性组监听程序文件夹中。

    在对象浏览器上始终启用可用性组监听程序

SQL Server Management Studio 中,我们现在可以连接到监听程序,就像连接到任何 SQL Server 节点一样。您的“始终启用”可用性组配置已完成,并且您有一个监听程序来促进应用程序连接。您的部署现在可以进行故障转移,您可以手动执行。

始终在可用性组上监听程序连接

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心