Процедуры по обслуживанию отказоустойчивого кластера
Область применения: Azure Stack HCI, версии 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Внимание
Azure Stack HCI теперь является частью Azure Local. Однако старые версии Azure Stack HCI, например 22H2, будут продолжать ссылаться на Azure Stack HCI и не отражают изменение имени. Подробнее.
В этой статье предполагается, что необходимо выключить физический сервер для выполнения обслуживания или перезапустить его по какой-либо другой причине. Сведения об установке обновлений в кластере Azure Stack HCI без использования серверов в автономном режиме см. в статье Об обновлении кластеров Azure Stack HCI.
Использование сервера в автономном режиме для обслуживания требует использования частей хранилища в автономном режиме, совместно используемых на всех серверах в отказоустойчивом кластере. Для этого требуется приостановка работы сервера, который требуется отключить, поместить диски сервера в режим обслуживания, переместить кластеризованные роли и виртуальные машины на другие серверы в кластере и убедиться, что все данные доступны на других серверах в кластере. Этот процесс гарантирует, что данные остаются безопасными и доступными на протяжении всего периода обслуживания.
Вы можете использовать Windows Admin Center or PowerShell, чтобы отключить сервер для проведения технического обслуживания. В этом разделе рассматриваются оба метода.
Использование сервера в автономном режиме с помощью Windows Admin Center
Самый простой способ подготовки к использованию сервера в автономном режиме — с помощью Windows Admin Center.
Убедитесь, что безопасно отключить сервер.
С помощью Windows Admin Center подключитесь к серверу, который вы хотите отключить. Выберите
Диски хранилища из меню "Инструменты" и убедитесь, чтостолбец "Состояние" для каждого виртуального диска показываетОнлайн .Затем выберите
«Тома хранилища» и убедитесь, что столбец «Работоспособность» для каждого тома показывает«Здоров» и чтостолбец «Состояние» для каждого тома показывает«ОК» .
Приостановка и очистка сервера
Прежде чем завершить работу или перезапустить сервер, необходимо приостановить сервер и остановить (переместить) все кластеризованные роли, такие как виртуальные машины, работающие на нем. Всегда приостанавливайте и осушайте кластеризованные серверы, прежде чем выводить их в автономный режим для обслуживания.
С помощью Windows Admin Center подключитесь к кластеру и выберите Вычислительные > серверы из меню Инструменты в диспетчере кластеров.
Выберите Запасы. Щелкните по имени сервера, который вы хотите приостановить и разгрузить, и выберите "Приостановить". Появится следующая строка:
Приостановить серверы для обслуживания: вы уверены, что хотите приостановить серверы? При этом рабочие нагрузки, такие как виртуальные машины, перемещаются на другие серверы в кластере.
Выберите "Да", чтобы приостановить сервер и инициировать процесс очистки. Состояние сервера будет отображаться как в обслуживании, освобождение ресурсов, и такие роли, как Hyper-V и ВМ, немедленно начнут динамическую миграцию на другие серверы в кластере. Это может занять несколько минут. Никакие роли не могут быть добавлены на сервер, пока он не будет возобновлён. После завершения процесса очистки состояние сервера будет отображаться как "Обслуживание", "Очистка завершена". Операционная система выполняет автоматическую проверку безопасности, чтобы удостовериться, что безопасно продолжать. Если есть небезопасные тома, процесс остановится и уведомит вас о том, что небезопасно продолжать.
Завершение работы сервера
После завершения освобождения сервера его можно безопасно выключить для обслуживания или перезагрузки.
Предупреждение
Если сервер работает под управлением Azure Stack HCI, версии 20H2, Windows Server 2019 или Windows Server 2016, необходимо поместить диски в режим обслуживания, прежде чем завершить работу сервера и выйти из режима обслуживания перед возобновлением работы сервера в кластере.
Возобновление работы сервера
Когда сервер готов к размещению кластеризованных ролей и виртуальных машин снова, просто включите сервер, дождитесь его загрузки и возобновите сервер, выполнив следующие действия.
В диспетчере кластеров выберите "Вычислительные > серверы " в меню "Сервис " слева.
Выберите Запасы. Щелкните имя сервера, который вы хотите возобновить, и нажмите кнопку "Возобновить".
Кластеризованные роли и виртуальные машины сразу же начнут живую миграцию обратно на сервер. Это может занять несколько минут.
Дождитесь повторной синхронизации хранилища
Когда сервер возобновляет работу, все новые записи, которые произошли, пока он недоступен, необходимо повторно синхронизировать. Это происходит автоматически с помощью интеллектуального отслеживания изменений. Нет необходимости проверять или синхронизировать все данные; только изменения. Этот процесс регулируется, чтобы снизить влияние на производственные нагрузки. В зависимости от того, сколько времени сервер был приостановлен и сколько новых данных было записано, может потребоваться много минут.
Внимание
Необходимо дождаться завершения повторной синхронизации, прежде чем переводить другие серверы в кластере в автономный режим.
Чтобы проверить, завершена ли повторная синхронизация хранилища:
- Подключитесь к кластеру с помощью Windows Admin Center и выберите тома хранилища.
- Выберите Запасы.
- Проверьте столбец состояния для каждого тома. Если отображается значение "ОК", то повторная синхронизация хранилища завершена. Теперь безопасно отключать другие серверы в кластере.
Отключение сервера с помощью PowerShell
Используйте следующие процедуры для правильной приостановки, очистки и возобновления работы сервера в отказоустойчивом кластере с помощью PowerShell.
Убедитесь, что отключение сервера безопасно
Чтобы убедиться, что все тома работоспособны, выполните следующий командлет от имени администратора:
Get-VirtualDisk
Ниже приведен пример того, как выглядят выходные данные:
FriendlyName ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus Size FootprintOnPool StorageEfficiency
------------ --------------------- --------------------- ----------------- ------------ ---- --------------- -----------------
Mirror II Mirror 1 OK Healthy 4 TB 8.01 TB 49.99%
Mirror-accelerated parity OK Healthy 1002 GB 1.96 TB 49.98%
Mirror Mirror 1 OK Healthy 1 TB 2 TB 49.98%
ClusterPerformanceHistory Mirror 1 OK Healthy 24 GB 49 GB 48.98%
Убедитесь, что свойство HealthStatus для каждого тома представляет собой Healthy, а OperationalStatus показывает ок.
Для этого с помощью диспетчера отказоустойчивых кластеров перейдите в хранилище>диски.
Приостановка и очистка сервера
Выполните следующий командлет от имени администратора, чтобы приостановить и очистить сервер:
Suspend-ClusterNode -Drain
Чтобы сделать это в Диспетчере отказоустойчивых кластеров, перейдите к узлы, щелкните узел правой кнопкой мыши и выберите Приостановить>освободить роли.
Если сервер работает под управлением Azure Stack HCI версии 21H2 или Windows Server 2022, приостановка и очистка сервера также помещают диски сервера в режим обслуживания. Если сервер работает под управлением Azure Stack HCI версии 20H2, Windows Server 2019 или Windows Server 2016, это необходимо сделать вручную (см. следующий шаг).
Размещение дисков в режиме обслуживания
В Azure Stack HCI версии 20H2, Windows Server 2019 и Windows Server 2016, когда диски сервера помещают в режим обслуживания, это дает "Storage Spaces Direct" возможность корректно сбросить и зафиксировать данные, чтобы убедиться, что завершение работы сервера не оказывает влияния на работоспособность приложения. Как только диск переходит в режим обслуживания, он больше не будет разрешать запись. Чтобы свести к минимуму время повторного восстановления хранилища, рекомендуется поместить диски в режим обслуживания прямо перед перезагрузкой и вывести их из режима обслуживания сразу после резервного копирования системы.
Примечание.
Если сервер работает под управлением Azure Stack HCI версии 21H2 или Windows Server 2022, этот шаг можно пропустить, так как диски автоматически помещаются в режим обслуживания при приостановке и очистке сервера. Эти операционные системы имеют детальную функцию восстановления, которая позволяет быстрее и менее влиять на системные и сетевые ресурсы, что делает возможным совместное обслуживание сервера и хранилища.
Если сервер работает под управлением Windows Server 2019 или Azure Stack HCI версии 20H2, выполните следующий командлет от имени администратора:
Get-StorageScaleUnit -FriendlyName "Server1" | Enable-StorageMaintenanceMode
Если сервер работает под управлением Windows Server 2016, используйте следующий синтаксис:
Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Enable-StorageMaintenanceMode
Завершение работы сервера
После завершения очистки сервера отобразится состояние "Приостановлено " в PowerShell и диспетчере отказоустойчивых кластеров.
Теперь вы можете безопасно завершить работу сервера или перезапустить его с помощью командлетов PowerShell или с помощью Stop-Computer
Restart-Computer
диспетчера отказоустойчивых кластеров.
Примечание.
При выполнении Get-VirtualDisk
команды на серверах, которые завершаются или запускаются или останавливают службу кластера, операционное состояние сервера может быть сообщено как неполное или пониженное, а столбец работоспособности может отображать предупреждение. Это нормально и не должно вызывать беспокойство. Все ваши томы остаются онлайн и доступны.
Выход дисков из режима обслуживания
Если сервер работает под управлением Azure Stack HCI версии 20H2, Windows Server 2019 или Windows Server 2016, необходимо отключить режим обслуживания хранилища на дисках перед возобновлением работы сервера в кластере. Чтобы свести к минимуму время повторной синхронизации хранилища, рекомендуется вывести их из режима обслуживания, как только система снова станет доступной.
Примечание.
Если сервер работает под управлением Azure Stack HCI версии 21H2 или Windows Server 2022, этот шаг можно пропустить, так как диски будут автоматически удалены из режима обслуживания при возобновлении сервера.
Если сервер работает под управлением Windows Server 2019 или Azure Stack HCI версии 20H2, выполните следующий командлет от имени администратора, чтобы отключить режим обслуживания хранилища:
Get-StorageScaleUnit -FriendlyName "Server1" | Disable-StorageMaintenanceMode
Если сервер работает под управлением Windows Server 2016, используйте следующий синтаксис:
Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Disable-StorageMaintenanceMode
Возобновление работы сервера
Возобновление работы сервера в кластере. Чтобы вернуть кластеризованные роли и виртуальные машины, которые ранее работали на сервере, используйте необязательный флаг возврата.
Resume-ClusterNode –Failback Immediate
Для этого в Диспетчере отказоустойчивых кластеров перейдите к узлам, щелкните правой кнопкой мыши узел и выберите Возобновить>Перенос ролей обратно.
После возобновления работы сервера он будет отображаться как включен в PowerShell и в диспетчере отказоустойчивых кластеров.
Дождитесь повторной синхронизации хранилища
Когда сервер возобновляется, необходимо дождаться завершения повторной синхронизации, прежде чем принимать другие серверы в кластере в автономном режиме.
Выполните следующий командлет от имени администратора, чтобы отслеживать ход выполнения:
Get-StorageJob
Если повторная синхронизация уже завершена, вы не получите никаких выходных данных.
Ниже приведен пример выходных данных, показывающих выполнение заданий повторной синхронизации (восстановления):
Name IsBackgroundTask ElapsedTime JobState PercentComplete BytesProcessed BytesTotal
---- ---------------- ----------- -------- --------------- -------------- ----------
Repair True 00:06:23 Running 65 11477975040 17448304640
Repair True 00:06:40 Running 66 15987900416 23890755584
Repair True 00:06:52 Running 68 20104802841 22104819713
В столбце BytesTotal показано, сколько хранилища необходимо повторно синхронизировать. Столбец PercentComplete отображает прогресс выполнения.
Предупреждение
Небезопасно использовать другой сервер в автономном режиме до завершения этих заданий восстановления.
В течение этого времени в разделе HealthStatus тома будут отображаться как Предупреждение, что нормально.
Например, если вы используете Get-VirtualDisk
командлет во время повторной синхронизации хранилища, могут быть выведены следующие данные:
FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1 Mirror InService Warning True 1 TB
MyVolume2 Mirror InService Warning True 1 TB
MyVolume3 Mirror InService Warning True 1 TB
После завершения заданий убедитесь, что тома отображаются работоспособными снова с помощью командлета Get-VirtualDisk
. Вот пример вывода:
FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1 Mirror OK Healthy True 1 TB
MyVolume2 Mirror OK Healthy True 1 TB
MyVolume3 Mirror OK Healthy True 1 TB
Теперь безопасно приостановить и перезапустить другие серверы в кластере.
Следующие шаги
Дополнительные сведения см. также: