為 Azure VM 上的 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 VM 上的 SQL Server:

雲端見證 磁碟見證 檔案共用見證
支援的 OS Windows Server 2016+ 全部 全部

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

雲端見證

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

下表提供雲端見證的相關資訊和考量:

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

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

  • 您的容錯移轉叢集會產生共用存取安全性 (SAS) 權杖並安全地加以儲存,而不會儲存存取金鑰。
  • 只要存取金鑰仍有效,產生的 SAS 權杖就有效。 輪替主要存取金鑰時,請務必先使用次要存取金鑰更新雲端見證 (在所有使用該儲存體帳戶的叢集上),再重新產生主要存取金鑰。
  • 雲端見證會使用 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 共用磁碟的容錯移轉叢集執行個體) 搭配使用時,磁碟見證是建議的仲裁選項。

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

見證類型 Description 需求和建議
磁碟見證
  • 儲存叢集資料庫複本的固定 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 中,您可以在不同的虛擬機器上設定檔案共用。

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

下表提供仲裁檔案共用見證的相關資訊和考量:

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

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

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

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

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

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

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

變更仲裁投票

您可以變更參與 Windows Server 容錯移轉叢集之節點的仲裁投票。

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

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

後續步驟

若要深入了解,請參閱: