注意:

在 Oracle Cloud Infrastructure 上部署用于 HA 和 DR 的 Microsoft SQL Server Windows Server 故障转移集群

简介

Microsoft SQL Server (MSSQL) 企业级数据库基础设施严重依赖高可用性 (HA) 和灾难恢复 (DR) 功能来保持业务连续性并尽可能缩短停机时间。MSSQL 提供多种集群部署模型来帮助实现这些目标。这些模型包括“始终可用”组和“故障转移”群集实例。

虽然每个模型都有自己的优势和用例,但本教程将专门重点介绍使用小型计算机系统接口 (SCSI) 持久性保留 (PR) 功能部署和配置使用 OCI 块存储卷服务的 MSSQL 故障转移集群实例。有关 Always On 可用性组的更多信息,请参见 Deploy Microsoft SQL Server Always On Availability Groups for HA and DR on OCI

体系结构

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

architecture

目标

先决条件

任务 1:配置故障转移 IP

Windows Server 故障转移群集采用主动/被动群集模型,其中将专用 IP 地址(称为故障转移 IP 或浮动 IP)分配给群集。此故障转移 IP 会自动从发生故障的节点移至活动节点,从而确保持续的网络连接并尽可能减少停机时间。当节点发生故障时,故障转移 IP 会无缝传输到新的活动节点,从而允许客户机在不中断的情况下维护对群集资源的访问。

有关在两个 Microsoft SQL Server VM 上配置故障转移 IP 的更多信息,请参见 Automating Secondary IP address Failover on Windows Server

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

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

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

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

  3. 右键单击 Users(用户),然后单击 New User(新建用户)以创建新用户。

  4. 输入必需的信息,然后单击 Next(下一步)

    SQL Server 服务帐户

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

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

任务 3:创建法定磁盘和共享磁盘

我们在 WSFC 中使用专用共享磁盘进行法定用途,以防止在群集中的多个节点尝试同时进行控制时可能出现的记忆分裂情况。此专用磁盘可确保群集中的所有节点都具有群集状态的统一视图,从而防止冲突。

在此任务中,我们将创建两个启用了 SCSI PR 的不同共享块存储卷。在两个卷上启用 PR 作为保留共享资源的机制,确保只有授权节点才能访问这些资源。SCSI PR 是群集环境中的一项要求,因为它通过管理对共享磁盘的访问来防止数据损坏。

通过创建这两个具有不同角色的单独共享块存储卷并在两者上启用 SCSI PR,我们可以确保我们的 WSFC 正确配置以保持高可用性和冗余,既可以满足关键法定功能,也可以满足集群中运行的应用程序的数据存储需求。

要创建启用了 SCSI PR 的 OCI 块存储卷,请按照以下步骤操作:

  1. 登录到 OCI 控制台,导航到存储“块存储卷”页面,然后单击创建块存储卷

  2. 调整 Volume size and performance(卷大小和性能),然后选择 Enable Persistent reservation for iSCSI volume attachments(为 iSCSI 卷附加启用持久保留),为卷启用 SCSI PR。

    创建块存储卷

  3. 将卷逐个附加到 SQL Server VM。由于这些卷启用了 SCSI PR,因此只能以共享读写/只读模式连接这些卷。对于此设置,我们将以共享读写模式附加卷。选择 Use Oracle Cloud Agent to automatically connect to iSCSI-attached volume ,然后单击 Attach

    将块存储卷附加到实例

  4. 重复步骤 1 到步骤 3 以创建和连接法定磁盘和数据磁盘。

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

在本任务中,我们将:

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

  1. 使用域管理员帐户登录到 SQL Server 节点 1 VM,打开 Server Manager(服务器管理器),然后在 Dashboard(显示板)下单击 Add Roles and features(添加角色和功能)

  2. 查看开始之前部分,然后单击下一步

  3. 选择 Role-based or feature-based installation(基于角色的安装),然后单击 Next(下一步)

  4. Select destination server 中,选择 server from the server pool 并验证是否选择了 sqlnode1.example.org,然后单击 Next 继续操作。

  5. 我们不会添加任何服务器角色,因此单击下一步继续。

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

    添加故障转移群集管理工具

  7. Confirm installation selection(确认安装选择)中,查看详细信息,然后单击 Install(安装)以确认安装,并在安装完成时关闭向导。

  8. 重复步骤 1 到 7,在第二个 SQL Server 节点上安装故障转移群集工具。

