Последовательное обновление операционной системы кластера
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
Последовательное обновление ОС кластера позволяет администратору обновлять операционную систему узлов кластера Hyper-V или Scale-Out рабочих нагрузок файлового сервера, не останавливая их. Благодаря этой функции можно избежать штрафов за простои, которые полагаются согласно соглашениям об уровне обслуживания.
Последовательное обновление ОС кластера обеспечивает следующие преимущества.
Отказоустойчивые кластеры под управлением виртуальных машин Hyper-V и рабочих нагрузок масштабируемого файлового сервера (SOFS) можно обновить с версии Windows Server, начиная с Windows Server 2012 R2, до более новой версии Windows Server. Например, можно обновить Windows Server 2016 (работающий на всех узлах кластера) до Windows Server 2019 (на всех узлах кластера) без простоя.
Для этого не требуется дополнительное оборудование. В небольших кластерах можно временно добавить дополнительные узлы кластера, чтобы повысить доступность кластера во время последовательного обновления ОС кластера.
Кластер не нужно останавливать или перезапускать.
Новый кластер не требуется. Существующий кластер обновляется. Кроме того, используются существующие объекты кластера, хранящиеся в Active Directory.
Процесс обновления можно отменить до последнего шага, когда все узлы кластера будут работать под управлением более новой версии Windows Server и
Update-ClusterFunctionalLevel
будет запущен командлет PowerShell.Кластер может поддерживать операции исправления и обслуживания при работе в смешанном режиме ОС.
Он поддерживает автоматизацию с помощью PowerShell и WMI.
Общедоступное свойство кластера ClusterFunctionalLevel указывает состояние кластера на Windows Server 2016 и более поздних узлах кластера. Это свойство можно запросить с помощью командлета PowerShell из узла кластера, который принадлежит к отказоустойчивому кластеру:
Get-Cluster | Select ClusterFunctionalLevel
В таблице ниже показаны значения и каждый соответствующий функциональный уровень:
Значение Функциональный уровень 8 Windows Server 2012 R2 9 Windows Server 2016 10 Windows Server 2019
В этом руководстве описываются различные этапы последовательного обновления ОС кластера, шаги установки, ограничения функций и часто задаваемые вопросы( вопросы и ответы) и применимо к следующим сценариям последовательного обновления ОС кластера в Windows Server:
- Кластеры Hyper-V
- кластеры файловых серверов Scale-Out
Следующий сценарий не поддерживается:
- Последовательное обновление ОС кластера для гостевых кластеров с использованием виртуального жесткого диска (VHDX-файла) в качестве общего хранилища.
Последовательное обновление ОС кластера полностью поддерживается System Center Virtual Machine Manager (SCVMM). Если вы используете SCVMM, инструкции по обновлению кластеров и автоматизации действий, описанных в этом документе, см. в статье Последовательное обновление кластера Hyper-V для Windows Server 2016 в VMM.
Требования
Перед началом последовательного обновления ОС кластера выполните следующие требования:
- Начните с отказоустойчивого кластера, работающего Windows Server 2012 R2 или более поздней версии. Вы можете выполнить обновление до следующей версии, например с Windows Server 2016 до Windows Server 2019.
- Убедитесь, что узлы Hyper-V имеют ЦП, поддерживающие Second-Level таблицу адресации (SLAT), используя один из следующих методов. - Ознакомьтесь с разделом Совместимость SLAT? Статья с пакетом SDK WP8, совет 01 , в котором описаны два метода проверки того, поддерживает ли ЦП SLA. Скачайте средство Coreinfo версии 3.31 , чтобы определить, поддерживает ли ЦП SLAT.
Состояния перехода кластера во время последовательного обновления ОС кластера
В этом разделе описываются различные состояния перехода кластера Windows Server, который обновляется до следующей версии Windows Server с помощью последовательного обновления ОС кластера.
Чтобы сохранить рабочие нагрузки кластера во время последовательного обновления ОС кластера, перемещение рабочей нагрузки кластера с узла под управлением более старой версии Windows Server на узел под управлением более новой версии Windows Server работает в режиме совместимости. В этом режиме совместимости узлы под управлением более новой версии Windows Server выглядят так, как если бы они работали под управлением той же более старой версии Windows Server. Например, при обновлении кластера Windows Server 2016 до Windows Server 2019 узлы Windows Server 2019 работают в режиме совместимости Windows Server 2016 в качестве временной меры. Новый концептуальный режим кластера, называемый режимом смешанной ОС, позволяет узлам разных версий существовать в одном кластере (см. рис. 1).
Рис. 1. Переходы состояния операционной системы кластера
Кластер Windows Server переходит в режим смешанной ОС при добавлении в кластер узла под управлением более новой версии Windows Server. На этом этапе процесс полностью обратим : новые узлы Windows Server можно удалить из кластера, а узлы под управлением существующей версии Windows Server можно добавить в кластер в этом режиме. Процесс не является обратимым после запуска командлета Update-ClusterFunctionalLevel
PowerShell в кластере. Для успешного выполнения этого командлета все узлы должны работать под управлением более новой версии Windows Server, а все узлы должны быть подключены к сети.
Состояния перехода кластера с четырьмя узлами при выполнении последовательного обновления ОС
В этом разделе показаны и описаны четыре различных этапа кластера с общим хранилищем, узлы которого обновляются с Windows Server 2012 R2 до Windows Server 2016. Этот процесс одинаков для более поздних версий Windows Server.
"Этап 1" — это начальное состояние. Мы начинаем с Windows Server 2012 кластера R2.
Рис. 2. Начальное состояние: Windows Server 2012 отказоустойчивый кластер R2 (этап 1)
На этапе 2 два узла были приостановлены, осушены, вытеслены, переформатированы и установлены с Windows Server 2016.
Рис. 3. Промежуточное состояние: режим смешанной ОС: Windows Server 2012 R2 и отказоустойчивый кластер Windows Server 2016 (этап 2)
На этапе 3 все узлы в кластере обновлены до Windows Server 2016, и кластер готов к обновлению с помощью Update-ClusterFunctionalLevel
командлета PowerShell.
Примечание
На этом этапе процесс можно полностью обратить вспять, и Windows Server 2012 узлов R2 можно добавить в этот кластер.
Рис. 4. Промежуточное состояние: все узлы обновлены до Windows Server 2016, готовы к Update-ClusterFunctionalLevel (этап 3)
После выполнения командлета Update-ClusterFunctionalLevel
кластер переходит в "Этап 4", где можно использовать новые Windows Server 2016 функции кластера.
Рис. 5. Окончательное состояние: Windows Server 2016 отказоустойчивый кластер (этап 4)
Процесс последовательного обновления ОС кластера
В этом разделе описывается рабочий процесс для выполнения последовательного обновления ОС кластера.
Рис. 6. Рабочий процесс последовательного обновления ОС кластера
Последовательное обновление ОС кластера включает приведенные ниже действия по обновлению с Windows Server 2012 R2 до Windows Server 2016, однако процесс не отличается от более поздних версий Windows Server.
Подготовьте кластер к обновлению операционной системы следующим образом:
Последовательное обновление ОС кластера требует удаления одного узла за раз из кластера. Проверьте, достаточно ли емкости в кластере для поддержки соглашений об уровне обслуживания с высоким уровнем доступности при удалении одного из узлов кластера для обновления операционной системы. Иными словами, требуется ли возможность отработки отказа рабочих нагрузок на другой узел при удалении одного узла из кластера в процессе последовательного обновления ОС кластера? Имеет ли кластер емкость для выполнения необходимых рабочих нагрузок при удалении одного узла из кластера для последовательного обновления ОС кластера?
Для рабочих нагрузок Hyper-V убедитесь, что все узлы Hyper-V Windows Server поддерживают ЦП для Second-Level адресной таблицы (SLAT). Только компьютеры с поддержкой SLAT могут использовать роль Hyper-V в Windows Server 2016 и более новых версиях.
Убедитесь, что все резервные копии рабочей нагрузки завершены, и рассмотрите возможность резервного копирования кластера. Остановите операции резервного копирования при добавлении узлов в кластер.
С помощью командлета
Get-ClusterNode
убедитесь, что все узлы кластера подключены к сети / запущены (см. рис. 7).Рис. 7. Определение состояния узла с помощью командлета Get-ClusterNode
Если вы используете кластерную Обновления (CAU), проверьте, выполняется ли В настоящее время CAU с помощью пользовательского интерфейса обновления с поддержкой кластера или командлета
Get-CauRun
(см. рис. 8). Остановите CAU с помощью командлетаDisable-CauClusterRole
(см. рис. 9), чтобы предотвратить приостановку и очистку узлов CAU во время последовательного обновления ОС кластера.Рис. 8. Использование командлета
Get-CauRun
для определения того, выполняется ли в кластере Обновления с поддержкой кластераРис. 9. Отключение роли Обновления с учетом кластера с помощью командлета
Disable-CauClusterRole
Для каждого узла в кластере выполните следующие действия.
С помощью пользовательского интерфейса диспетчера кластеров выберите узел и используйте команду Приостановить | Пункт меню "Очистка " для очистки узла (см. рис. 10) или используйте
Suspend-ClusterNode
командлет (см. рис. 11).Рис. 10. Очистка ролей из узла с помощью диспетчера отказоустойчивости кластеров
Рис. 11. Очистка ролей из узла с помощью командлета
Suspend-ClusterNode
С помощью пользовательского интерфейса диспетчера кластеров исключите приостановленный узел из кластера или используйте
Remove-ClusterNode
командлет .Рис. 12. Удаление узла из кластера с помощью
Remove-ClusterNode
командлетаПереформатируйте системный диск и выполните "чистую установку операционной системы" Windows Server 2016 на узле с помощью параметра Установка только Windows (дополнительно) (см. рис. 13) в setup.exe. Не выбирайте параметр Обновление: установка Windows и сохранение файлов, параметров и приложений, так как последовательное обновление ОС кластера не поощряет обновление на месте.
Рис. 13. Доступные параметры установки для Windows Server 2016
Добавьте узел в соответствующий домен Active Directory.
Добавьте соответствующих пользователей в группу Администраторы.
С помощью пользовательского интерфейса диспетчер сервера или командлета PowerShell Install-WindowsFeature установите все необходимые роли сервера, например Hyper-V.
Install-WindowsFeature -Name Hyper-V
С помощью пользовательского интерфейса диспетчер сервера или командлета PowerShell Install-WindowsFeature установите компонент отказоустойчивой кластеризации.
Install-WindowsFeature -Name Failover-Clustering
Установите все дополнительные функции, необходимые для рабочих нагрузок кластера.
Проверьте параметры подключения к сети и хранилищу с помощью пользовательского интерфейса диспетчера отказоустойчивости кластеров.
Если используется брандмауэр Windows, проверьте правильность параметров брандмауэра для кластера. Например, для кластеров с поддержкой кластерного обновления (CAU) может потребоваться настройка брандмауэра.
Для рабочих нагрузок Hyper-V используйте пользовательский интерфейс диспетчера Hyper-V, чтобы запустить диалоговое окно диспетчера виртуальных коммутаторов (см. рис. 14).
Убедитесь, что имена виртуальных коммутаторов совпадают для всех узлов Hyper-V в кластере.
Рис. 14. Диспетчер виртуальных коммутаторов
На Windows Server 2016 узле (не используйте узел Windows Server 2012 R2) используйте диспетчер отказоустойчивости кластеров (см. рис. 15) для подключения к кластеру.
Рис. 15. Добавление узла в кластер с помощью диспетчера отказоустойчивости кластеров
Чтобы добавить узел в кластер, используйте пользовательский интерфейс диспетчера отказоустойчивости кластеров или
Add-ClusterNode
командлет (см. рис. 16).Рис. 16. Добавление узла в кластер с помощью
Add-ClusterNode
командлетаПримечание
Когда первый узел Windows Server 2016 присоединяется к кластеру, кластер переходит в режим Mixed-OS, а основные ресурсы кластера перемещаются на узел Windows Server 2016. Кластер в режиме смешанной оси — это полностью функциональный кластер, в котором новые узлы работают в режиме совместимости со старыми узлами. Режим Mixed-OS является временным режимом для кластера. Он не предназначен для постоянного использования, и ожидается, что клиенты обновят все узлы своего кластера в течение четырех недель.
После успешного добавления узла Windows Server 2016 в кластер можно (при необходимости) переместить часть рабочей нагрузки кластера на только что добавленный узел, чтобы перебалансировать рабочую нагрузку в кластере следующим образом:
Рис. 17. Перемещение рабочей нагрузки кластера (роль виртуальной машины кластера) с помощью
Move-ClusterVirtualMachineRole
командлетаИспользуйте динамическую миграцию из диспетчера отказоустойчивости кластеров для виртуальных машин или
Move-ClusterVirtualMachineRole
командлет (см. рис. 17), чтобы выполнить динамическую миграцию виртуальных машин.Move-ClusterVirtualMachineRole -Name VM1 -Node robhind-host3
Используйте команду Переместить из диспетчера отказоустойчивости кластеров или
Move-ClusterGroup
командлет для других рабочих нагрузок кластера.
Если каждый узел был обновлен до Windows Server 2016 и добавлен обратно в кластер или когда все оставшиеся узлы Windows Server 2012 R2 были исключены, выполните следующие действия.
Важно!
- После обновления функционального уровня кластера невозможно вернуться к Windows Server 2012 функциональному уровню R2 и Windows Server 2012 узлам R2 нельзя добавить в кластер.
Update-ClusterFunctionalLevel
Пока командлет не будет запущен, процесс будет полностью обратимым, и Windows Server 2012 узлов R2 можно добавить в этот кластер, а Windows Server 2016 узлы можно удалить.- Некоторые операции кластера, такие как утечка узлов, могут привести к тому, что узел изолируется в течение короткого периода времени. Это может произойти,
Update-ClusterFunctionalLevel
если операция не была выполнена. - После выполнения командлета
Update-ClusterFunctionalLevel
будут доступны новые функции.
С помощью пользовательского интерфейса диспетчера отказоустойчивости кластеров или командлета
Get-ClusterGroup
убедитесь, что все роли кластера выполняются в кластере должным образом. В следующем примере доступное хранилище не используется, вместо этого используется CSV, поэтому доступное хранилище отображает состояние Автономно (см. рис. 18).Рис. 18. Проверка выполнения всех групп кластера (ролей кластера) с помощью командлета
Get-ClusterGroup
Убедитесь, что все узлы кластера подключены и запущены с помощью командлета
Get-ClusterNode
.Update-ClusterFunctionalLevel
Запустите командлет — ошибки не должны возвращаться (см. рис. 19).Рис. 19. Обновление функционального уровня кластера с помощью PowerShell
После выполнения командлета
Update-ClusterFunctionalLevel
становятся доступны новые функции.
Возобновление обычных обновлений и резервных копий кластера:
Если вы ранее использовали CAU, перезапустите его с помощью пользовательского интерфейса CAU или используйте
Enable-CauClusterRole
командлет (см. рис. 20)., рис. 20. Включение Обновления с учетом кластера с помощью командлета
Enable-CauClusterRole
Возобновление операций резервного копирования.
Включите и используйте функции Windows Server 2016 в Виртуальные машины Hyper-V.
После обновления кластера до Windows Server 2016 функционального уровня многие рабочие нагрузки, такие как виртуальные машины Hyper-V, будут иметь новые возможности. Список новых возможностей Hyper-V. См. раздел Миграция и обновление виртуальных машин.
На каждом узле Hyper-V в кластере
Get-VMHostSupportedVersion
используйте командлет , чтобы просмотреть версии конфигурации виртуальных машин Hyper-V, поддерживаемые узлом.рис. 21. Просмотр версий конфигурации виртуальных машин Hyper-V, поддерживаемых узлом
На каждом узле Hyper-V в кластере версии конфигурации виртуальных машин Hyper-V можно обновить, запланируя краткий период обслуживания с пользователями, создав резервное копирование, выключив виртуальные машины и запустив
Update-VMVersion
командлет (см. рис. 22). Это позволит обновить версию виртуальной машины и включить новые функции Hyper-V, устраняя необходимость в будущих обновлениях компонента интеграции Hyper-V (IC). Этот командлет можно запустить с узла Hyper-V, на котором размещена виртуальная машина, или-ComputerName
использовать параметр для удаленного обновления версии виртуальной машины. В этом примере мы обновляем версию конфигурации VM1 с 5.0 до 7.0, чтобы воспользоваться преимуществами множества новых функций Hyper-V, связанных с этой версией конфигурации виртуальной машины, таких как рабочие контрольные точки (резервные копии с согласованием приложений) и двоичный файл конфигурации виртуальной машины.действии Рис. 22. Обновление версии виртуальной машины с помощью командлета PowerShell Update-VMVersion
Пулы носителей можно обновить с помощью командлета PowerShell Update-StoragePool — это операция в сети.
Хотя мы ориентированы на частные облачные сценарии, в частности кластеры Hyper-V и масштабируемых файловых серверов, которые можно обновить без простоя, процесс последовательного обновления ОС кластера можно использовать для любой роли кластера.
Ограничения и ограничения
- Эта функция работает только для версий Windows Server, начиная с Windows Server 2012 R2. Эта функция не может обновить более ранние версии Windows Server, такие как Windows Server 2008, Windows Server 2008 R2 или Windows Server 2012.
- Каждый узел Windows Server 2016 должен быть переформатирован или установлен только для новой установки. Не рекомендуется использовать типы установки на месте или обновления .
- Для добавления новых узлов в кластер необходимо использовать узел под управлением более новой версии Windows Server.
- При управлении кластером в режиме смешанной ОС всегда выполняйте задачи управления с узла верхнего уровня, на котором выполняется Windows Server 2016. Узлы Windows Server нижнего уровня не могут использовать пользовательский интерфейс или средства управления для более новых версий Windows Server.
- Мы рекомендуем клиентам быстро перейти через процесс обновления кластера, так как некоторые функции кластера не оптимизированы для смешанного режима ОС.
- Избегайте создания или изменения размера хранилища на новых узлах Windows Server во время работы кластера в режиме смешанной ОС из-за возможной несовместимости при отработке отказа с нового узла Windows Server на узлы Windows Server нижнего уровня.
Часто задаваемые вопросы
Как долго отказоустойчивый кластер может работать в режиме смешанной ОС? Мы рекомендуем клиентам завершить обновление в течение четырех недель. Мы успешно обновили кластеры Hyper-V и масштабируемых файловых серверов с нулевым временем простоя менее чем за четыре часа.
Вы будете переносить эту функцию обратно в Windows Server 2012, Windows Server 2008 R2 или Windows Server 2008? Мы не планируем переносить эту функцию обратно в предыдущие версии. Последовательное обновление ОС кластера — это наше видение обновления кластеров Windows Server.
Должны ли узлы под управлением более старой версии Windows Server устанавливать все обновления программного обеспечения перед запуском последовательного обновления ОС кластера? Да, перед началом последовательного обновления ОС кластера убедитесь, что все узлы кластера обновлены до последних обновлений программного обеспечения.
Можно ли выполнить командлет, Update-ClusterFunctionalLevel
когда узлы находятся в режиме "Выкл." или "Приостановлено"?
Нет. Все узлы кластера должны быть в активном членстве, чтобы Update-ClusterFunctionalLevel
командлет работал.
Работает ли последовательное обновление ОС кластера для любой рабочей нагрузки кластера? Работает ли это для SQL Server? Да, последовательное обновление ОС кластера работает для любой рабочей нагрузки кластера. Однако простой для кластеров Hyper-V и масштабируемых файловых серверов не требуется. Большинство других рабочих нагрузок получают некоторое время простоя (обычно несколько минут) при отработке отказа, и отработка отказа требуется по крайней мере один раз во время последовательного обновления ОС кластера.
Можно ли автоматизировать этот процесс с помощью PowerShell? Да, мы разработали последовательное обновление ОС кластера для автоматизации с помощью PowerShell.
Можно ли обновить несколько узлов одновременно для большого кластера с дополнительной емкостью отработки отказа? Да. При удалении одного узла из кластера для обновления ОС кластер будет иметь на один узел меньше для отработки отказа, следовательно, уменьшится емкость отработки отказа. Для больших кластеров с достаточной рабочей нагрузкой и емкостью отработки отказа можно одновременно обновить несколько узлов. Вы можете временно добавить узлы кластера в кластер, чтобы обеспечить улучшенную рабочую нагрузку и емкость отработки отказа во время последовательного обновления ОС кластера.
Что делать, если я обнаружу проблему в кластере после Update-ClusterFunctionalLevel
успешного выполнения?
Если вы создали резервную копию базы данных кластера с резервной копией состояния системы перед запуском Update-ClusterFunctionalLevel
, вы сможете выполнить заслуживающее доверия восстановление на узле под управлением предыдущей версии Windows Server и восстановить исходную базу данных и конфигурацию кластера.
Можно ли использовать обновление на месте для каждого узла вместо установки чистой ОС путем переформатирования системного диска? Мы не рекомендуем использовать обновление Windows Server на месте, но мы знаем, что оно работает в некоторых случаях, когда используются драйверы по умолчанию. Внимательно прочтите все предупреждающие сообщения, отображаемые во время обновления узла кластера на месте.
Если я использую репликацию Hyper-V для виртуальной машины Hyper-V в кластере Hyper-V, останется ли репликация нетронутой во время и после последовательного обновления ОС кластера? Да, реплика Hyper-V остается нетронутой во время и после последовательного обновления ОС кластера.
Можно ли использовать System Center Virtual Machine Manager (SCVMM) для автоматизации последовательного обновления ОС кластера? Да, вы можете автоматизировать процесс последовательного обновления ОС кластера с помощью VMM в System Center.