Процедуры обслуживания отказоустойчивого кластера
Область применения: 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 или 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 для каждого тома является работоспособным, а в OperationsStatus отображается ok.
Для этого с помощью диспетчера отказоустойчивых кластеров перейдите на диски хранилища>.
Приостановка и очистка сервера
Выполните следующий командлет от имени администратора, чтобы приостановить и очистить сервер:
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, размещение дисков сервера в режиме обслуживания дает Локальные дисковые пространства возможность корректно очистить и зафиксировать данные, чтобы убедиться, что завершение работы сервера не влияет на состояние приложения. Как только диск переходит в режим обслуживания, он больше не будет разрешать запись. Чтобы свести к минимуму время повторного восстановления хранилища, рекомендуется поместить диски в режим обслуживания прямо перед перезагрузкой и вывести их из режима обслуживания сразу после резервного копирования системы.
Примечание.
Если сервер работает под управлением 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
Теперь безопасно приостановить и перезапустить другие серверы в кластере.
Следующие шаги
Дополнительные сведения см. также: