Восстановление кластера Hyper-V, на котором были запущены все контроллеры домена
Если организация использует систему виртуализации Hyper-V с общим хранилищем, и хранит на кластере из Hyper-V серверов все свои контроллеры домена, то может возникнуть следующая ситуация.
При штатном или аварийном длительном отключении электричества (будь то длительное обесточивание серверного помещения или переезд офиса), кластер Hyper-V может не запуститься, из-за отсутствия доступности хотя бы одного из контроллеров домена.
Получается забавная ситуация: чтобы запустился кластер Hyper-V, ему нужен DNS Server и контроллер домена, а чтобы запустился контроллер домена, нужен запущенный Hyper-V кластер.
Ноде кластер нужен доступ к контроллеру домена и к доменному DNS серверу, без них он не сможет понять, является ли он изолированной нодой или единственным выжившим в кластере, также не сможет достучаться до соседних нод, а так как нода не является активной в кластере, то она не может завлядеть кластерными ресурсами.
А так как кластерные диски на нодах переходят в состояние Reserved и недоступны для операционной системы, то и вручную стартовать виртуальные машины расположенные на таких дисках не получится. Ведь виртуальная машина в кластере Hyper-V является кластерным ресурсом.
Для исправления возникшего сценария есть следующий порядок действий:
1. выключить все ноды кластера, кроме одной
2. Выполнить вход на сервер, под учетной записью локального администратора
3. Отключить службу кластера ( выключить и перевести в состояние Disabled)
Если используется сервер без графического интерфейса, то для этого потребуется выполнить 2 PowerShell командлета:
5. Проверить состояние дисков
Если состояние дисков Offline, то перевести диск, на котором расположена виртуальная машина с контроллером домена (DC) в Online (можно воспользоваться статьей: DiskPart: Работа с дисками, разделами и томами из командной строки)
6. назначить букву диска для диска на котором расположена виртуальная машина DC (по ссылке выше приведены примеры как это сделать)
7. Скопировать папку с виртуальной машиной контроллера домена на не кластерный диск (если позволяет дисковое пространство, то можно, например в папку VM на диске C)
8. Выполнить импорт виртуальной машины в локальный гипервизор Hyper-V, для этого в PowerShell выполнить команду:
"C:\VM\Virtual Machines\24EA3599-1F36-2128-B173-6ABC29AB7443.XML" - пример пути xml файла виртуальной машины
9. после успешного импорта, выполнить команду
10. выполнить команду
12. Запустить ноды кластера, для успешного запуска кластера большинство голосующих нод должно быть доступно (Про право голосовать ранее была написана статья: )
13. После того как кластер ожил, запустить остальные виртуальные машины (Однако надо помнить, что контроллер домена мы в п.7 уже запустили, а виртуальную машину, которая была скопирована в п.7 следует удалить не запуская)
15. На ноде, на которой выполнялись работы по импортированию виртуальной машины с контроллером домена, следует восстановить работу службы кластера (перевести в режим Automatic и запустить).
При штатном или аварийном длительном отключении электричества (будь то длительное обесточивание серверного помещения или переезд офиса), кластер Hyper-V может не запуститься, из-за отсутствия доступности хотя бы одного из контроллеров домена.
Получается забавная ситуация: чтобы запустился кластер Hyper-V, ему нужен DNS Server и контроллер домена, а чтобы запустился контроллер домена, нужен запущенный Hyper-V кластер.
Ноде кластер нужен доступ к контроллеру домена и к доменному DNS серверу, без них он не сможет понять, является ли он изолированной нодой или единственным выжившим в кластере, также не сможет достучаться до соседних нод, а так как нода не является активной в кластере, то она не может завлядеть кластерными ресурсами.
А так как кластерные диски на нодах переходят в состояние Reserved и недоступны для операционной системы, то и вручную стартовать виртуальные машины расположенные на таких дисках не получится. Ведь виртуальная машина в кластере Hyper-V является кластерным ресурсом.
Для исправления возникшего сценария есть следующий порядок действий:
1. выключить все ноды кластера, кроме одной
2. Выполнить вход на сервер, под учетной записью локального администратора
3. Отключить службу кластера ( выключить и перевести в состояние Disabled)
Если используется сервер без графического интерфейса, то для этого потребуется выполнить 2 PowerShell командлета:
Stop-Service clussvc
Set-Service clussvc -StartupType Disabled
4. перезагрузить ноду5. Проверить состояние дисков
- запустить Diskpart
- в интерфейсе Diskpart выполнить list disk
Если состояние дисков Offline, то перевести диск, на котором расположена виртуальная машина с контроллером домена (DC) в Online (можно воспользоваться статьей: DiskPart: Работа с дисками, разделами и томами из командной строки)
6. назначить букву диска для диска на котором расположена виртуальная машина DC (по ссылке выше приведены примеры как это сделать)
7. Скопировать папку с виртуальной машиной контроллера домена на не кластерный диск (если позволяет дисковое пространство, то можно, например в папку VM на диске C)
8. Выполнить импорт виртуальной машины в локальный гипервизор Hyper-V, для этого в PowerShell выполнить команду:
Import-VM -Path <Path_to_vm>
Пример команды:Import-VM -Path 'C:\VM\Virtual Machines\24EA3599-1F36-2128-B173-6ABC29AB7443.XML'
Где, "C:\VM\Virtual Machines\24EA3599-1F36-2128-B173-6ABC29AB7443.XML" - пример пути xml файла виртуальной машины
9. после успешного импорта, выполнить команду
Get-VM
должно показывать одну доступную виртуальную машину контроллера домена10. выполнить команду
Get-VM | Start-VM
11. Дождаться запуска виртуальной машины и убедиться, что контроллер домена успешно стартовал12. Запустить ноды кластера, для успешного запуска кластера большинство голосующих нод должно быть доступно (Про право голосовать ранее была написана статья: )
13. После того как кластер ожил, запустить остальные виртуальные машины (Однако надо помнить, что контроллер домена мы в п.7 уже запустили, а виртуальную машину, которая была скопирована в п.7 следует удалить не запуская)
При запуске инфраструктуры с холодного старта, рекомендовано соблюдать порядок:
14. После того как вся инфраструктура поднялась, следует вернуть виртуальную машину с контроллером домена (которую копировали в п.7) обратно на кластерный диск (например, через выключение и обратное импортирование)- Контроллеры домена
- Серверы баз данных
- Серверы приложений
15. На ноде, на которой выполнялись работы по импортированию виртуальной машины с контроллером домена, следует восстановить работу службы кластера (перевести в режим Automatic и запустить).
Set-Service clussvc -StartupType Automatic
Start-Service clussvc
После этого нода должна штатно вернуться в кластер, а вся инфраструктура к исходному состоянию.Похожие статьи:
18 май 2022, Среда
Что такое FSMO роли, их назначение и можно ли без них жить
26 март 2019, Вторник
Как определить/повысить функциональный уровень домена/леса Active Directory?
06 июль 2018, Пятница
Перевод диска из статуса reserved в статус Online
25 июнь 2018, Понедельник
CheckPoint: Ручное переключение активной ноды кластера в пассивный режим
23 апрель 2018, Понедельник
Windows Cluster: Организация кворума и лишения права голосовать
Комментарии: