SQL: AlwaysOn: Cloud witness: The client and server cannot communicate

28-mar-2021

Podczas dodawania do quorum  świadka „Cloud Witness” dostałem błąd:

An error was encountered while modifying the quorum settings.
Your cluster quorum settings have not been changed.
The client and server cannot communicate, because they do not possess a common algorithm.

Dodajmy, że Always On był konfigurowany na Windows 2016.

Przyczyną jest to, że Azure Storage Account pozwala na połąćzenie za pomocą TLS 1.0 1.1 i 1.2, tymczasem na moich serwerach miałem wyższą wersję. Nie wiem, jak obniżyć wykorzystywaną wersję w interfejsie graficznym, ale z powershella robi się to tak:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Set-ClusterQuorum -Cluster Cluster_Name -CloudWitness -AccountName Storage_Account_Name -AccessKey "Storage Access Key 1 or 2"

Pierwsze polecenie obniża wersję TLS, a drugie dodaje cloud witness.

Przy okazji pojawił się też problem podczas samego konfigurowania availability group:

The local node is not part of quorum and is therefore unable to process this operation. This may be due to one of the following reasons:

• The local node is not able to communicate with the WSFC cluster.

• No quorum set across the WSFC cluster.

For more information on recovering from quorum loss, refer to SQL Server Books Online.

(Microsoft.SqlServer.Management.HadrTasks)

Zazwyczaj ten błąd oznacza rzeczywiście problem z clustrem, względnie przyczyną jest to, że we właściwościach usługi SQL w Configuration Managerze nie jest zaznaczona opcja Enable AlwaysOn Availability Groups:

Istotne jest jednak żeby ta opcja została zaznaczona PO utworzeniu clustra. Jeśli w między czasie cluster został odinstalowany i zainstalowany na nowo, to trzeba tę opcję wyłączyć (restart SQL) i włączyć (restart SQL)

 

https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-clusterless-workgroup-configure

 

Komentarze są wyłączone

Autor: Rafał Kraik