任务 4.2:创建集群

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

    创建集群

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

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

  4. 单击浏览并选择 sqlnode1.example.orgsqlnode2.example.org

  5. 选择是,单击“下一步”时,运行配置测试,然后返回到创建群集的过程,然后单击下一步

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

  7. 确认窗口中,单击下一步并等待所有测试完成,然后单击完成。OCI 现在支持 SCSI PR,您可以看到通过测试验证 SCSI-3 持久性预留

    验证测试

  8. 输入 Cluster Name 并考虑 NetBIOS 约束条件。单击下一步

  9. 在创建之前确认群集,然后单击 Next

    集群创建概要

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

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

    Cluster

  12. 请注意, Cluster Core Resources 部分中的群集状态为 Offline 。展开资源并查找尚未配置的群集 IP 地址。右键单击状态为 Failed 的 IP 地址,然后单击 Properties

  13. General(常规)选项卡中,指定在任务 1 中为此节点配置的 Static IP Address(静态 IP 地址),然后单击 Apply(应用)

  14. 右键单击已配置的 IP 地址,然后单击 Bring Online

  15. 在群集创建完成后,我们现在将扩展群集并导航到 Storage 部分,在其中我们将选择 Disks 以确认共享块存储卷(指定的法定磁盘和数据磁盘)是否已正确列出并被群集识别。

    集群磁盘

任务 5:安装和配置 SQL Server

在本任务中,我们将介绍新的 SQL Server 故障转移群集安装。

  1. 从下载的 MSSQL 软件包运行 setup.exe

  2. 选择安装

    SQL Server 集群安装

  3. 选择新建 SQL Server 故障转移集群安装

  4. 输入 Product Key(产品密钥),然后单击 Next(下一步)

  5. 接受许可条款,然后单击下一步

  6. Microsoft Update 下,单击下一步。安装程序将扫描软件更新,下载并将开始安装过程。

  7. 它将安装故障转移群集规则。单击下一步

    SQL Server 故障转移集群安装规则

  8. 功能选择下,选择数据库引擎服务,然后单击下一步

    SQL Server 故障转移集群功能选择

  9. 实例配置中,输入 SQL Server 网络名称的名称,选择默认实例命名实例,然后单击下一步

  10. Cluster Resource Group 中,单击 Next

  11. Cluster Disk Selection 中,选择 Cluster Disk 2 ,然后单击 Next

  12. Cluster Network Configuration 中,分配 IPv4 地址并单击 Next

    SQL Server 故障转移集群网络配置

  13. 服务器配置中,输入在任务 2 中创建的 SQL 服务器服务帐户名称密码,然后单击下一步

    SQL 服务器配置

  14. 数据库引擎配置中,配置验证模式和其他设置,然后单击下一步

  15. Ready to Install 中,单击 Install

  16. 您将看到安装进度。单击关闭

    SQL Server 安装完成

  17. 转到 Failover Cluster Manager(故障转移群集管理器),展开群集并导航到 Storage(存储)部分并验证磁盘。您将看到分配给 SQL Server 的第二个磁盘,如下图中所示。

    Windows Server 故障转移集群 SQL Server 集群磁盘

  18. 转到 Failover Cluster Manager(故障转移群集管理器),展开群集,导航到 Roles(角色)部分。可以看到 SQL Server 集群。

    SQL 服务器集群

  19. SQL Server Management Studio 中,我们现在可以连接到数据库。您的部署现已就绪,并且设置为具有高可用性和容错能力。

    SQL 服务器管理工作室

后续步骤

在本教程中,我们介绍了如何使用 OCI 块存储卷服务的 SCSI PR 功能使用 MSSQL 设置 WSFC 集群的过程。通过遵循本教程,您现在应该有一个功能齐全的 WSFC 集群,其中包含使用 SCSI PR 的 MSSQL。请记住定期测试和验证集群,以确保高可用性并尽可能减少停机时间。

确认

更多学习资源

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

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