建立使用 Azure 共用磁碟的 FCI (Azure VM 上的 SQL Server)

適用於:Azure VM 上的 SQL Server

提示

有許多方法可部署可用性群組。 在相同 Azure 虛擬網路內的多個子網路中建立 SQL Server 虛擬機器 (VM),您的 Always On 可用性群組就可以簡化部署,而且不再需要 Azure Load Balancer 或分散式網路名稱 (DNN)。 如果您已在單一子網路中建立可用性群組,您可以將它移轉至多子網路環境

本文說明如何使用 Azure 共用磁碟搭配 Azure 虛擬機器 (VM) 上的 SQL Server,建立容錯移轉叢集執行個體 (FCI)。

若要深入了解,請參閱 Azure VM 上使用 SQL Server 的 FCI 的概觀和叢集最佳做法

注意

現在使用 Azure Migrate 可將容錯移轉叢集執行個體解決方案隨即轉換至 Azure VM 上的 SQL Server。 若要深入了解,請參閱移轉容錯移轉叢集執行個體

必要條件

建議先準備好下列項目,再完成本文中的指示:

新增 Azure 共用磁碟

部署已啟用共用磁碟功能的受控進階 SSD 磁碟。 將 maxShares 設為 [符合叢集節點的數目],讓磁碟可在所有 FCI 節點之間共用。

將共用磁碟連結至 VM

當您使用 maxShares > 1 部署共用磁碟之後,您可以將磁碟掛接至將參與叢集中的節點的 VM。

若要將共用磁碟連結至 SQL Server VM,請遵循下列步驟:

  1. 在 Azure 入口網站中,選取您要連結共用磁碟的 VM。
  2. 在 [設定] 窗格中選取 [磁碟]。
  3. 選取 [連結現有磁碟] 以將共用磁碟連結至 VM。
  4. 從 [磁碟名稱] 下拉式清單中選擇共用磁碟。
  5. 選取 [儲存]。
  6. 針對每個叢集節點 SQL Server VM 重複這些步驟。

稍待一會之後,共用資料磁碟就會連結至 VM,並且出現在該 VM 的資料磁碟清單中。

初始化共用磁碟

一旦將共用磁片連結至所有 VM 之後,您就可以初始化將參與叢集中節點的 VM 磁碟。 初始化所有 VM 上的磁碟。

若要初始化 SQL Server VM 的磁碟,請遵循下列步驟:

  1. 連線至其中一個 VM。
  2. 從 VM 內部開啟 [開始] 功能表,並在 [搜尋] 方塊中輸入 diskmgmt.msc,以開啟 [磁碟管理] 主控台。
  3. 磁碟管理會辨識出您擁有新的、未初始化的磁碟,而且 [初始化磁碟] 視窗隨即出現。
  4. 確認已選取新磁碟,然後選取 [確定] 將磁碟初始化。
  5. 新的磁碟會顯示為 [未配置]。 以滑鼠右鍵按一下磁碟上的任何位置,並選取 [新增簡單磁碟區]。 [新增簡單磁碟區精靈] 視窗隨即開啟。
  6. 繼續執行精靈,保留所有預設值,並且在完成時選取 [完成]
  7. 關閉 [磁碟管理]。
  8. 隨即出現一個快顯視窗,通知您必須先將新的磁碟格式化之後才能使用。 選取 [格式化磁碟]
  9. 在 [格式化新磁碟] 視窗中,檢查設定,然後選取 [開始]
  10. 隨即出現警告,通知您格式化磁碟會清除所有資料。 選取 [確定]。
  11. 格式化完成後,請選取 [確定]
  12. 對要參與 FCI 的每台 SQL Server VM 重複這些步驟。

建立 Windows 容錯移轉叢集

建立 Windows Server 容錯移轉叢集的步驟,取決於您是將 SQL Server VM 部署到單一子網路或多重子網路。 若要建立叢集,請針對多重子網路案例單一子網路案例,遵循本教學課程中的步驟。 雖然這些教學課程適用於建立可用性群組,但建立叢集的步驟是相同的。

設定仲裁

由於磁碟見證是最具彈性的仲裁選項,而 FCI 解決方案使用 Azure 共用磁碟,因此建議您將磁碟見證設為仲裁解決方案。

