Установка облачного свидетеля для отказоустойчивого кластера
Облачный свидетель — это вид свидетеля кворума в отказоустойчивом кластере, который использует Microsoft Azure для участия в голосовании по кворуму кластера. В этой статье содержится обзор функции облачного свидетеля, в каких сценариях она применяется, и инструкции по настройке облачного свидетеля для отказоустойчивого кластера. Дополнительные сведения см. в разделе "Настройка свидетеля кластера".
Что такое облачный свидетель?
Прежде чем начать, необходимо обновить память о том, какие кворумы кластера и свидетели кворума являются чтением кластера и кворума пула.
В типичных кластерах каждый узел имеет один голос, файловый ресурс-свидетель, который дает один дополнительный голос кворумному свидетелю. Это дополнительное голосование позволяет кластеру работать, даже если один из центров обработки данных отключается. В этом примере кворум кластера имеет пять возможных голосов, и для продолжения работы потребуется только три голоса.
Однако вы можете заметить, что в дополнение к двум центрам обработки данных есть третий центр обработки данных, который выступает в качестве следящего файлового ресурса. Этот центр обработки данных хранится отдельно от двух других сайтов и размещает файловый сервер, который выполняет резервное копирование системного файлового ресурса. Файловый ресурс-свидетель работает в качестве свидетеля кворума в конфигурации кворума кластера, что гарантирует, что система по-прежнему работает, даже если один из центров обработки данных неожиданно завершает работу.
Наличие свидетеля общей папки обеспечивает достаточную избыточность для обеспечения высокой доступности файлового сервера. Однако следует помнить, что размещение следящего файла на другом сервере на отдельном сайте требует установки, регулярного обслуживания и независимого подключения к другим сайтам.
Облачный свидетель отличается от традиционных конфигураций свидетеля кворума кластера, так как он использует виртуальную машину Azure в облаке в качестве свидетеля кворума вместо физического центра обработки данных. Облачный свидетель использует хранилище Azure BLOB для чтения и записи файла BLOB, который система использует как решающий голос для достижения кворума.
Как видно, конфигурации облачных свидетелей не требуют третьего отдельного центра обработки данных. Облачный свидетель, как и любой другой свидетель кворума, получает дополнительный голос и помогает предотвратить общее завершение работы, если один из других центров обработки данных отключается. Однако для хранения свидетеля кворума не требуется дополнительный сайт. Кроме того, для облачного свидетеля не требуется регулярное физическое обслуживание, необходимое для локального центра обработки данных.
Наряду с избыточностью имеются и другие преимущества использования функции облачного свидетельства:
Для достижения кворума вам не нужно использовать отдельный дополнительный центр обработки данных.
Использование Хранилище BLOB-объектов Azure удаляет дополнительные затраты на обслуживание, обычно необходимые для размещения виртуальных машин в общедоступном облаке.
Для нескольких кластеров можно использовать одну и ту же служба хранилища Azure учетную запись. Единственными требованиями являются использование только одного большого двоичного объекта для каждого кластера и имя файла БОЛЬШОго двоичного объекта после уникального идентификатора кластера.
Снижение текущих затрат на учетную запись хранения, так как файл BLOB-объектов не требует большого объема данных и обновлений только при изменении состояния узла кластера.
Azure оснащен встроенным ресурсом типа "облачный свидетель".
Необходимые компоненты
Для настройки облачного свидетеля необходимо иметь учетную запись Azure с активной подпиской и действительной учетной записью хранения общего назначения Azure. Эта учетная запись хранения предназначена для того, чтобы доверенный облачный свидетель создавал контейнер msft-cloud-witness
для хранения BLOB-файла, необходимого для арбитража голосования.
Примечание.
Облачный свидетель несовместим со следующими типами учетных записей хранения Azure:
- Хранилище BLOB-объектов
- Хранилище Azure класса Premium
Вы также можете использовать эту учетную запись и контейнер msft-cloud-witness
, который кластерный наблюдатель автоматически создаёт для настройки кластерного наблюдателя между различными кластерами. Каждый кластер имеет собственный большой двоичный файл, который хранится в контейнере.
При создании учетной записи хранения Azure, если кластер, для которого вы настраиваете облачный свидетель, находится в локальной среде или в Azure в одном и том же регионе Azure и зонах доступности, выберите локально избыточное хранилище (LRS) при настройке поля репликации . Если кластер находится в одном регионе Azure, но в разных зонах доступности выберите вместо него избыточное по зонам хранилище (ZRS ).
Необходимо использовать один из следующих поддерживаемых сценариев:
Аварийное восстановление для растянутых кластеров с несколькими сайтами.
Отказоустойчивые кластеры без общего хранилища, например SQL AlwaysOn.
Отказоустойчивые кластеры, работающие в гостевой ОС, размещенной в роли виртуальной машины Microsoft Azure или любом другом общедоступном облаке.
Отказоустойчивые кластеры, сделанные из виртуальных машин, размещенных в частных облаках, работающих в гостевой ОС.
Кластеры хранилища с общим хранилищем или без него, такие как кластеры файлового сервера горизонтального масштабирования.
Небольшие кластеры филиалов, которые являются даже двумя узлами.
Мы рекомендуем всегда настраивать следящий сервер, если вы используете Windows Server 2012 R2 и более поздних версий. Кластеры в более поздних версиях Windows Server автоматически управляют голосованием следящего сервера и их узлами голосов с помощью Динамического кворума.
Кроме того, необходимо убедиться, что все брандмауэры между отказоустойчивой кластером и службой учетной записи служба хранилища Azure разрешают трафик через порт 443, также известный как порт HTTPS. Облачный свидетель использует интерфейс REST HTTPS для службы хранилища Azure. Таким образом, необходимо открыть порт 443 на всех узлах в отказоустойчивом кластере, чтобы облачный свидетель работал должным образом.
При создании учетной записи служба хранилища Azure Azure связывает ее с автоматически созданными первичными и вторичными ключами доступа. При первой настройке облачного свидетеля рекомендуется использовать основной ключ доступа. После этого можно использовать первичный или вторичный ключ доступа.
Настройка облачного свидетеля в качестве свидетеля кворума для кластера
Вы можете настроить облачного свидетеля с помощью рабочего процесса настройки конфигурации кворума, встроенного в приложение диспетчера отказоустойчивости кластеров или с помощью PowerShell.
В диспетчер сервероввыберите средства, а затем Диспетчер отказоустойчивых кластеров.
На левой панели под разделом Менеджер отказоустойчивого кластеравыберите кластер, который требуется настроить.
В области справа в разделе Действиявыберите дополнительные действия, а затем выберите Настройка параметров кворума кластера.
В разделе мастера настройки кворума кластеравыберите Далее.
В разделе Выбор параметра конфигурации кворумавыберите Свидетель кворума, а затем нажмите кнопку Далее.
В разделе Выбор свидетеля кворумавыберите Настроить файловый облачный свидетель, затем выберите Далее.
В разделе Настройка облачного свидетелявведите следующие данные, а затем выберите Далее:
Имя учетной записи служба хранилища Azure.
Ключ доступа, связанный с учетной записью хранения.
Если вы впервые создаете облако-свидетель, используйте первичный ключ доступа.
Если вы поворачиваете первичный ключ доступа, используйте вместо этого вторичный ключ доступа.
Примечание.
Вместо того чтобы хранить ключи доступа напрямую, отказоустойчивый кластер создает токен общей подписи доступа (SAS) для безопасного хранения. Токен остается валиден только до тех пор, пока связанный ключ доступа валиден. При смене первичного ключа доступа обновите облачные свидетели во всех кластерах, используя эту учетную запись хранения с дополнительным ключом, прежде чем повторно создать первичный ключ.
Конечная точка службы Azure
Вы можете ввести имя другого существующего сервера в поле конечной точки службы Azure, если вы планируете использовать другую конечную точку службы Azure для вашего облачного следящего сервера, например Azure China.
В разделе Подтверждениепроверьте параметры кворума, а затем выберите Далее.
В разделе Сводкапроверьте вашу конфигурацию свидетеля, а затем выберите Завершить.
Для получения дополнительных сведений о конфигурации можно выбрать Просмотреть отчет.
После создания Cloud Witness перейдите к средней области диспетчера отказоустойчивых кластеров, где его можно увидеть в разделе основные ресурсы кластера.
Соображения по прокси-серверу при использовании облачного свидетеля
Облачный свидетель использует протокол HTTPS (порт 443 по умолчанию) для установления исходящего взаимодействия со службой BLOB-объектов Azure. Azure использует .core.windows.net
в качестве конечной точки. Необходимо убедиться, что эта конечная точка включена в список разрешений брандмауэра, которые вы используете между кластером и хранилищем Azure. Если прокси-сервер необходим для доступа к служба хранилища Azure, настройте службы HTTP Windows (WinHTTP) с необходимыми параметрами прокси-сервера. Отказоустойчивый кластер использует WinHTTP для связи HTTPS.
Для настройки прокси-сервера по умолчанию можно использовать команду netsh
, открыв окно PowerShell с повышенными привилегиями и выполнив следующую команду:
Примечание.
При выполнении этой команды изменяется конфигурация прокси-сервера по умолчанию для WinHTTP. Любое приложение, включая службы Windows, использующие WinHTTP, могут быть затронуты.
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"