共用方式為


為 Azure 虛擬機器上的 SQL Server 設定叢集仲裁

適用於:Azure VM 上的 SQL Server

本文將指引您針對在 Azure 虛擬機器 (VM) 上的 SQL Server 執行的 Windows Server 容錯轉移叢集,設定下列三個仲裁選項之一 - 磁碟見證、雲端見證和檔案共用見證。

概觀

叢集的仲裁由必須成為作用中叢集成員的一部分的投票元素數目決定,以確保叢集正常啟動或持續運行。 設定仲裁資源,可讓雙節點的叢集在只有一個節點上線的情況下繼續運作。 Windows Server 容錯移轉叢集是用於 Azure VM 上 SQL Server 高可用性選項的基礎技術:容錯移轉叢集執行個體 (FCI)可用性群組 (AG)

磁碟見證是最可靠的仲裁選項,但若要在 Azure VM 上的 SQL Server 使用磁碟見證,您必須使用 Azure 共用磁碟,這對於高可用性解決方案會施加一些限制。 因此,當您使用 Azure 共享磁碟來配置容錯移轉叢集實例時,請使用磁碟見證。如果可能,請盡量使用雲端見證。 如果您使用的是不支援雲端見證的 Windows Server 2012 R2 或更舊版本,可以使用檔案共用見證。

下列仲裁設定選項可適用於 Azure 虛擬機器上的 SQL Server:

雲端見證 磁碟見證 檔案共用見證
支援的作業系統 Windows Server 2016+ 全部 全部

若要深入了解仲裁,請參閱 Windows Server 容錯移轉叢集概觀

雲端見證

雲端見證是一種容錯移轉叢集仲裁見證,會使用 Microsoft Azure 儲存體提供叢集仲裁投票功能。

以下表格提供關於雲端見證的額外資訊和考量:

見證類型 描述 需求和建議
雲端見證
  • 使用 Azure 儲存體作為雲端見證,僅包含時間戳記。
  • 適用於多個網站、多個區域和多個地區中的部署。
  • 在 Microsoft 儲存體帳戶下建立知名的容器 msft-cloud-witness
  • 寫入單一 Blob 檔案,以其對應叢集的唯一識別碼作為容器下 Blob 檔案的檔案名稱
  • 預設大小為 1 MB。
  • 使用 [一般用途] 作為帳戶種類。 不支援 Blob 儲存體。
  • 使用標準儲存體。 不支援 Azure 進階儲存體。
  • 「容錯移轉叢集」使用 Blob 檔案作為仲裁點,這在讀取資料時需要保證一定程度的數據一致性。 因此,您必須選取 [本機備援儲存體] 作為 [複寫] 類型。
  • 應從備份及病毒掃描中排除
  • 儲存空間直接存取不支援磁碟見證裝置
  • 雲端見證使用 HTTPS (預設連接埠 443) 建立與 Azure Blob 儲存體的通訊。 請確定可以透過網路 Proxy 存取 HTTPS 連接埠。

在為您的容錯叢集設定雲端見證仲裁資源時,請考量下列事項:

  • 您的容錯移轉叢集會產生共用存取安全性 (SAS) 權杖並加以安全儲存,而不會儲存存取金鑰。
  • 只要存取金鑰仍有效,產生的 SAS 權杖就有效。 輪替主要存取金鑰時,請務必在重新產生主要存取金鑰之前,先在使用該儲存體帳戶的所有叢集上,用次要存取金鑰更新雲端見證。
  • Cloud Witness 使用 Azure 儲存體帳戶服務的 HTTPS REST 介面。 這表示所有叢集節點上都必須開啟 HTTPS 連接埠。

雲端見證需要 Azure 儲存體帳戶。 若要設定儲存體帳戶,請遵循下列步驟:

  1. 登入 Azure 入口網站
  2. 在 [中樞] 功能表上,選擇 [新增] -> [資料 + 儲存體] -> [儲存體帳戶]。
  3. 在 [建立儲存體帳戶] 頁面中,執行下列動作:
    1. 輸入儲存體帳戶的名稱。 儲存體帳戶名稱必須介於 3 到 24 個字元的長度,而且只能包含數字和小寫字母。 儲存體帳戶名稱在 Azure 內也必須是唯一的。
    2. 針對 [帳戶種類],選取 [一般用途]
    3. 針對 [效能],請選取 [標準]。
    4. 請在「複寫」中選擇「本機備援儲存體 (LRS)」。

儲存體帳戶建立後,請依照下列步驟配置您的容錯移轉叢集的雲見證仲裁資源:

現有的 Set-ClusterQuorum PowerShell 命令新增了用於雲端見證的參數。

您可以使用 PowerShell 命令,以 Cmdlet Set-ClusterQuorum 設定雲端見證:

Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey>

在極少數的情況下必須使用不同的端點,請使用下列 PowerShell 命令:

Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey> -Endpoint <servername>

如需尋找儲存體帳戶 AccessKey 的協助,請參閱雲端見證文件

磁碟見證

磁碟見證是叢集可用儲存體群組中的小型叢集磁碟。 此磁碟具有高可用性,而且可以在節點之間進行容錯移轉。

當與使用 Azure 共用磁碟的容錯移轉叢集等共用儲存的高可用性方案搭配使用時,建議選擇磁碟見證作為仲裁選項。

下表提供有關仲裁見證磁碟的其他資訊和考量:

見證類型 描述 需求和建議
磁碟見證
  • 專用的 LUN 用於儲存叢集資料庫的副本
  • 最適合用於具有共用 (非複寫) 存放裝置的叢集
  • LUN 的大小必須至少為 512 MB
  • 必須專用於叢集,且不可指派給叢集角色。
  • 必須包含在叢集存放裝置中並通過存放裝置驗證測試
  • 不可以是作為叢集共用磁碟區 (CSV) 的磁碟
  • 具有單一磁碟區的基本磁碟
  • 不需要有驅動器號碼
  • 可以使用 NTFS 或 ReFS 格式化
  • 可選擇性設定硬體 RAID 以提供容錯功能
  • 應從備份及病毒掃描中排除
  • 儲存空間直接存取不支援磁碟見證

若要使用 Azure 共用磁碟作為磁碟見證,您必須先建立該磁碟並將其掛接。 要這樣做,請依照 Azure 共用磁碟容錯移轉叢集實例指南的掛載磁碟一節中的步驟操作。 磁碟未必得是進階版。

掛接磁碟後,請使用下列步驟將其新增至叢集儲存體:

  1. 開啟 [容錯移轉叢集管理員]。
  2. 在左側瀏覽窗格上,選取 [儲存體] 底下的 [磁碟]。
  3. 在右側瀏覽窗格上,選取 [動作] 底下的 [新增磁碟]。
  4. 選取您剛剛掛接的 Azure 共用磁碟機,並記下名稱,例如 Cluster Disk 3

將磁碟新增為叢集儲存體後,使用 PowerShell 將其設定為磁碟見證:

現有的 Set-ClusterQuorum PowerShell 命令有對應於雲端見證的全新參數。

使用 PowerShell Cmdlet Set-ClusterQuorum 時,請使用檔案共用的路徑作為磁碟見證的參數:

Set-ClusterQuorum -NodeAndDiskMajority "Cluster Disk 3"

您也可以使用容錯移轉叢集管理員;請遵循與雲端見證相同的步驟,但改為選擇磁碟見證作為仲裁選項。

檔案共享見證

檔案共用見證是一種 SMB 檔案共用,通常設定於執行 Windows Server 的檔案伺服器上。 其會在 witness.log 檔案中維護叢集資訊,但不會儲存叢集資料庫的複本。 在 Azure 中,您可以在不同的虛擬機器上設定檔案共用。

若在您的環境中無法使用或不支援磁碟見證或雲端見證,請設定檔案共用見證。

下表提供關於仲裁檔案共用見證的額外資訊和考慮事項:

見證類型 描述 需求和建議
檔案共用見證
  • 在執行 Windows Server 的檔案伺服器上設定的 SMB 檔案共用
  • 不會儲存叢集資料庫的複本
  • 僅在 witness.log 檔案中保存叢集資訊
  • 最適合用於具備複製儲存功能的多站點叢集
  • 必須至少有 5 MB 的可用空間
  • 必須專用於單一叢集,且不用來儲存使用者或應用程式資料
  • 必須為叢集名稱的電腦物件啟用寫入權限。

以下是代管檔案共用見證之檔案伺服器的其他考量:
  • 單一檔案伺服器可以配置文件共用見證給多個叢集。
  • 檔案伺服器必須位於與叢集工作負載分開的站台上。 如果站台至站台之間網路通訊中斷時,這可讓任何叢集站台有相同的機會繼續運作。 如果檔案伺服器位於相同站台,該網站會成為主要站台,而且是唯一可連線檔案共用的站台。
  • 如果虛擬機器不是位於使用檔案共用見證的相同叢集上,檔案伺服器就可以在虛擬機器執行。
  • 為了獲得高可用性,可以在獨立的容錯移轉叢集上設定檔案伺服器。

在建立檔案共用並正確設定權限之後,請將檔案共用掛接到您的叢集節點。 您可以依照一般步驟來掛接檔案共用,如在進階檔案共用容錯移轉叢集執行個體使用指南的掛接檔案共用一節中所描述。

在檔案共用正確設定並掛接後,請使用 PowerShell 將檔案共用新增為仲裁見證資源:

Set-ClusterQuorum -FileShareWitness <UNC path to file share> -Credential $(Get-Credential)

您將被提示輸入一個對於檔案共用來說具有完整系統管理員權限的本機非系統管理員帳戶的帳戶名稱和密碼。 叢集會將名稱和密碼保持加密,且不供任何人存取。

您也可以使用 Failover Cluster 管理員;請遵循與雲端見證相同的步驟,但改為選擇檔案共用見證作為仲裁選項。

變更法定人數投票

您可以變更參與 Windows Server 容錯移轉叢集之節點的法定人數投票。

修改節點投票設定時,請遵循下列指導方針:

法定人數投票指導方針
從預設為沒有投票的每個節點開始。 每個節點應該只有一票,而且要有明確的理由。
針對承載主要副本的可用性群組叢集節點,或容錯移轉叢集執行個體的偏好擁有者,啟用投票權限。
啟用自動故障轉移負責人的投票。 由於自動容錯移轉,可能承載主要複本或 FCI 的每個節點都應該有投票權。
如果可用性群組有一個以上的次要複本,請只針對具有自動容錯移轉的複本啟用投票權。
為次要災害復原網站中的節點停用投票。 如果主要站台沒有任何問題,則次要站台中的節點不應該參與將叢集變成離線的決策。
具有奇數的投票數,最少有三個法定投票。 在雙節點叢集中,新增仲裁見證以便在需要時進行額外的投票。
故障轉移後重新評估投票指派。 您不希望故障轉移到不支援穩定仲裁的叢集配置。

後續步驟

若要深入了解,請參閱: