附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 憑證、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特有的值。
在 OCI 上部署適用於高可用性和災害復原的 Microsoft SQL Server Always On 可用性群組
簡介
部署 Microsoft SQL Server 是 Oracle Cloud Infrastructure (OCI) 的常見使用案例。就像 OCI 部署一樣,客戶通常會尋找可滿足其業務連續性需求的高彈性架構。因此,瞭解如何部署 SQL Server 以提供高可用性及災難復原,這對於這些客戶來說是一大關鍵。
有數個 SQL Server 業務連續性解決方案。本教學課程中討論的解決方案由 SQL Server 管理員永遠開啟可用性群組廣泛採用。SQL Server Always On Failover Cluster Instances (FCI) 之類的解決方案也可以部署在 OCI 上,但不會從本教學課程中排除。
本教學課程由客戶使用案例啟發,並以單一文件集中管理 OCI 上 SQL Server Always On 可用性群組部署的三個關鍵元素,並區分本身。
-
部署 SQL Server Always On 可用性群組所需的架構。在 OCI 上部署 SQL Server 有一些細節,客戶需要注意,以確保其 SQL Server Always On 可用性群組部署成功。
-
必須具備部署 SQL Server Always On 可用性群組的先決條件。
-
部署雙節點 SQL Server Always On 可用性群組的逐步程序。這構成了大量自學課程。相同的程序可用於使用兩個以上節點的部署。本教學課程使用 Windows 作業系統圖形介面記錄程序,這對於非進階使用者來說是適當的。如果您是進階使用者,可以使用 Windows PowerShell 來實行組態。
架構
本教學課程使用下列架構:
-
單一區域:部署由單一 OCI 區域組成。部署可以延伸至其他 OCI 區域,但這類組態不在本教學課程的範圍內。
-
專用子網路:除了 OCI 堡壘主機虛擬機器 (VM) 之外,所有資源都放置在專用區域子網路中。
-
多個子網路上的 SQL Server 節點:根據 Microsoft 建議,SQL Server 部署的兩個節點中的每個節點都會放置在不同的子網路中。如需詳細資訊,請參閱多個子網路中可用性群組的先決條件 (Azure VM 上的 SQL Server) 。SQL Server Always On 可用性群組可部署在單一子網路中,但 Microsoft 不建議使用此架構。此外,它還需要使用負載平衡器和 OCI 不支援的功能 (直接伺服器傳回)。
-
Windows Server 容錯移轉叢集仲裁證人:一律在「Windows 伺服器容錯移轉叢集 (WSFC)」上執行「開啟」可用性群組。WSFC 需要使用叢集法定證,其中有數個部署選項。此教學課程使用檔案共用證人,因為它是 OCI 部署的最佳選擇。為達到此目的,系統會根據架構圖佈建法定證人 VM。
-
需要 SQL 伺服器 IP:每個 SQL 伺服器 VM 在主要虛擬網路介面卡 (VNIC) 中都需要下列 IP。
- 主要 IP:作業系統存取 (在 VM 佈建時自動建立)。
- 次要 IP 1: Windows Server 容錯移轉叢集 IP。在此自學課程中建立。
- 次要 IP 2: SQL Server Always On 可用性群組監聽器。在此自學課程中建立。
-
需要帳戶
- 網域管理員:網域管理員會在本教學課程中執行所有組態工作。此帳戶也必須同時設定為每個 SQL Server VM 上的本機管理員,以及作為每個 SQL Server 執行處理之 SQL Server 系統管理員固定伺服器角色的成員。
- 服務帳戶:它用於 SQL Server 服務在兩個 SQL Server 節點上作業。
目標
建立並設定下列項目:
-
SQL Server Always On 可用性群組所需的使用者和帳戶。
-
Always On 可用性群組的 Windows Server 容錯移轉叢集。
-
SQL Server Always On 可用性群組。
必要條件
-
網路
-
存取 OCI 租用戶和區間以放置所有資源。
-
根據架構圖設定的網路。
- 1 個 VCN。
- 1 個公用子網路和 4 個專用子網路。
-
為實行 SQL Server Always On 可用性群組而設定的安全清單規則 - 開啟
1433
和5022
連接埠。 -
如 OCI 白皮書 Creating Active Directory Domain Services in OCI 中所述,為在 OCI 中導入 Active Directory 所設定的安全清單規則。
-
我們可以使用本教學課程中顯示的無類別網域間路由 (CIDR) 區塊,也可以在雲端網路團隊建議之後選取 CIDR 區塊。
-
-
伺服器
-
公用子網路中的 1 個堡壘主機 VM,可確保連線至專用子網路上執行的 VM。
-
專用子網路中的 1 個網域控制器 VM。
-
專用子網路中的 1 個仲裁 VM。
-
2 個 SQL Server VM,每個 VM 在不同的專用子網路中。
-
OCI 中有 2 種執行 SQL Server 的方式: OCI Marketplace Image 和 Bringing Your Own Microsoft License (BYOL) 。您可以使用任何項目。本教學課程假設我們安裝了 SQL Server 預設執行處理 (每一 VM 會安裝單一 SQL Server)。
-
如果使用 OCI 市集映像檔,佈建處理作業將會安裝具有 opc 使用者的 SQL Server。將每個節點與網域結合時,必須確定網域管理員是本機管理員的一部分,才能連線至 SQL Server Management Studio 上的每個 SQL Server 資料庫執行處理。
-
在 SQL Server 節點 VM 上安裝 SQL Server Management Studio。
-
-
Active Directory 網域先決條件
-
已將網域控制器功能和角色新增至網域控制器 VM。
-
作業系統管理員設定的網域。目前教學課程中的網域控制器具有根網域名稱
mssql.acme
。我們可以使用您選擇的根網域名稱來設定網域。 -
您可以參閱 OCI 白皮書,瞭解在 OCI 中建立 Active Directory 網域服務。
-
已將 SQL Server VM 和 Quorum VM 新增至網域。
-
此教學課程的排除項目
-
多重區域:可以部署多重區域,但超出此教學課程的範圍。如需詳細資訊,請參閱設定跨 Azure 區域的多子網路可用性群組 - Azure VM 上的 SQL Server 。
-
儲存體:在本教學課程中,會使用每個 VM 的開機磁碟區作為資料庫、備份和日誌的 SQL Server 儲存區域 (它們全都對應至
C:\
磁碟機)。視需求而定,您可能需要針對資料庫、備份及日誌使用及設定個別的磁碟區。我們需要注意的是,WSFC 使用來自169.254.\*
位址空間的 IP 進行內部通訊,而此 IP 與 OCI 位址空間重疊以顯示 iSCSI 區塊裝置。這將需要建立靜態 IP 路由,以在每個 SQL Server 節點 VM 中顯示 iSCSI 目標入口網站。此類組態超出本教學課程的範圍。如需詳細資訊,請參閱容錯移轉叢集網路基本知識與基本原則。 -
高度可用的目擊者檔案共用:本教學課程使用單一 VM 作為法定目擊者檔案共用。高度可用的證人檔案分享在此自學課程的範圍之外。如需有關如何部署的詳細資訊,請參閱在 OCI 上部署高可用性 Windows 檔案伺服器。
作業 1:設定次要 IP
針對每個 SQL Server 節點 VM,建立 Windows Server 容錯移轉叢集和 Always On 可用性群組監聽器所需的次要 IP。
-
在 OCI 主控台中,移至 SQL Server 節點 1 VM,然後選取資源功能表中的連附的 VNIC 。
-
選取主要 VNIC,然後選取資源功能表中的 IPv4 位址。
-
選取新增次要專用 IP 位址,然後輸入新增專用 IP 至 VNIC 的詳細資訊。按一下建立,我們將會見到與此 VNIC 關聯的新次要 IP。這是 WSFC IP。
-
重複相同 VNIC 中的步驟 1 到 3,為 Always On 可用性群組監聽器建立另一個次要 IP。
-
針對其他 SQL Server 節點 VM 重複步驟 1 到 4。
作業 2:建立 SQL 伺服器服務帳戶
SQL Server 必須使用專用網域帳戶。在此任務中,我們將建立此帳戶。之後在教學課程中,我們會使用此帳戶來設定每個節點的 SQL Server 服務。
-
使用網域管理員帳戶登入「網域控制器」,然後瀏覽至 Active Directory Users and Computers 。
-
展開您為此教學課程設定的網域。
-
用滑鼠右鍵按一下使用者,然後選取新使用者以建立新使用者。
-
輸入下列詳細資訊並按一下下一步。
-
輸入此網域帳戶的密碼,然後按下一步。
-
複查詳細資訊,然後按一下完成。
作業 3:設定證人檔案共用
如上所述,本自學課程中的架構使用檔案共用證人來實作法定證人。在此任務中,我們將建立一個共用資料夾。在後續的工作中,我們將使用此共用資料夾來設定「Windows 伺服器容錯移轉叢集」。
-
使用網域管理員帳戶登入 Quorum VM,並建立證人資料夾。
-
在您建立的資料夾上按一下滑鼠右鍵,然後選取內容。在共用頁籤中,按一下共用,然後選取每個人來共用資料夾。如果您比較嚴格,請選取在「工作 2」中建立的 SQL Server 服務帳號。
-
系統將會看到該資料夾已經共用,請按一下完成。
工作 4:設定 Windows Server 容錯移轉叢集
SQL Server Always On 可用性群組是在 Windows Server 容錯移轉叢集 (WSFC) 技術上執行。在這項任務中,我們將:
-
新增 WSFC 角色至 SQL Server VM。
-
使用在作業 1 中建立的次要 IP 和在作業 3 中建立的法定檔案共用證詞來建立及設定叢集。此叢集將由 Always On 可用性群組功能在後續作業中使用。
作業 4.1:新增 WSFC 角色至 SQL 伺服器 VM
-
使用網域管理員登入 SQL Server 節點 1 VM,開啟 Server Manager,然後在儀表板上按一下新增角色和功能。
-
按一下下一步,繼續安裝類型。
-
選取角色式或功能式安裝,然後按下一步。
-
在選取目標伺服器中,選取伺服器集區中的伺服器和 SQL Server 節點 1,然後按下一步繼續。
-
在功能中,選取容錯移轉叢集。當您進行時,將會顯示一個視窗,然後按一下新增功能。
-
在確認安裝選擇中,複查詳細資訊,然後按一下安裝以確認安裝。
-
安裝完成後,關閉精靈。
-
若要確認安裝,請在搜尋列上鍵入容錯移轉叢集管理員。您可以開啟它,然後查看它還未包含任何叢集。
-
在其他 SQL Server 節點 VM 中重複步驟 1 到 8。
作業 4.2:建立叢集
-
使用網域管理員帳戶登入 SQL Server 節點 1 VM,然後開啟容錯移轉叢集管理程式。您會發現沒有執行中的叢集。
-
在容錯移轉叢集管理程式上按一下滑鼠右鍵並選取建立叢集 ... ,就會開啟建立叢集精靈。
-
建立叢集精靈開啟之後,請按下一步繼續。
-
按一下瀏覽,然後選取「SQL 伺服器」節點 1 和「SQL 伺服器」節點 2 VM。
-
確認您已選取適當的節點,然後按下一步。
-
選取是,當我按「下一步」時,請執行組態測試,然後返回建立叢集的程序,然後按下一步。
-
選取執行所有測試,然後按下一步。
-
在確認視窗中,按一下下一步。
等待所有測試完成。
-
按一下完成。
-
輸入叢集名稱並考慮 NetBIOS 限制條件。
-
請先確認叢集後再建立,然後按一下下一步。
-
順利建立叢集之後,請按一下完成。
-
開啟容錯移轉叢集管理程式,即可查看新建立的叢集。
-
請注意,叢集的狀態為叢集核心資源段落中的離線。展開資源並尋找尚未設定的叢集 IP 位址。從現在起,我們將採取幾個步驟。
作業 4.3:設定叢集
-
設定叢集 IP 之前,我們會先設定法定證人。在叢集名稱上按一下滑鼠右鍵,選取其他動作和設定叢集法定設定值 ... 。這將會開啟組態精靈。
-
在設定叢集法定精靈視窗中,按一下下一步以繼續。
-
選取選取法定證人,然後按下一步。
-
選取設定檔案共用證人,然後按下一步。
-
輸入「工作 3」中設定的檔案共用路徑,然後按下一步。
-
複查法定組態設定值,然後按下一步。
-
將設定法定證人。順利完成組態時,請按一下完成以關閉精靈。
-
我們會將任務 1 中建立的 IP 與叢集建立關聯。這會啟動叢集並讓叢集正常運作。在容錯移轉叢集管理程式中,展開叢集核心資源,在 IP 位址上按一下滑鼠右鍵並顯示失敗狀態,然後按一下特性。
-
在一般頁籤中,指定在「工作 1」中為此節點設定的靜態 IP 位址,然後按一下套用。
-
對另一個 IP 重複步驟 8 和步驟 9。您將會正確設定叢集。當叢集名稱資源上線時,它會以新的 Active Directory 電腦物件更新網域控制器伺服器。我們現在已準備好繼續使用 Always On 可用性群組組態。
作業 5:設定範例資料庫的 Always On 可用性群組
在這項任務中,我們將:
-
將適當的權限授與叢集在網域中建立的虛擬電腦物件帳戶,這可讓叢集建立 Always On 可用性群組所需的資源。
-
啟用節點中的永遠開啟可用性群組功能。
-
設定範例資料庫的 Always On 可用性群組。
-
建立 Always On 可用性群組的監聽器。
Task 5.1:將權限授予叢集網域電腦物件
-
使用網域管理員帳戶登入「網域控制器」,然後開啟 Active Directory 使用者和電腦。
-
按一下檢視,然後選取進階功能以檢視進階功能。
-
在電腦上按一下滑鼠右鍵,然後選取內容。
-
移至安全頁籤,然後按一下新增。
-
在使用者、電腦、服務帳號或群組精靈中,按一下物件類型 ... 。
-
選取電腦並按一下確定。
-
輸入叢集的名稱,然後按一下確定。現在,我們會在群組或使用者名稱清單中看到叢集電腦物件。
-
選取叢集電腦物件,然後按一下進階來設定權限。
-
在權限頁籤中,選取叢集電腦物件,然後按一下編輯。
-
選取建立電腦物件權限項目,然後按一下確定。
-
我們現在將回到電腦的進階安全性設定,然後按一下套用,再按一下確定。因此,叢集的電腦帳戶具有 Always On 可用性群組運作所需的權限。
作業 5.2:啟用節點中的永遠開啟可用性群組
-
使用網域管理員帳戶登入 SQL Server 節點 1 VM,然後開啟 SQL Server Configuration Manager 。
-
按一下 SQL Server 服務,在 SQL Server (MSSQL SERVER) 上按一下滑鼠右鍵,然後選取特性。
-
在一律在可用性群組中頁籤上,選取啟用永遠在可用性群組中。請注意已經在「工作 4.2」中建立的叢集名稱,也就是 Windows 伺服器容錯移轉叢集,然後按一下套用。此時會顯示重新啟動服務的警告訊息。按一下確定,套用變更。將重新啟動服務。
-
如果 SQL Server 服務未自動重新啟動,我們可以手動重新啟動它,在 SQL Server 服務上按一下滑鼠右鍵,然後按一下重新啟動。
-
在 SQL Server 服務上按一下滑鼠右鍵,選取特性,然後移至登入頁籤。選取此帳戶,然後輸入在「工作 2」中建立的 SQL Server 帳戶詳細資訊。按一下套用,然後按一下確定。
-
針對 SQL Server 節點 2 VM 重複步驟 1 到 5。
Task 5.3:建立及備份永遠處於可用狀態群組的範例資料庫
-
使用網域管理員帳戶登入 SQL Server 節點 1 VM,開啟 SQL Server Management Studio 並連線至該節點中的 SQL Server 執行處理。
-
選取新查詢,然後使用建立資料庫查詢建立範例資料庫,如下圖所示。
-
在物件總管上展開資料庫,然後在步驟 2 中找到建立的範例資料庫。用滑鼠右鍵按一下該工作,按一下工作,然後按一下備份 ... 。
-
選取完整作為備份類型。複查並確認備份目的地,然後按一下確定。
-
我們將會看到一則訊息,通知您備份順利完成。然後按一下確定。
Task 5.4:建立範例資料庫的可用性群組
-
備份已建立,我們已準備好開始設定可用性群組。在永遠處於高可用性上按一下滑鼠右鍵,然後選取新建可用性群組精靈 ... 。
-
在建立新使用狀態群組中,按一下下一步以繼續。
-
輸入使用狀態群組名稱,選取 Windows Server 容錯移轉叢集作為叢集類型,然後按下一步。
-
選取在「工作 5.3」中建立的範例資料庫,然後按一下下一步。
-
在指定複本視窗中,按一下指定複本和新增複本 ... 以選取節點 2 複本。在視窗中,輸入節點 2 伺服器 VM 的名稱,然後按一下連線。
-
我們現在會看到複本 (一個具有主要角色),另一個具有次要角色。我們可以根據需求變更可用性模式。按一下下一步,我們會注意到監聽器頁籤。現在略過。我們將在本教學課程的稍後設定監聽器。
-
在選取資料同步化中,選取自動植入,然後按下一步。
-
將執行組態驗證。除了監聽器組態以外,我們可以看到所有的驗證結果都成功。按下一步。
-
在摘要中,按一下完成以完成可用性群組的建立和組態。
-
在結果中,我們會看到一則訊息,通知您是否順利完成可用性群組組態。按一下關閉。
可用性群組已建立,我們可以在物件總管查看其詳細資訊。
作業 5.5:建立可用性群組監聽器
在此工作中,我們將為在「工作 5.4」中建立的可用性群組建立監聽器。監聽器是一個虛擬網路名稱,可在 Always On 可用性群組組態中連線至資料庫。它可讓從屬端連線至複本,而不需要知道 SQL Server 的實體執行處理名稱。由於監聽器會遞送流量,因此在發生容錯移轉之後,不需要修改從屬端連線字串。
-
在物件總管中,展開使用狀態群組和在「工作 5.4」中建立的使用狀態群組,然後在使用狀態群組監聽器上按一下滑鼠右鍵,然後選取新增監聽器 ... 。
-
輸入「監聽器」的監聽器 DNS 名稱,在網路模式中指定連接埠
1433
和靜態 IP 。按一下新增 ... ,即可新增在「工作 1」中建立的監聽器 IP。 -
請確定所連線之節點的子網路是選取的子網路,然後輸入 IPv4 位址,其中包含為工作 1 中的監聽器建立的次要 IP,然後按一下確定。
-
若要新增第二個 IP,請再按一下新增 ... 。請確定選取的子網路是另一個節點的子網路,並且輸入在作業 1 中為另一個節點建立的次要 IP 位址。然後按一下確定。
-
確認您可以同時看到設定的 IP,然後按一下確定以完成監聽器的建立。
-
移至物件總管,確認監聽器會顯示在使用狀態群組監聽器資料夾中。
在 SQL Server Management Studio 中,我們現在可以連線至監聽器,就像連線至任何 SQL Server 節點一樣。您的 Always On 可用性群組組態已完成,而且您有一個協助應用程式連線的監聽器。您的部署現已可供容錯移轉,您可以手動執行。
相關連結
認可
- 作者 - Ricardo Malhado (Principal Cloud Solution Architect)、Raphael Teixeira (Principal Cloud Solution Architect)
其他學習資源
瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Deploy Microsoft SQL Server Always On Availability Groups for HA and DR on OCI
F92899-01
February 2024
Copyright © 2024, Oracle and/or its affiliates.