Процедуры обслуживания отказоустойчивого кластера
Область применения: Azure Stack HCI версий 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
В этой статье предполагается, что необходимо отключить физический сервер для выполнения обслуживания или перезапустить его по какой-либо другой причине. Сведения об установке обновлений в кластере 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 для каждого тома задано значение Исправно , а для Параметра 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 перевод дисков сервера в режим обслуживания позволяет Локальные дисковые пространства корректно очистить и зафиксировать данные, чтобы гарантировать, что завершение работы сервера не влияет на состояние приложения. Как только диск переходит в режим обслуживания, он больше не будет разрешать операции записи. Чтобы свести к минимуму время повторного выполнения операций хранения, рекомендуется переводить диски в режим обслуживания непосредственно перед перезагрузкой и выводить их из режима обслуживания сразу после резервного копирования системы.
Примечание
Если сервер работает под управлением 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 и диспетчере отказоустойчивости кластеров.
Теперь можно безопасно завершить работу сервера или перезапустить его с помощью Stop-Computer
командлетов PowerShell или 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
Возобновление работы сервера
Возобновите работу сервера в кластере. Чтобы вернуть кластерные роли и виртуальные машины, которые ранее работали на сервере, используйте необязательный флаг -Failback :
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
Теперь можно безопасно приостановить и перезапустить другие серверы в кластере.
Дальнейшие действия
Дополнительные сведения см. также в разделе: