Последовательное обновление операционной системы кластера

Область применения: 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).

Иллюстрация, показывающая три этапа последовательного обновления ОС кластера: все узлы Windows Server 2012 R2, смешанный режим ОС и все узлы Windows Server 2016Рис. 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.

Иллюстрация, показывающая начальное состояние: все узлы Windows Server 2012 R2Рис. 2. Начальное состояние: Windows Server 2012 отказоустойчивый кластер R2 (этап 1)

На этапе 2 два узла были приостановлены, осушены, вытеслены, переформатированы и установлены с Windows Server 2016.

Иллюстрация, показывающая кластер в режиме смешанной ОС: из примера кластера с 4 узлами два узла работают Windows Server 2016, а два узла работают Windows Server 2012 R2Рис. 3. Промежуточное состояние: режим смешанной ОС: Windows Server 2012 R2 и отказоустойчивый кластер Windows Server 2016 (этап 2)

На этапе 3 все узлы в кластере обновлены до Windows Server 2016, и кластер готов к обновлению с помощью Update-ClusterFunctionalLevel командлета PowerShell.

Примечание

На этом этапе процесс можно полностью обратить вспять, и Windows Server 2012 узлов R2 можно добавить в этот кластер.

Иллюстрация, показывающая, что кластер полностью обновлен до Windows Server 2016 и готов к выполнению командлета Update-ClusterFunctionalLevel, чтобы довести функциональный уровень кластера до Windows Server 2016Рис. 4. Промежуточное состояние: все узлы обновлены до Windows Server 2016, готовы к Update-ClusterFunctionalLevel (этап 3)

После выполнения командлета Update-ClusterFunctionalLevel кластер переходит в "Этап 4", где можно использовать новые Windows Server 2016 функции кластера.

Иллюстрация, показывающая, что последовательное обновление ОС кластера успешно завершено; все узлы обновлены до Windows Server 2016, а кластер работает на функциональном уровне кластера Windows Server 2016Рис. 5. Окончательное состояние: Windows Server 2016 отказоустойчивый кластер (этап 4)

Процесс последовательного обновления ОС кластера

В этом разделе описывается рабочий процесс для выполнения последовательного обновления ОС кластера.

Иллюстрация, показывающая рабочий процесс обновления кластераРис. 6. Рабочий процесс последовательного обновления ОС кластера

