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