Развертывание облака-свидетеля для отказоустойчивого кластера

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

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

Обзор облака-свидетеля

На следующем рисунке показана конфигурация кворума отказоустойчивого кластера с несколькими сайтами с Windows Server 2016. В этом примере конфигурации (рис. 1) имеется 2 узла в 2 центрах обработки данных (называемых сайтами). Обратите внимание, что кластер может охватывать более 2 центров обработки данных. Кроме того, каждый центр обработки данных может иметь более 2 узлов. Типичная конфигурация кворума кластера в этой установке (соглашение об уровне обслуживания об автоматической отработке отказа) дает каждому узлу голоса. Один дополнительный голос предоставляется свидетелю кворума, чтобы позволить кластеру продолжать работать, даже если один из центров обработки данных испытывает сбой питания. Математика проста - есть 5 голосов в общей сложности, и вам нужно 3 голоса для того, чтобы кластер держал его в работе.

File Share Witness in a third separate site with 2 nodes in 2 other sitesИспользование файлового ресурса-свидетеля в качестве свидетеля кворума

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

В большинстве организаций нет третьего отдельного центра обработки данных, на котором будет размещаться файловый сервер, который поддерживает файловый ресурс-свидетель. Это означает, что организации в основном размещают файловый сервер в одном из двух центров обработки данных, которые по расширению делают этот центр обработки данных основным центром обработки данных. В случае сбоя электроэнергии в основном центре обработки данных кластер будет отключен, так как в другом центре обработки данных будет только 2 голоса, что ниже кворума большинство из 3 голосов. Для клиентов, которые имеют третий отдельный центр обработки данных для размещения файлового сервера, это дополнительные расходы на обслуживание высокодоступного файлового сервера, поддерживающего файловый ресурс-свидетель. Размещение виртуальных машин в общедоступном облаке с файловым сервером для файлового ресурса-свидетеля, работающего в гостевой ОС, является значительными издержками в плане настройки и обслуживания.

Cloud Witness — это новый тип свидетеля кворума отказоустойчивого кластера, который использует Microsoft Azure в качестве точки арбитража (см. следующий рисунок). Он использует Хранилище BLOB-объектов Azure для чтения и записи большого двоичного объекта, который затем используется в качестве точки арбитража в случае разрешения разделенного мозга.

Этот подход имеет значительные преимущества.

  • Использует Microsoft Azure (не требуется третий отдельный центр обработки данных).
  • Использует стандартные доступные Хранилище BLOB-объектов Azure (дополнительные расходы на обслуживание виртуальных машин, размещенных в общедоступном облаке).
  • Одну и ту же учетную запись служба хранилища Azure можно использовать для нескольких кластеров (один файл BLOB-объектов на кластер; уникальный идентификатор кластера, используемый в качестве имени файла BLOB-объекта).
  • Низкий уровень $cost к учетной записи служба хранилища (небольшие данные, записанные на файл BLOB-объектов, файл BLOB-объектов обновляется только один раз при изменении состояния узлов кластера).
  • Встроенный тип ресурса Cloud Witness.

Diagram illustrating a multi-site stretched cluster with Cloud Witness as a quorum witnessМногосайтовые растянутые кластеры с облачным свидетелем в качестве свидетеля кворума

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

Облачный свидетель: поддерживаемые сценарии для одного типа следящего сервера

Если у вас есть развертывание отказоустойчивого кластера, где все узлы могут получить доступ к Интернету (по расширению Azure), рекомендуется настроить облачный свидетель в качестве ресурса-свидетеля кворума.

Ниже приведены некоторые сценарии, которые поддерживают использование Cloud Witness в качестве свидетеля кворума.

  • Аварийное восстановление растянутых кластеров с несколькими сайтами (см. предыдущий рисунок).
  • Отказоустойчивые кластеры без общего хранилища (SQL Always On и т. д.).
  • Отказоустойчивые кластеры, работающие в гостевой ОС, размещенной в роли виртуальной машины Microsoft Azure (или любом другом общедоступном облаке).
  • Отказоустойчивые кластеры, работающие в гостевой ОС Виртуальные машины, размещенных в частных облаках.
  • служба хранилища кластеры с общим хранилищем или без него, например кластеры масштабируемого файлового сервера.
  • Небольшие кластеры филиалов (даже кластеры с 2 узлами)

Начиная с Windows Server 2012 R2, рекомендуется всегда настраивать следящий сервер, так как кластер автоматически управляет голосованием следящего сервера и голоса узлов с динамическим кворумом.

Настройка облачного свидетеля для кластера

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

  1. Создание учетной записи служба хранилища Azure для использования в качестве облачного свидетеля
  2. Настройте cloud Witness в качестве свидетеля кворума для кластера.

Создание учетной записи служба хранилища Azure для использования в качестве облачного свидетеля

В этом разделе описывается создание учетной записи хранения и просмотр и копирование URL-адресов конечных точек и ключей доступа для этой учетной записи.

Чтобы настроить Cloud Witness, необходимо иметь действительную учетную запись общего назначения Azure служба хранилища, которую можно использовать для хранения файла BLOB-объектов (используется для арбитража). Cloud Witness создает хорошо известный контейнер msft-cloud-witness в учетной записи хранения Microsoft. Cloud Witness записывает один файл BLOB-объекта с уникальным идентификатором соответствующего кластера, используемым в качестве имени файла большого двоичного объекта в этом контейнере msft-cloud-witness . Это означает, что вы можете использовать ту же учетную запись службы хранилища Microsoft Azure для настройки Cloud Witness для нескольких разных кластеров.