Последовательное обновление ОС кластера включает приведенные ниже действия по обновлению с Windows Server 2012 R2 до Windows Server 2016, однако процесс не отличается от более поздних версий Windows Server.

  1. Подготовьте кластер к обновлению операционной системы следующим образом:

    1. Последовательное обновление ОС кластера требует удаления одного узла за раз из кластера. Проверьте, достаточно ли емкости в кластере для поддержки соглашений об уровне обслуживания с высоким уровнем доступности при удалении одного из узлов кластера для обновления операционной системы. Иными словами, требуется ли возможность отработки отказа рабочих нагрузок на другой узел при удалении одного узла из кластера в процессе последовательного обновления ОС кластера? Имеет ли кластер емкость для выполнения необходимых рабочих нагрузок при удалении одного узла из кластера для последовательного обновления ОС кластера?

    2. Для рабочих нагрузок Hyper-V убедитесь, что все узлы Hyper-V Windows Server поддерживают ЦП для Second-Level адресной таблицы (SLAT). Только компьютеры с поддержкой SLAT могут использовать роль Hyper-V в Windows Server 2016 и более новых версиях.

    3. Убедитесь, что все резервные копии рабочей нагрузки завершены, и рассмотрите возможность резервного копирования кластера. Остановите операции резервного копирования при добавлении узлов в кластер.

    4. С помощью командлета Get-ClusterNode убедитесь, что все узлы кластера подключены к сети / запущены (см. рис. 7).

      Снимок экрана с результатами выполнения командлета Get-ClusterNodeРис. 7. Определение состояния узла с помощью командлета Get-ClusterNode

    5. Если вы используете кластерную Обновления (CAU), проверьте, выполняется ли В настоящее время CAU с помощью пользовательского интерфейса обновления с поддержкой кластера или командлета Get-CauRun (см. рис. 8). Остановите CAU с помощью командлета Disable-CauClusterRole (см. рис. 9), чтобы предотвратить приостановку и очистку узлов CAU во время последовательного обновления ОС кластера.

      Снимок экрана с выходными данными командлета Get-CauRunРис. 8. Использование командлета Get-CauRun для определения того, выполняется ли в кластере Обновления с поддержкой кластера

      Экран с выходными данными командлета Disable-CauClusterRoleРис. 9. Отключение роли Обновления с учетом кластера с помощью командлета Disable-CauClusterRole

  2. Для каждого узла в кластере выполните следующие действия.

    1. С помощью пользовательского интерфейса диспетчера кластеров выберите узел и используйте команду Приостановить | Пункт меню "Очистка " для очистки узла (см. рис. 10) или используйте Suspend-ClusterNode командлет (см. рис. 11).

      Снимок экрана: очистка ролей с помощью пользовательского интерфейса диспетчера кластеровРис. 10. Очистка ролей из узла с помощью диспетчера отказоустойчивости кластеров

      Снимок экрана с выходными данными командлета Suspend-ClusterNodeРис. 11. Очистка ролей из узла с помощью командлета Suspend-ClusterNode

    2. С помощью пользовательского интерфейса диспетчера кластеров исключите приостановленный узел из кластера или используйте Remove-ClusterNode командлет .

      Снимок экрана с выходными данными командлета Remove-ClusterNodeРис. 12. Удаление узла из кластера с помощью Remove-ClusterNode командлета

    3. Переформатируйте системный диск и выполните "чистую установку операционной системы" Windows Server 2016 на узле с помощью параметра Установка только Windows (дополнительно) (см. рис. 13) в setup.exe. Не выбирайте параметр Обновление: установка Windows и сохранение файлов, параметров и приложений, так как последовательное обновление ОС кластера не поощряет обновление на месте.

      Экран мастера установки Windows Server 2016 с выбранным вариантом пользовательской установкиРис. 13. Доступные параметры установки для Windows Server 2016

    4. Добавьте узел в соответствующий домен Active Directory.

    5. Добавьте соответствующих пользователей в группу Администраторы.

    6. С помощью пользовательского интерфейса диспетчер сервера или командлета PowerShell Install-WindowsFeature установите все необходимые роли сервера, например Hyper-V.

      Install-WindowsFeature -Name Hyper-V
      
    7. С помощью пользовательского интерфейса диспетчер сервера или командлета PowerShell Install-WindowsFeature установите компонент отказоустойчивой кластеризации.

      Install-WindowsFeature -Name Failover-Clustering
      
    8. Установите все дополнительные функции, необходимые для рабочих нагрузок кластера.

    9. Проверьте параметры подключения к сети и хранилищу с помощью пользовательского интерфейса диспетчера отказоустойчивости кластеров.

    10. Если используется брандмауэр Windows, проверьте правильность параметров брандмауэра для кластера. Например, для кластеров с поддержкой кластерного обновления (CAU) может потребоваться настройка брандмауэра.

    11. Для рабочих нагрузок Hyper-V используйте пользовательский интерфейс диспетчера Hyper-V, чтобы запустить диалоговое окно диспетчера виртуальных коммутаторов (см. рис. 14).

      Убедитесь, что имена виртуальных коммутаторов совпадают для всех узлов Hyper-V в кластере.

      Экран, показывающий расположение диалогового окна диспетчера виртуальных коммутаторов Hyper-VРис. 14. Диспетчер виртуальных коммутаторов

    12. На Windows Server 2016 узле (не используйте узел Windows Server 2012 R2) используйте диспетчер отказоустойчивости кластеров (см. рис. 15) для подключения к кластеру.

      Экран с диалоговым окном выбора кластераРис. 15. Добавление узла в кластер с помощью диспетчера отказоустойчивости кластеров

    13. Чтобы добавить узел в кластер, используйте пользовательский интерфейс диспетчера отказоустойчивости кластеров или Add-ClusterNode командлет (см. рис. 16).

      Снимок экрана с выходными данными командлета Add-ClusterNodeРис. 16. Добавление узла в кластер с помощью Add-ClusterNode командлета

      Примечание

      Когда первый узел Windows Server 2016 присоединяется к кластеру, кластер переходит в режим Mixed-OS, а основные ресурсы кластера перемещаются на узел Windows Server 2016. Кластер в режиме смешанной оси — это полностью функциональный кластер, в котором новые узлы работают в режиме совместимости со старыми узлами. Режим Mixed-OS является временным режимом для кластера. Он не предназначен для постоянного использования, и ожидается, что клиенты обновят все узлы своего кластера в течение четырех недель.

    14. После успешного добавления узла Windows Server 2016 в кластер можно (при необходимости) переместить часть рабочей нагрузки кластера на только что добавленный узел, чтобы перебалансировать рабочую нагрузку в кластере следующим образом:

      Снимок экрана с выходными данными командлета Move-ClusterVirtualMachineRoleРис. 17. Перемещение рабочей нагрузки кластера (роль виртуальной машины кластера) с помощью Move-ClusterVirtualMachineRole командлета

      1. Используйте динамическую миграцию из диспетчера отказоустойчивости кластеров для виртуальных машин или Move-ClusterVirtualMachineRole командлет (см. рис. 17), чтобы выполнить динамическую миграцию виртуальных машин.

        Move-ClusterVirtualMachineRole -Name VM1 -Node robhind-host3
        
      2. Используйте команду Переместить из диспетчера отказоустойчивости кластеров или Move-ClusterGroup командлет для других рабочих нагрузок кластера.

  3. Если каждый узел был обновлен до 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 будут доступны новые функции.
    1. С помощью пользовательского интерфейса диспетчера отказоустойчивости кластеров или командлета Get-ClusterGroup убедитесь, что все роли кластера выполняются в кластере должным образом. В следующем примере доступное хранилище не используется, вместо этого используется CSV, поэтому доступное хранилище отображает состояние Автономно (см. рис. 18).

      Снимок экрана с выходными данными командлета Get-ClusterGroupРис. 18. Проверка выполнения всех групп кластера (ролей кластера) с помощью командлета Get-ClusterGroup

    2. Убедитесь, что все узлы кластера подключены и запущены с помощью командлета Get-ClusterNode .

    3. Update-ClusterFunctionalLevel Запустите командлет — ошибки не должны возвращаться (см. рис. 19).

      Экран с выходными данными командлета Update-ClusterFunctionalLevelРис. 19. Обновление функционального уровня кластера с помощью PowerShell

    4. После выполнения командлета Update-ClusterFunctionalLevel становятся доступны новые функции.

  4. Возобновление обычных обновлений и резервных копий кластера:

    1. Если вы ранее использовали CAU, перезапустите его с помощью пользовательского интерфейса CAU или используйте Enable-CauClusterRole командлет (см. рис. 20).

      Снимок экрана с выходными данными роли Enable-CauClusterRole, рис. 20. Включение Обновления с учетом кластера с помощью командлета Enable-CauClusterRole

    2. Возобновление операций резервного копирования.

  5. Включите и используйте функции Windows Server 2016 в Виртуальные машины Hyper-V.

    1. После обновления кластера до Windows Server 2016 функционального уровня многие рабочие нагрузки, такие как виртуальные машины Hyper-V, будут иметь новые возможности. Список новых возможностей Hyper-V. См. раздел Миграция и обновление виртуальных машин.

    2. На каждом узле Hyper-V в кластере Get-VMHostSupportedVersion используйте командлет , чтобы просмотреть версии конфигурации виртуальных машин Hyper-V, поддерживаемые узлом.

      Экран, показывающий выходные данные командлета Get-VMHostSupportedVersionрис. 21. Просмотр версий конфигурации виртуальных машин Hyper-V, поддерживаемых узлом

    3. На каждом узле Hyper-V в кластере версии конфигурации виртуальных машин Hyper-V можно обновить, запланируя краткий период обслуживания с пользователями, создав резервное копирование, выключив виртуальные машины и запустив Update-VMVersion командлет (см. рис. 22). Это позволит обновить версию виртуальной машины и включить новые функции Hyper-V, устраняя необходимость в будущих обновлениях компонента интеграции Hyper-V (IC). Этот командлет можно запустить с узла Hyper-V, на котором размещена виртуальная машина, или -ComputerName использовать параметр для удаленного обновления версии виртуальной машины. В этом примере мы обновляем версию конфигурации VM1 с 5.0 до 7.0, чтобы воспользоваться преимуществами множества новых функций Hyper-V, связанных с этой версией конфигурации виртуальной машины, таких как рабочие контрольные точки (резервные копии с согласованием приложений) и двоичный файл конфигурации виртуальной машины.

      Снимок экрана с командлетом Update-VMVersion вдействии Рис. 22. Обновление версии виртуальной машины с помощью командлета PowerShell Update-VMVersion

  6. Пулы носителей можно обновить с помощью командлета 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.