Развертывание облачного свидетеля для отказоустойчивого кластера
Cloud Witness — это тип свидетеля кворума отказоустойчивого кластера, использующего Microsoft Azure для предоставления голосования по кворуму кластера. В этой статье содержится обзор компонента Cloud Witness, который он поддерживает, и инструкции по настройке облачного следящего сервера для отказоустойчивого кластера. Дополнительные сведения см. в разделе "Настройка свидетеля кластера".
Что такое Cloud Witness?
Прежде чем начать, необходимо обновить память о том, какие кворумы кластера и свидетели кворума являются чтением кластера и кворума пула.
Теперь рассмотрим пример конфигурации многосайтового кворума отказоустойчивого кластера для Windows Server, показанного на следующей схеме.
В этом примере упрощенная конфигурация с двумя узлами в двух центрах обработки данных на сайте. В типичных кластерах каждый узел имеет один голос, общая папка с ней дает одно дополнительное голосование свидетелю кворума. Это дополнительное голосование позволяет кластеру работать, даже если один из центров обработки данных отключается. В этом примере кворум кластера имеет пять возможных голосов, и для продолжения работы потребуется только три голоса.
Однако вы можете заметить, что в дополнение к двум центрам обработки данных также существует третий центр обработки данных под названием следящий файловый ресурс. Этот центр обработки данных хранится отдельно от двух других сайтов и размещает файловый сервер, который выполняет резервное копирование системного файлового ресурса. Файловый ресурс-свидетель работает в качестве свидетеля кворума в конфигурации кворума кластера, что гарантирует, что система по-прежнему работает, даже если один из центров обработки данных неожиданно завершает работу.
Наличие свидетеля общей папки обеспечивает достаточную избыточность для обеспечения высокой доступности файлового сервера. Однако следует помнить, что размещение следящего файла на другом сервере на отдельном сайте требует установки, регулярного обслуживания и независимого подключения к другим сайтам.
Облачный свидетель отличается от традиционных конфигураций свидетеля кворума кластера, так как он использует виртуальную машину Azure в облаке в качестве свидетеля кворума вместо физического центра обработки данных. Cloud Witness использует Хранилище BLOB-объектов Azure для чтения и записи большого двоичного объекта, который система использует в качестве решения голосов для достижения кворума. На следующей схеме показан пример конфигурации, которая использует Cloud Witness.
Как видно, конфигурации Cloud Witness не требуют третьего отдельного центра обработки данных. Cloud Witness, как и любой другой свидетель кворума, получает дополнительный голос и помогает предотвратить общее завершение работы, если один из других центров обработки данных отключается. Однако для хранения свидетеля кворума не требуется дополнительный сайт. Cloud Witness также не требует регулярного физического обслуживания, необходимого для локального центра обработки данных.
Наряду с избыточностью существуют некоторые другие преимущества использования функции Cloud Witness:
Для достижения кворума вам не нужно использовать отдельный дополнительный центр обработки данных.
Использование Хранилище BLOB-объектов Azure удаляет дополнительные затраты на обслуживание, обычно необходимые для размещения виртуальных машин в общедоступном облаке.
Для нескольких кластеров можно использовать одну и ту же служба хранилища Azure учетную запись. Единственными требованиями являются использование только одного большого двоичного объекта для каждого кластера и имя файла БОЛЬШОго двоичного объекта после уникального идентификатора кластера.
Снижение текущих затрат на учетную запись хранения, так как файл BLOB-объектов не требует большого объема данных и обновлений только при изменении состояния узла кластера.
Azure поставляется со встроенным типом ресурса Cloud Witness.
Необходимые компоненты
Для настройки Cloud Witness необходимо иметь учетную запись Azure с активной подпиской и допустимой учетной записью хранения общего назначения Azure. Эта учетная запись хранения заключается в том, что Cloud Witness создает msft-cloud-witness
контейнер для хранения файла BLOB-объектов, необходимого для арбитража голосования.
Примечание.
Cloud Witness несовместим со следующими типами учетных записей хранения Azure:
- Хранилище BLOB-объектов
- Хранилище Azure класса Premium
Вы также можете использовать эту учетную запись и msft-cloud-witness
контейнер, который Cloud Witness автоматически создает для настройки Cloud Witness в нескольких разных кластерах. Каждый кластер имеет собственный большой двоичный файл, который хранится в контейнере.
При создании учетной записи служба хранилища Azure, если кластер, для который вы настраиваете Cloud Witness, находится в локальной среде или в Azure в одном регионе Azure и зонах доступности, выберите локально избыточное хранилище (LRS) при настройке поля репликации. Если кластер находится в одном регионе Azure, но в разных зонах доступности выберите вместо него избыточное по зонам хранилище (ZRS ).
Необходимо использовать один из следующих поддерживаемых сценариев:
Аварийное восстановление для растянутых кластеров с несколькими сайтами, как показано в разделе "Что такое облачный свидетель".
Отказоустойчивые кластеры без общего хранилища, например SQL AlwaysOn.
Отказоустойчивые кластеры, работающие в гостевой ОС, размещенной в роли виртуальной машины Microsoft Azure или любом другом общедоступном облаке.
Отказоустойчивые кластеры, сделанные из виртуальных машин, размещенных в частных облаках, работающих в гостевой ОС.
Кластеры хранилища с общим хранилищем или без него, такие как кластеры файлового сервера горизонтального масштабирования.
Небольшие кластеры филиалов, которые являются даже двумя узлами.
Мы рекомендуем всегда настраивать следящий сервер, если вы используете Windows Server 2012 R2 и более поздних версий. Кластеры в более поздних версиях Windows Server автоматически управляют голосованием следящего сервера и их узлами голосов с помощью Динамического кворума.
Кроме того, необходимо убедиться, что все брандмауэры между отказоустойчивой кластером и службой учетной записи служба хранилища Azure разрешают трафик через порт 443, также известный как порт HTTPS. Cloud Witness использует интерфейс REST HTTPS для службы служба хранилища Azure. Таким образом, необходимо открыть порт 443 на всех узлах в отказоустойчивом кластере, чтобы Облачный свидетель работал должным образом.
При создании учетной записи служба хранилища Azure Azure связывает ее с автоматически созданными первичными и вторичными ключами доступа. При первом настройке Cloud Witness рекомендуется использовать первичный ключ доступа. После этого можно использовать первичный или вторичный ключ доступа.
Настройка Cloud Witness в качестве свидетеля кворума для кластера
Вы можете настроить Cloud Witness с помощью рабочего процесса настройки конфигурации кворума, встроенного в приложение диспетчера отказоустойчивости кластеров или с помощью PowerShell.
Чтобы использовать рабочий процесс настройки конфигурации кворума для настройки Cloud Witness:
Откройте диспетчер отказоустойчивости кластеров.
Щелкните правой кнопкой мыши имя кластера.
Перейдите к дополнительным действиям>, чтобы настроить параметры кворума кластера, как показано на следующем снимке экрана, чтобы запустить рабочий процесс кворума кластера.
На странице Выберите конфигурацию кворума установите флажок Выбрать свидетель кворума.
На странице Выбрать свидетель кворума установите флажок Настроить облако-свидетель.
На странице Настройка облака-свидетеля введите следующие сведения:
Имя учетной записи служба хранилища Azure.
Ключ доступа, связанный с учетной записью хранения.
Если вы впервые создаете облако-свидетель, используйте первичный ключ доступа.
Если вы поворачиваете первичный ключ доступа, используйте вместо этого вторичный ключ доступа.
Примечание.
Вместо того чтобы хранить ключи доступа напрямую, отказоустойчивый кластер создает маркер безопасности общего доступа (SAS) для безопасного хранения. Маркер действителен только до тех пор, пока ключ доступа, с которым он связан, остается допустимым. При смене первичного ключа доступа необходимо обновить облачные свидетели во всех кластерах, используя эту учетную запись хранения с дополнительным ключом, прежде чем повторно создать первичный ключ.
При необходимости можно ввести имя другого существующего сервера в поле имени сервера конечной точки, если планируется использовать другую конечную точку службы Azure для вашего облачного свидетеля, например Azure China.
Если конфигурация выполнена успешно, вы сможете увидеть новый Cloud Witness в меню аккордеонного диспетчера отказоустойчивости кластеров, как показано на следующем снимке экрана.
Рекомендации по прокси-серверу с облачным свидетелем
Cloud Witness использует ПРОТОКОЛ HTTPS (порт 443 по умолчанию) для установления исходящего взаимодействия со службой BLOB-объектов Azure. Azure использует .core.windows.net в качестве конечной точки. Необходимо убедиться, что эта конечная точка включена в список разрешений брандмауэра, которые вы используете между кластером и служба хранилища Azure. Если прокси-сервер необходим для доступа к служба хранилища Azure, настройте службы HTTP Windows (WinHTTP) с необходимыми параметрами прокси-сервера. Отказоустойчивый кластер использует WinHTTP для связи HTTPS.
Чтобы использовать команду Netsh для настройки прокси-сервера по умолчанию, выполните следующие действия.
Примечание.
- Это изменит конфигурацию прокси-сервера по умолчанию для WinHTTP. Может повлиять любое приложение, включая службы Windows, использующее WinHTTP.
Откройте командную строку с повышенными привилегиями:
- Перейдите в Пуск и введите cmd.
- Щелкните командную строку правой кнопкой мыши, а затем выберите Запустить от имени администратора.
Введите следующую команду и нажмите клавишу ВВОД:
netsh winhttp set proxy proxy-server="<ProxyServerName>:<port>" bypass-list="<HostsList>"
Например:
netsh winhttp set proxy proxy-server="192.168.10.80:8080" bypass-list="<local>; *.contoso.com"
Дополнительные сведения см. в статье "Синтаксис команд Netsh", "Контексты" и " Форматирование".