架設SQL Server on Linux叢集功能

架設SQL Server on Linux叢集功能

為避免只有一部伺服器因為單一節點失效 (Single Point of Failure)而造成服務中斷,通常在一些不可中斷的服
務環境中都會設計有高可用性的功能
(High Availability HA),即是利用多部伺服器建立叢集(Cluster)角色,產
生一個共用的服務名稱或
IP位址(Virtual IPVIP)來提供服務。其目的是即使提供服務中的伺服器因為硬體損壞
或軟體功能錯誤導致無法正常運作時,其餘未受影響的伺服器依然可以接替其工作讓服務繼續正常不會中斷。

以下架構圖即為
Lab環境所使用的設定:

SQL S
erver on Linux高可用性功能主要是利用一套件 Pacemaker以及 Corosync來達成。其作用主要針對伺
服器間的通訊協調與資源管理,在此叢集內的一部
SQL伺服器會連線到共用的磁碟區 (Shared Storage) 提供資
料庫服務,當此SQL伺服器發生異常時,Pacemaker會偵測到主機失敗而立即將叢集資源切換到另一部正常的
SQL伺服器上繼續提供服務。

架構示意圖如下:

1. 將擔任叢集成員的所有節點下載PacemakerCorosync套件,然後使用 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 ServiceVIP and Storage),建立完成後查看叢集資源。

11. 如果需要以Windows網域帳號進行登入認證,則必須執行PowerShell指令設定SPN(Service Principal
      Name),同時新增叢集服務的DNS紀錄。

12. 使用SSMS管理工具登入測試是否能夠支援Windows網域帳號認證。

詳細的設定步驟請參閱:Configure Failover Cluster Feature