Поделиться через


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

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

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

Обзор

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

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

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

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

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

Облачный свидетель

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы получить помощь в нахождении ключа доступа (AccessKey) учетной записи хранилища, см. документацию по облачному свидетелю.

Дисковый свидетель

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

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

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

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

Чтобы использовать общий диск 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 общую папку можно настроить на отдельной виртуальной машине.

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

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

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

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

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

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

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

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

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

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

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

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

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

Следующие шаги

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