如果您的叢集中有偶數個投票,請設定最適合您商務需求的仲裁解決方案。 如需詳細資訊,請參閱 SQL Server VM 的仲裁

驗證叢集

使用容錯移轉叢集管理員 UI 或 PowerShell,驗證其中一台虛擬機器上的叢集。

若要使用 UI 驗證叢集,請遵循下列步驟:

  1. 在 [伺服器管理員] 下,選取 [工具],然後選取 [容錯移轉叢集管理員]。
  2. 在 [容錯移轉叢集管理員] 下,選取 [動作],然後選取 [驗證設定]。
  3. 選取 [下一步] 。
  4. 在 [選取伺服器或叢集] 下,輸入這兩部虛擬機器的名稱。
  5. 在 [測試選項] 下,選取 [僅執行我選取的測試]。
  6. 選取 [下一步] 。
  7. 在 [測試選取項目] 下方,選取 [儲存體] 以外的所有測試。
  8. 選取 [下一步] 。
  9. 在 [確認] 下,選取 [下一步]。 [驗證設定] 精靈會執行驗證測試。

若要使用 PowerShell 驗證叢集,請在其中一部虛擬機器上,從系統管理員 PowerShell 工作階段執行下列指令碼:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

測試叢集容錯移轉

測試叢集的容錯移轉。 在 [容錯移轉叢集管理員] 中,以滑鼠右鍵按一下叢集,然後選取 [其他動作]>[移動核心叢集資源]>[選取節點],然後選取叢集的其他節點。 將核心叢集資源移到叢集的每個節點,再移回主要節點。 安裝 SQL Server 之前,請確定您可以成功地將叢集移至每個節點。

Test cluster failover by moving the core resource to the other nodes

將共用磁碟新增至叢集

使用容錯移轉叢集管理員將連結的 Azure 共用磁碟新增至叢集。

若要將磁碟新增至叢集,請遵循下列步驟:

  1. 在 [伺服器管理員] 儀表板中,選取 [工具],然後選取 [容錯移轉叢集管理員]。

  2. 選取叢集,然後在瀏覽窗格中加以展開。

  3. 選取 [儲存體],然後選取 [磁碟]。

  4. 以滑鼠右鍵按一下 [磁碟],然後選取 [新增磁碟]:

    Add Disk

  5. 在 [將磁碟新增至叢集] 視窗中,選擇 Azure 共用磁碟。 選取 [確定]。

    Select Disk

  6. 將共用磁碟新增至叢集之後,您會在容錯移轉叢集管理員中看到該磁碟。

    Cluster Disk

建立 SDL Server FCI

在設定容錯移轉叢集和所有叢集元件 (包括儲存體) 後,即可建立 SQL Server FCI。

  1. 使用遠端桌面通訊協定 (RDP) 連線至第一個虛擬機器。

  2. 在 [容錯移轉叢集管理員] 中,確認所有核心叢集資源都位於第一部虛擬機器。 如有必要,請將磁碟移至該虛擬機器。

  3. 如果作業系統的版本是 Windows Server 2019,且 Windows 叢集是使用預設的分散式網路名稱 (DNN) 建立,則 SQL Server 2017 和以下的 FCI 安裝將會失敗,並出現錯誤 The given key was not present in the dictionary

    在安裝期間,SQL Server 安裝程式會查詢現有的虛擬網路名稱 (VNN),且無法辨識 Windows 叢集 DNN。 SQL Server 2019 安裝程式已修正此問題。 針對 SQL Server 2017 和以下版本,請遵循下列步驟以避免安裝錯誤:

    • 在容錯移轉叢集管理員中,連線到叢集,以滑鼠右鍵按一下 [角色],然後選取 [建立空的角色]。
    • 以滑鼠右鍵按一下新建立的空角色,選取 [新增資源],然後選取 [用戶端存取點]。
    • 輸入任何名稱,並完成精靈,以建立用戶端存取點
    • SQL Server FCI 安裝完成之後,就可以刪除包含暫時性用戶端存取點的角色。
  4. 找出安裝媒體。 若虛擬機器是使用其中一個 Azure Marketplace 映像,則媒體會位於 C:\SQLServer_<version number>_Full

  5. 選取 [設定]。

  6. 在 [SQL Server 安裝中心] 中,選取 [安裝]。

  7. 選取 [安裝新的 SQL Server 容錯移轉叢集]。 請遵循精靈內的指示安裝 SQL Server FCI。

  8. 在 [叢集磁碟選取] 頁面上,選取已連結至 VM 的所有共用磁碟。

    Cluster Disk Selection

  9. 在 [叢集網路設定] 頁面上,您提供的 IP 會依據您的 SQL Server VM 部署到單一子網路或多重子網路而有所不同。

    1. 對於單一子網路環境,提供您打算新增至 Azure Load Balancer 的 IP 位址
    2. 對於多重子網路環境,請在「第一個」 SQL Server VM (您先前指定為容錯移轉叢集執行個體網路名稱的 IP 位址) 的子網路中,提供次要 IP 位址:

    provide the secondary IP address in the subnet of the first SQL Server VM that you previously designated as the IP address of the failover cluster instance network name

  10. 在 [資料庫引擎設定] 頁面上,確定資料庫目錄位於 Azure 共用磁碟上。

  11. 完成精靈中的指示後,安裝程式會在第一個節點上安裝 SQL Server FCI。

  12. 在第一個節點上成功安裝 FCI 之後,請使用 RDP 連線到第二個節點。

  13. 開啟 [SQL Server 安裝中心],然後選取 [安裝]。

  14. 選取 [將節點新增到 SQL Server 容錯移轉叢集]。 遵循精靈中的指示來安裝 SQL Server,並將節點新增到 FCI。

  15. 對於多重子網路案例,在 [叢集網路設定] 中,請在「第二個」SQL Server VM 子網路 (您先前指定為容錯移轉叢集執行個體網路名稱 的 IP 位址) 的子網路中,提供次要 IP 位址

    enter the secondary IP address in the subnet of the second SQL Server VM subnet that you previously designated as the IP address of the failover cluster instance network name

    在 [叢集網路設定] 中選取 [下一步] 之後,安裝程式會顯示一個對話方塊,指出 SQL Server 安裝程式在範例圖片中偵測到多個子網路。 選取 [是] 加以確認。

    Multi Subnet Confirmation

  16. 完成精靈中的指示之後,安裝程式會新增第二個 SQL Server FCI 節點。

  17. 在您想要參與 SQL Server 容錯移轉叢集執行個體的任何其他 SQL Server VM 上重複這些步驟。

注意

Azure Marketplace 資源庫映像隨附已安裝的 SQL Server Management Studio。 如果您未使用 Marketplace 映像,請下載 SQL Server Management Studio (SSMS)

向 SQL IaaS 代理程式延伸模組註冊

若要從入口網站管理您的 SQL Server 虛擬機器,請向 SQL IaaS 代理程式延伸模組註冊虛擬機器。 請注意,具有 SQL Server 容錯移轉叢集執行個體 (FCI) 的 SQL VM 只會具有有限的功能

如果您的 SQL Server VM 已經向 SQL IaaS 代理程式延伸模組註冊,而且您已啟用任何需要代理程式的功能,則需要從延伸模組取消註冊 SQL Server VM,然後在安裝 FCI 之後再次註冊。

使用 PowerShell 註冊 SQL Server VM (-LicenseType 可以是 PAYGAHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

設定連線能力

如果您將 SQL Server VM 部署在多個子網路中,請跳過此步驟。 如果您將 SQL Server VM 部署到單一子網路,則必須設定額外的元件,將流量路由至您的 FCI。 您可以使用 Azure Load Balancer,或針對容錯移轉叢集執行個體的分散式網路名稱,設定虛擬網路名稱 (VNN)。 請檢閱這兩者之間的差異,然後為您的容錯移轉叢集執行個體部署至分散式網路名稱虛擬網路名稱 Azure Load Balancer

限制

  • Azure 虛擬機器支援 Windows Server 2019 上的 Microsoft Distributed Transaction Coordinator (MSDTC),且可使用 CSV 上的儲存體和 Standard Load Balancer。 Windows Server 2016 和先前版本不支援 MSDTC。
  • 向延伸模組註冊的 SQL Server FCI 不支援需要代理程式的功能,例如自動備份、修補和進階入口網站管理。 請參閱權益表格

後續步驟

如果 Azure 共用磁碟不是您適用的適當 FCI 儲存體解決方案,請考慮使用進階檔案共用儲存空間直接存取來建立 FCI。

若要深入了解,請參閱: