Настройка кворума кластера для SQL Server на виртуальных машинах Azure

Область применения: SQL Server на виртуальной машине Azure

В этой статье содержатся сведения о том, как настроить один из трех параметров кворума для отказоустойчивого кластера Windows Server, работающего на SQL Server на виртуальных машинах Azure — это диск-свидетель, облако-свидетель и общая папка-свидетель.

Обзор

Кворум для кластера определяется количеством мажоритарных элементов, которые должны быть частью активного членства в кластере, чтобы кластер запустился должным образом или продолжал работать. Настройка ресурса кворума позволит кластеру с двумя узлами продолжать работу с единственным оставшимся в сети узлом. Отказоустойчивый кластер Windows Server — это базовая технология для параметров высокой доступности SQL Server на виртуальных машинах Azure: экземпляров отказоустойчивого кластера и групп доступности.

Диск-свидетель является наиболее устойчивым вариантом кворума, но для использования диска-свидетеля на виртуальной машине Azure необходимо использовать общий диск Azure, который накладывает некоторые ограничения на решение высокого уровня доступности. Поэтому диск-свидетель следует использовать при настройке экземпляра отказоустойчивого кластера с общими дисками Azure. В противном случае по возможности используйте облако-свидетель. Если вы используете Windows Server 2012 R2 или более ранней версии, которая не поддерживает облако-свидетель, вы можете использовать следящий файловый ресурс.

Ниже перечислены варианты кворума, доступные для SQL Server на виртуальных машинах Azure.

Облако-свидетель Диск-свидетель Файловый ресурс-свидетель
Поддерживаемые ОС Windows Server 2016+ Все Все

Дополнительные сведения о кворуме см. в разделе "Обзор" статьи об отказоустойчивых кластерах Windows Server.

Облако-свидетель

Облако-свидетель — это разновидность следящего сервера кворума отказоустойчивого кластера, который использует Microsoft Azure для передачи голоса для кворума кластера.

В таблице ниже приводится дополнительная информация и рекомендации касательно облака-свидетеля:

Тип свидетеля Description Требования и рекомендации
Облако-свидетель
  • Использует службу хранилища Azure как облако-свидетель, содержит только метку времени.
  • Идеально подходит для развертываний на нескольких сайтах, в нескольких зонах и в нескольких регионах.
  • Создает известный контейнер msft-cloud-witness в учетной записи хранения Майкрософт.
  • Записывает один файл BLOB-объекта с уникальным идентификатором соответствующего кластера, используемым в качестве имени файла BLOB-объекта в контейнере.
  • Размер по умолчанию равен 1 МБ.
  • Задайте в качестве типа учетной записи тип Общего назначения. Хранилище BLOB-объектов не поддерживается.
  • Используйте хранилище класса "Стандартный". Хранилище класса Premium Azure не поддерживается.
  • Отказоустойчивая кластеризация использует файл большого двоичного объекта в качестве точки арбитража, что требует некоторых гарантий согласованности при чтении данных. Поэтому в качестве типа для параметра Репликация нужно выбрать Локально избыточное хранилище.
  • Должен быть исключен из резервного копирования и антивирусного сканирования
  • Локальные дисковые пространства не поддерживают диск-свидетель
  • Cloud Witness использует ПРОТОКОЛ HTTPS (порт 443 по умолчанию) для установления связи с Хранилище BLOB-объектов Azure. Убедитесь, что HTTPS-порт доступен через прокси-сервер.

При настройке ресурса кворума облака-свидетеля для отказоустойчивого кластера учитывайте следующее:

  • Вместо хранения ключа доступа отказоустойчивый кластер создает и безопасно сохраняет маркер безопасности общего доступа (SAS).
  • Созданный маркер SAS действителен, пока действителен ключ доступа. При смене первичного ключа доступа необходимо сначала обновить Cloud Witness (на всех кластерах, использующих учетную запись хранения) с помощью дополнительного ключа доступа перед повторной повторной настройкой первичного ключа доступа.
  • Облако-свидетель использует интерфейс REST HTTPS службы хранилища учетной записи Azure. Это значит, что порт HTTPS должен быть открыт на всех узлах кластера.

Для облака-свидетеля требуется учетная запись хранения Azure. Чтобы настроить учетную запись хранения, выполните следующие действия.

  1. Войдите на портал Azure.
  2. В меню «Концентратор» выберите Создать -> Данные + хранилище -> Учетная запись хранения.
  3. На странице "Создание учетной записи хранения" выполните следующие действия.
    1. Введите имя учетной записи хранения. Имя учетной записи хранения должно содержать от 3 до 24 символов и состоять только из цифр и строчных букв. Имя учетной записи хранения должно также быть уникальным в Azure.
    2. Для типа учетной записи выберите "Общего назначения".
    3. В разделе Производительность выберите Стандартная.
    4. В поле Репликация выберите Локально избыточное хранилище (LRS).

Создав учетную запись хранения, выполните следующие действия, чтобы настроить ресурс кворума облака-свидетеля для отказоустойчивого кластера.

У существующей команды PowerShell Set-ClusterQuorum есть новые параметры, которые относятся к облаку-свидетелю.

Вы можете настроить облако-свидетель с помощью командлета Set-ClusterQuorum, выполнив следующую команду PowerShell:

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

В редких случаях, когда вам нужно использовать другую конечную точку, можно воспользоваться этой командой PowerShell:

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

Сведения о том, как найти атрибут AccessKey учетной записи хранения, см. в документации по облаку-свидетелю.

Диск-свидетель

Диск-свидетель — небольшой кластеризованный диск, размещенный в группе службы хранилища, доступной для кластера. Это диск с высоким уровнем доступности и отработкой отказа между узлами.

Диск-свидетель является рекомендуемым вариантом кворума, если вы используете решение для общего хранилища с высоким уровнем доступности, например экземпляр отказоустойчивого кластера с общими дисками Azure.

В таблице ниже приводятся дополнительные сведения и рекомендации касательно дисков-свидетелей кворума.

Тип свидетеля Description Требования и рекомендации
Диск-свидетель
  • Выделенный LUN, в котором хранится копия базы данных кластера
  • Оптимальный вариант для кластеров с общим (не реплицированным) хранилищем
  • Размер LUN должен быть не меньше 512 МБ
  • Должен быть выделен для кластера и не назначаться кластерной роли
  • Должен быть включен в кластерное хранилище и пройти проверочные тесты хранилища
  • Не может быть общим томом кластера (CSV)
  • Базовый диск с одним томом
  • Не нуждается в букве диска
  • Может иметь файловую систему NTFS или ReFS
  • Можно настроить аппаратную конфигурацию RAID для отказоустойчивости
  • Должен быть исключен из резервного копирования и антивирусного сканирования
  • Локальные дисковые пространства не поддерживают диск-свидетель

Прежде чем использовать общий диск Azure для диска-свидетеля, необходимо создать диск и подключить его. Для этого выполните действия, описанные в разделе Подключение диска руководства по использованию экземпляра отказоустойчивого кластера общих дисков Azure. Диск не должен быть премиумом.

Подключив диск, добавьте его в хранилище кластера, выполнив следующие действия.

  1. Откройте диспетчер отказоустойчивости кластеров.
  2. Выберите пункт Диски в разделе Служба хранилища в области навигации слева.
  3. Выберите пункт Добавить диск в разделе Действия в области навигации справа.
  4. Выберите только что подключенный общий диск Azure и запишите его имя, например Cluster Disk 3.

Добавив диск в качестве кластеризованного хранилища, настройте его как диск-свидетель с помощью PowerShell:

У существующей команды PowerShell Set-ClusterQuorum есть новые параметры, которые относятся к облаку-свидетелю.

Используйте путь к общей папке как параметр для диска-свидетеля в командлете PowerShell Set-ClusterQuorum:

Set-ClusterQuorum -NodeAndDiskMajority "Cluster Disk 3"

Вы также можете использовать диспетчер отказоустойчивости кластеров. Выполните те же действия, что и для облака-свидетеля, однако в качестве варианта кворума выберите диск-свидетель.

Файловый ресурс-свидетель

Общая папка-свидетель — общая папка SMB, которая обычно настраивается на файловом сервере под управлением Windows Server. Поддерживает сведения о кластере в файле witness.log, но не хранит копии базы данных кластера. В Azure общую папку можно настроить на отдельной виртуальной машине.

Настройте общую папку-свидетель, если диск-свидетель или облако-свидетель недоступны или не поддерживаются в вашем окружении.

В таблице ниже приводятся дополнительные сведения и рекомендации касательно общих папок-свидетелей кворума.

Тип свидетеля Description Требования и рекомендации
Файловый ресурс-свидетель
  • Файловый ресурс SMB, настроенный на файловом сервере с ОС Windows Server
  • Не сохраняет копию базы данных кластера
  • Информация о кластере хранится только в файле witness.log
  • Наиболее полезно для многосайтовых кластеров с реплицированным хранилищем
  • Свободное пространство должно быть не меньше 5 МБ
  • Должен быть выделен для одного кластера и не использоваться для хранения данных пользователей или приложений
  • Для объекта-компьютера имени кластера должны быть включены разрешения на запись

Ниже приведены дополнительные рекомендации касательно файлового сервера, на котором размещается файловый ресурс-свидетель.
  • На одном файловом сервере можно настроить файловые ресурсы-свидетели для нескольких кластеров.
  • Файловый сервер должен относиться к сайту, на котором не выполняется рабочая нагрузка кластера. Это дает всем сайтам кластера равные возможности по сохранению работоспособности в случае, если сетевое соединение между сайтами утеряно. Если файловый сервер находится на том же сайте, этот сайт становится основным сайтом, и это единственный сайт, который может получить доступ к общей папке.
  • Файловый сервер может работать на виртуальной машине, если виртуальная машина не размещена в том же кластере, где используется следящий файловый ресурс.
  • Для обеспечения высокой доступности файловый сервер можно настроить в отдельном отказоустойчивом кластере.

Создав общую папку и правильно настроив разрешения, подключите общую папку к кластеризованным узлам. Вы можете выполнить основные шаги, описанные в разделе о подключении общей папки руководства по использованию экземпляра отказоустойчивого кластера общей папки цен. категории "Премиум".

После правильных настройки и подключения общей папки используйте PowerShell, чтобы добавить общую папку как ресурс свидетеля кворума:

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

Вам будет предложено указать учетную запись и пароль для локальной учетной записи (в общую папку), которая имеет полные права администратора на общую папку. Кластер хранит имя и пароль, зашифрованные и недоступные для всех пользователей.

Вы также можете использовать диспетчер отказоустойчивости кластеров. Выполните те же действия, что и для облака-свидетеля, однако в качестве варианта кворума выберите общую папку-свидетель.

Изменение голосования кворума

Голос в кворуме узла, участвующего в отказоустойчивом кластере Windows Server, можно изменить.

При изменении параметров голоса для узла следуйте приведенным ниже рекомендациям.

Рекомендации по голосованию кворума
По умолчанию у узла не должно быть голоса. Для наличия голоса у каждого узла требуется явное обоснование.
Включите голоса для узлов кластера, в которых размещается первичная реплика группы доступности, или для предпочтительных владельцев экземпляра отказоустойчивого кластера.
Включите голоса для владельцев автоматического перехода на другой ресурс. Каждый узел, который может размещать первичную реплику или FCI в результате автоматической отработки отказа, должен иметь голосование.
Если в группе доступности несколько вторичных реплик, включите голоса только для реплик с автоматическим переходом на другой ресурс.
Отключите голоса для узлов, находящихся на вторичных сайтах аварийного восстановления. Узлы на вторичных сайтах не должны способствовать принятию решения об автономном использовании кластера, если нет ничего плохого с основным сайтом.
Число голосов кворума должно быть нечетным (минимум три). В кластере с двумя узлами при необходимости добавьте свидетель кворума, чтобы получить дополнительный голос.
Перераспределяйте назначение голосов после отработки отказа. Не допускайте отработку отказа с переходом на конфигурацию кластера, которая не поддерживает работоспособность кворума.

Next Steps

Дополнительные сведения см. на следующих ресурсах: