架设SQL Server on Linux丛集功能

架设SQL Server on Linux丛集功能


为避免只有一部服务器因为单一节点失效 (Single Point of Failure)而造成服务中断,通常在一些不可中断的服
务环境中都会设计有高可用性的功能(High Availability –HA),即是利用多部服务器建立丛集(Cluster)角色,产
生一个共用的服务名称或IP地址(Virtual IP–VIP)来提供服务。其目的是即使提供服务中的服务器因为硬件损坏
或软件功能错误导致无法正常运行时,其余未受影响的服务器依然可以接替其工作让服务继续正常不会中断。

以下架构图即为Lab环境所使用的设定:

SQL Server on Linux高可用性功能主要是利用一套件 – Pacemaker以及 Corosync来达成。其作用主要针对伺
服器间的通讯协调与资源管理,在此丛集内的一部SQL服务器会连线到共用的磁盘区 (Shared Storage) 提供资
料库服务,当此SQL服务器发生异常时,Pacemaker会侦测到主机失败而立即将丛集资源切换到另一部正常的
SQL服务器上继续提供服务。

架构示意图如下:

1. 将担任丛集成员的所有节点下载Pacemaker及Corosync套件,然后使用 yum 命令进行线上安装。

2. 安装完成 ,启动pcsd服务;同时设定丛集管理者hacluster密码。

3. 开通防火墙所须使用的连接端口。

4. 编辑主机资讯档加入丛集成员IP地址与主机名称。

5. 完成上面步骤设定后,即可建立丛集环境。(后续的部分设定只须在其中一部节点中执行即可)

6. 在主要节点上建立丛集管理者存取SQL Server的管理权限。

7. 复制主要节点的SQL Database文件到SMB共用数据夹(//smb/sqldb)。

8. 测试次要节点的SQL服务均可正常存取到SMB共用数据夹(//smb/sqldb)。

9. 安装SQL HA 套件以及建立丛集环境的SQL服务账号。

10. 建立丛集资源(Cluster Service、VIP and Storage),建立完成后查看丛集资源。

11. 如果需要以Windows网域账号进行登入认证,则必须执行PowerShell命令设定SPN(Service Principal
      Name),同时新增丛集服务的DNS纪录。

12. 使用SSMS管理工具登入测试是否能够支持Windows网域账号认证。

详细的设定步骤请参阅:Configure Failover Cluster Feature