При использовании одной и той же учетной записи служба хранилища Azure для настройки облачного свидетеля для нескольких разных кластеров создается автоматически один контейнер msft-cloud-witness. Этот контейнер будет содержать один файл BLOB-объекта на кластер.

Создание учетной записи хранения Azure

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

    2. В разделе Тип учетной записи выберите Общее назначение.
      Для Cloud Witness нельзя использовать учетную запись хранения BLOB-объектов.

    3. В разделе Производительность выберите Стандартная.
      Вы не можете использовать хранилище Azure класса Premium для Cloud Witness.

    4. Для репликации выберите локально избыточное хранилище (LRS) или хранилище, избыточное между зонами (ZRS), если применимо.
      Отказоустойчивая кластеризация использует файл большого двоичного объекта в качестве точки арбитража, что требует некоторых гарантий согласованности при чтении данных. Таким образом, необходимо выбрать локально избыточное хранилище для типа репликации , если облачный свидетель предназначен для кластера, расположенного в локальной среде, или это кластер в Azure, который не развертывается в разных зонах доступности в одном регионе. Если узлы кластера находятся в одном регионе, но разные зоны доступности, используйте хранилище, избыточное между зонами , в качестве типа репликации .

Просмотр и копирование ключей доступа к хранилищу для учетной записи служба хранилища Azure

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

Просмотр и копирование ключей доступа к хранилищу

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

Snapshot of the Manage Access Keys dialog in Microsoft AzureРис. 4. Ключи доступа служба хранилища

При создании учетной записи служба хранилища в формате создаются следующие URL-адреса:https://<Storage Account Name>.<Storage Type>.<Endpoint>

Облачный свидетель всегда использует BLOB-объект в качестве типа хранилища файлов в учетной записи хранения общего назначения. Azure использует .core.windows.net в качестве конечной точки. При настройке Cloud Witness его можно настроить с другой конечной точкой в своем сценарии (например, в центре обработки данных Microsoft Azure в Китае есть другая конечная точка).

Примечание

URL-адрес конечной точки создается автоматически ресурсом Cloud Witness. Убедитесь, что порт 443 открыт в брандмауэрах и *.core.windows.net включен в список разрешенных брандмауэров, используемых между кластером и служба хранилища Azure.

В портал Azure перейдите к учетной записи хранения, щелкните "Все параметры", а затем щелкните "Свойства", чтобы просмотреть и скопировать URL-адреса конечной точки (см. рис. 5).

Snapshot of the Cloud Witness endpoint linksРис. 5. Ссылки URL-адреса конечной точки облачного свидетеля

Дополнительные сведения о создании учетных записей служба хранилища Azure и управлении ими см. в разделе "Сведения об учетных записях служба хранилища Azure"

Настройка Cloud Witness в качестве свидетеля кворума для кластера

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

Настройка Cloud Witness в качестве свидетеля кворума

  1. Запустите диспетчер отказоустойчивого кластера.

  2. Щелкните правой кнопкой мыши кластер ->More Actions ->Configure Cluster Quorum Параметры (см. рис. 6). Откроется мастер настройки кворума кластера.

    Snapshot of the menu path to Configure Cluster Quorum Settings in the Failover Cluster Manager UIРис. 6. Параметры кворума кластера

  3. На странице "Выбор конфигураций кворума " выберите следящий сервер кворума (см. рис. 7).

    Snapshot of the 'select the quorum witness' radio button in the Cluster Quorum wizardРис. 7. Выбор конфигурации кворума

  4. На странице "Выбор свидетеля кворума " выберите "Настройка облачного свидетеля " (см. рис. 8).

    Snapshot of the appropriate radio button to select a cloud witnessРис. 8. Выбор свидетеля кворума

  5. На странице Настройка облака-свидетеля введите следующие сведения:

    1. (Обязательный параметр) Имя учетной записи хранения Azure.

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

      1. При первом создании используйте первичный ключ доступа.
      2. При смене первичного ключа доступа используйте вторичный ключ доступа.
    3. (Необязательный параметр) Если вы планируете использовать другую конечную точку службы Azure (например, службу Microsoft Azure в Китае), обновите имя сервера конечной точки.

      Snapshot of the Cloud Witness configuration pane in the Cluster Quorum wizardРис. 9. Настройка облачного свидетеля

  6. После успешной настройки Cloud Witness можно просмотреть только что созданный ресурс-свидетель в оснастке диспетчера отказоустойчивости кластеров (см. рисунок 10).

    Successful configuration of Cloud WitnessРис. 10. Успешная настройка облачного свидетеля

Настройка облачного свидетеля с помощью PowerShell

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

Cloud Witness можно настроить с помощью командлета Set-ClusterQuorum с помощью следующей команды PowerShell:

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

Если необходимо использовать другую конечную точку (редко):

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

рекомендации по работе с учетной записью служба хранилища Azure с облачным свидетелем

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

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

Рекомендации по прокси-серверу с облачным свидетелем

Cloud Witness использует ПРОТОКОЛ HTTPS (порт по умолчанию 443) для установления исходящего взаимодействия со службой BLOB-объектов Azure. Убедитесь, что исходящий порт HTTPS доступен через сетевой прокси-сервер. Azure использует .core.windows.net в качестве конечной точки. Необходимо убедиться, что он включен в списки разрешений брандмауэра, которые вы используете между кластером и служба хранилища Azure.

См. также: