針對 FCI (Azure VM 上的 SQL Server) 準備虛擬機器

適用於:Azure VM 上的 SQL Server

本文描述如何準備 Azure 虛擬機器 (VM),以搭配 SQL Server 容錯移轉叢集執行個體 (FCI) 使用。 組態設定會隨 FCI 儲存體解決方案而異,因此請驗證是否選擇了符合您環境和企業的正確設定。

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

注意

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

必要條件

  • Microsoft Azure 訂用帳戶。 開始使用免費 Azure 帳戶
  • Azure 虛擬機器上的 Windows 網域或使用虛擬網路配對延伸至 Azure 的內部部署 Active Directory。
  • 有權在 Azure 虛擬機器和 Active Directory 中建立物件的帳戶。
  • 有足夠 IP 位址空間可容納這些元件的 Azure 虛擬網路和一或多個子網路:
    • 兩部虛擬機器
    • 一個 Windows 容錯移轉叢集 IP 位址
    • 每個 FCI 一個 IP 位址
  • 在 Azure 網路上設定的 DNS,指向網域控制站。

選擇 FCI 儲存體選項

虛擬機器的組態設定會隨您為 SQL Server 容錯移轉叢集執行個體規劃的儲存體選項而有所不同。 準備虛擬機器之前,請先檢閱可用的 FCI 儲存體選項,選擇最適合您環境和企業需求的選項。 然後,根據您的儲存體選項,在本文中仔細選取適當的 VM 設定選項。

選擇 VM 可用性

容錯移轉叢集功能要求虛擬機器必須放置於可用性設定組可用性區域中。

請仔細選取符合您預期叢集設定的 VM 可用性選項:

  • Azure 共用磁碟:如果使用進階 SSD 或 UltraDisk,可用性選項會不一樣:
    • 進階 SSD 區域備援儲存體 (ZRS):不同區域中的可用性區域進階 SSD ZRS 會跨所選區域的三個 Azure 可用性區域,同步複寫 Azure 受控磁碟。 容錯移轉叢集中的 VM 可放置於不同的可用性區域,協助您達到區域備援 SQL Server FCI,以提供 99.99% 的 VM 可用性 SLA。 ZRS 的磁碟延遲因跨區複製資料而較高。
    • 進階 SSD 本地備援儲存體 (LRS)進階 SSD LRS 在不同容錯/更新網域中的可用性設定組。 您也可以選擇將 VM 放在鄰近放置群組內,讓彼此更接近。 結合可用性設定組和鄰近放置群組可提供最低的共用磁碟延遲,因為資料是在一個本地資料中心內複寫,提供 99.95% 的 VM 可用性 SLA。
    • Ultra 磁碟本地備援儲存體 (LRS)可用性區域,但 VM 必須放在相同的可用性區域中。 Ultra 磁碟提供最低的磁碟延遲,最適合 IO 密集型工作負載使用。 因為 FCI 所有的 VM 都必須位於相同的可用性區域,所以 VM 可用性只有 99.9%。
  • 進階檔案共用可用性設定組可用性區域
  • 儲存空間直接存取可用性設定組

重要

建立虛擬機器後,您即無法設定或變更可用性設定組。

子網路

若為 Azure VM 上的 SQL Server,您可以選擇將 SQL Server VM 部署到單一子網路或多個子網路。

將 VM 部署到多個子網路,可利用叢集或 IP 位址相依性,並在連線到容錯移轉叢集執行個體時比對內部部署體驗。 Azure VM 上的 SQL Server 建議採用多個子網路的方法,以便於管理並獲得更快的容錯移轉時間。

將 VM 部署至單一子網路則需要額外的 Azure Load Balancer 相依性,或可將流量路由至 FCI 的分散式網路名稱 (DNN)。

如果您要將 SQL Server VM 部署到多個子網路,請遵循本節的步驟使用其他子網路來建立虛擬網路,然後在建立 SQL Server VM 後,將這些子網路內的次要 IP 位址指派給 VM。 將 SQL Server VM 部署到單一子網路不需要任何額外的網路設定。

將兩部虛擬機器放在具有足夠 IP 位址的單一子網路中,以供最終可能安裝到此叢集的兩部虛擬機器和所有 FCI 使用。 這個方法需要有額外的元件將連線路由至 FCI,例如 Azure Load Balancer 或分散式網路名稱 (DNN)。

如果您選擇將 SQL Server VM 部署到單一子網路,請檢閱 Azure Load Balancer 和 DNN 連線選項之間的差異,決定最適合您的選項後,再為 FCI 準備其餘環境。

將 SQL Server VM 部署到單一子網路不需要任何額外的網路設定。

設定 DNS

設定虛擬網路使用 DNS 伺服器。 首先,識別 DNS IP 位址,然後將其新增至虛擬網路。

識別 DNS IP 位址

識別 DNS 伺服器的 IP 位址,然後將其新增至虛擬網路設定。 本節示範當 DNS 伺服器位於 Azure 虛擬機器上時,如何識別 DNS IP 位址。

若要在 Azure 入口網站中識別 DNS 伺服器 VM 的 IP 位址,請遵循下列步驟:

  1. Azure 入口網站中移至資源群組,並選取 DNS 伺服器 VM。
  2. 在該 VM 頁面的 [設定] 窗格中,選擇 [網路]。
  3. 請記下 NIC 私人 IP 位址,因為這是 DNS 伺服器的 IP 位址。 範例影像中的私人 IP 位址是 10.38.0.4

On the DC-VM-1 page, choose Networking in the Settings pane, and then note the NIC private IP address. Use this IP address as the DNS server.

設定虛擬網路 DNS

設定虛擬網路使用此 DNS 伺服器 IP 位址。

若要設定虛擬網路使用 DNS,請遵循下列步驟:

  1. Azure 入口網站中移至資源群組,並選取虛擬網路。
  2. 選取 [設定] 窗格下的 [DNS 伺服器],然後選取 [自訂]。
  3. 在 [IP 位址] 欄位中輸入您之前識別的私人 IP 位址,例如 10.38.0.4,或提供內部 DNS 伺服器的內部 IP 位址。
  4. 選取 [儲存]。

 Select DNS servers under the Settings pane and then select Custom. Enter the private IP address you identified previously in the IP Address field, such as 10.38.0.4.

建立虛擬機器

設定 VM 虛擬網路並選擇 VM 可用性之後,您就可以開始建立虛擬機器。 您可以選擇使用已安裝或未安裝 SQL Server 的 Azure Marketplace 映像。 但如果選擇 Azure VM 上的 SQL Server 映像,您即必須先解除安裝虛擬機器上的 SQL Server,再設定容錯移轉叢集執行個體。

NIC 考量

在 Azure VM 客體容錯移轉叢集上,建議每部伺服器 (叢集節點) 一個 NIC。 Azure 網路有實體備援,因此 Azure IaaS VM 客體叢集上不需要額外的 NIC。 雖然叢集驗證報告會發出節點只能在單一網路上連線的警告,但您可以放心地在 Azure IaaS VM 客體容錯移轉叢集上忽略此警告。

將兩部虛擬機器放置於:

  • 與可用性設定組相同的 Azure 資源群組中 (如果使用可用性設定組)。
  • 與您的網域控制站和 DNS 伺服器相同的虛擬網路上,或可以連線到您網域控制站的虛擬網路上。
  • 在 Azure 可用性設定組或可用性區域中。

您可以使用預先安裝 SQL Server 的映像來建立 Azure 虛擬機器。 如果您選擇 SQL Server 映像,您將必須先手動解除安裝 SQL Server 執行個體,再安裝容錯移轉叢集執行個體。

指派次要 IP 位址

如已將 SQL Server VM 部署到單一子網路,請略過此步驟。 如已將 SQL Server VM 部署到多個子網路以改善 FCI 連線,則您必須將次要 IP 位址指派給每部 VM。

將次要 IP 位址指派給每部 SQL Server VM 以供容錯移轉叢集執行個體網路名稱使用,且針對 Windows Server 2016 和較舊版本,請將次要 IP 位址指派給每部 SQL Server VM 以供叢集網路名稱使用。 這麼做即不再需要 Azure Load Balancer,因為就和單一子網路環境的需求一樣。

在 Windows Server 2016 和較舊版本中,您需要將額外的次要 IP 位址指派給每部 SQL Server VM 以供 Windows 叢集 IP 使用,因為叢集會使用叢集網路名稱,而不是在 Windows Server 2019 中引入的預設分散式網路名稱 (DNN)。 使用 DNN 時,叢集名稱物件 (CNO) 會自動註冊所有叢集節點的 IP 位址,不再需要專用的 Windows 叢集 IP 位址。

如果使用 Windows Server 2016 和較舊版本,請遵循本節中的步驟,將次要 IP 位址指派給每部 SQL Server VM,供 FCI 網路名稱「和」叢集「一起」使用。

如果使用 Windows Server 2019 或更新版本,請只指派次要 IP 位址供 FCI 網路名稱使用,並略過指派 Windows 叢集 IP 的步驟,除非您打算使用虛擬網路名稱 (VNN) 來設定叢集,如此才需要將這兩個 IP 位址指派給每部 SQL Server VM,就像在 Windows Server 2016 中時一樣。

若要將額外的次要 IP 指派給 VM,請遵循下列步驟:

  1. Azure 入口網站中移至資源群組,並選取第一部 SQL Server VM。

  2. 在 [設定] 窗格中選取 [網路],然後選取 [網路介面]:

    Select Networking in the Settings pane, and then select the Network Interface

  3. 在 [網路介面] 頁面的 [設定] 窗格中,選取 [IP 設定],然後選擇 [+ 新增] 以新增額外的 IP 位址:

    IP configurations

  4. 在 [新增 IP 設定] 頁面上,執行下列動作:

    1. 指定 Windows 叢集 IP 位址的名稱,例如為 Windows 2016 及較舊版本使用 Windows-cluster-ip。 如果使用 Windows Server 2019 或更新版本,請略過此步驟。
    2. 將 [配置] 設為靜態
    3. 在相同子網路中輸入未使用的 IP 位址 (SQL-subnet-1) 作為 SQL Server VM,例如 10.38.1.10
    4. 保留 [公用 IP 位址] 的預設值 [取消關聯]。
    5. 選取 [確定] 完成新增 IP 設定。

    Add Cluster IP by entering in an used IP address in the subnet of the first SQL Server VM

  5. 再次選取 [+ 新增],設定額外的 IP 位址供 FCI 網路名稱使用 (使用如 FCI-network-name 的名稱),再次在 SQL-subnet-1 中指定未使用的 IP 位址,例如 10.38.1.11

    Select + Add again to configure an additional IP address for the availability group listener (with a name such as availability-group-listener), again using an unused IP address in SQL-subnet-1 such as 10.31.1.11

  6. 為第二部 SQL Server VM 重複上述步驟。 在 SQL-subnet-2 內指派兩個未使用的次要 IP 位址。 使用下表中的值新增 IP 設定 (IP 位址僅為範例,您的位址可能會不一樣):

    欄位 輸入 輸入
    名稱 windows-cluster-ip FCI-network-name
    配置 靜態 靜態
    IP 位址 10.38.2.10 10.38.2.11

解除安裝 SQL Server

在 FCI 建立程序中,您會將 SQL Server 安裝為容錯移轉叢集的叢集執行個體。 如已使用無 SQL Server 的 Azure Marketplace 映像部署虛擬機器,則可略過此步驟。 如已部署預先安裝 SQL Server 的映像,您將必須取消註冊 SQL IaaS Agent 延伸模組中的 SQL Server VM,然後解除安裝 SQL Server。

從 SQL IaaS Agent 延伸模組取消註冊

Azure Marketplace 中的 SQL Server VM 映像會自動向 SQL IaaS Agent 延伸模組註冊。 解除安裝預先安裝的 SQL Server 執行個體之前,您必須先取消註冊 SQL IaaS Agent 延伸模組中的每一部 SQL Server VM

解除安裝 SQL Server

從延伸模組取消註冊之後,您就可以解除安裝 SQL Server。 請在每部虛擬機器上執行下列步驟:

  1. 使用 RDP 連線到虛擬機器。 當首次透過 RDP 連線到虛擬機器時會出現提示來詢問是否要允許此電腦在網路上可供搜尋。 選取 [是]。
  2. 開啟 [控制台] 中的 [程式和功能]。
  3. 在 [程式和功能] 中,以滑鼠右鍵按一下 Microsoft SQL Server 201_ (64 位元),然後選取 [解除安裝/變更]。
  4. 選取 [移除]。
  5. 選取預設執行個體。
  6. 移除 Database Engine ServicesAnalysis ServicesReporting Services - Native 下的所有功能。 不要移除 SharedFeatures 下的任何項目。 您將會看到類似下列螢幕擷取畫面的內容:Select features
  7. 選取 [下一步],然後選取 [移除]。
  8. 成功移除執行個體之後,請重新啟動虛擬機器。

開啟防火牆

在每部虛擬機器上,開啟 SQL Server 使用的 Windows 防火牆 TCP 通訊埠。 SQL Server 預設使用連接埠 1433,但如果您的環境變更此值,請開啟您設定 SQL Server 執行個體所要使用的連接埠。 從 Azure Marketplace 部署 SQL Server 映像時,會自動開啟連接埠 1433。

如果您在單一子網路案例中使用負載平衡器,您也必須開啟健全狀態探查所使用的連接埠。 健全狀態探查預設使用連接埠 59999,但可以是您在建立負載平衡器時所指定的任何 TCP 通訊埠。

下表會詳細說明視 FCI 設定而定,您可能需要開啟的連接埠:

目的 連接埠 注意
SQL Server TCP 1433 適用於 SDL Server 預設執行個體的一般連接埠。 若您曾使用來自資源庫的映像,此連接埠會自動開啟。

使用者:所有 FCI 設定。
健全狀況探查 TCP 59999 任何開啟的 TCP 連接埠。 設定負載平衡器健全狀態探查和要使用此連接埠的叢集。

使用者:在單一子網路案例中使用負載平衡器的 FCI。
檔案共用 UDP 445 檔案共用服務使用的連接埠。

使用者:使用進階檔案共用的 FCI。

加入網域

您也需要將虛擬機器加入網域。 您可以使用快速入門範本完成這項作業。

檢閱儲存體設定

從 Azure Marketplace 建立的虛擬機器隨附連結的儲存體。 如果您打算使用進階檔案共用或 Azure 共用磁碟來設定 FCI 儲存體,您可以移除連結的儲存體以節省成本,因為本機儲存體不提供容錯移轉叢集執行個體使用。 但是,儲存空間直接存取 FCI 解決方案可能會使用連結的儲存體,所以這種狀況移除連結的儲存體沒什麼用。 請檢閱 FCI 儲存體解決方案,判斷移除連結的儲存體是否最能節省成本。

後續步驟

準備好虛擬機器環境後,您就可以開始設定容錯移轉叢集執行個體。

選擇下列其中一本指南,設定適合您公司的 FCI 環境:

若要深入了解,請參閱: