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

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

Развертывание кластерной ОС позволяет администратору обновить операционную систему узлов кластера Hyper-V или масштабируемых рабочих нагрузок файлового сервера без остановки. Благодаря этой функции можно избежать штрафов за простои, которые полагаются согласно соглашениям об уровне обслуживания.

Развертывание кластерной ОС обеспечивает следующие преимущества:

  • Отказоустойчивые кластеры под управлением виртуальных машин 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
  • Кластеры файлового сервера горизонтального масштабирования

Следующий сценарий не поддерживается.

  • Последовательное обновление ос кластера гостевых кластеров с помощью виртуального жесткого диска (VHDX-файла) в качестве общего хранилища.

Развертывание кластерной ОС полностью поддерживается system Center диспетчер виртуальных машин (SCVMM). Если вы используете SCVMM, ознакомьтесь с руководством по обновлению кластеров узлов Hyper-V до Windows Server 2016 в VMM , чтобы получить рекомендации по обновлению кластеров и автоматизации действий, описанных в этом документе.

Требования

Выполните следующие требования, прежде чем начать процесс последовательного обновления ОС кластера:

  • Начните с отказоустойчивого кластера под управлением Windows Server 2012 R2 или более поздней версии. Вы можете обновить до следующей версии, например с Windows Server 2016 до Windows Server 2019.
  • Убедитесь, что узлы Hyper-V имеют ЦП, поддерживающие таблицу адресов второго уровня (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).

Illustration showing the three stages of a cluster OS rolling upgrade: all nodes Windows Server 2012 R2, mixed-OS mode, and all nodes 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.

Illustration showing the initial state: all nodes Windows Server 2012 R2Рис. 2. Начальное состояние: отказоустойчивый кластер Windows Server 2012 R2 (этап 1)

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

Illustration showing the cluster in mixed-OS mode: out of the example 4-node cluster, two nodes are running Windows Server 2016, and two nodes are running Windows Server 2012 R2Рис. 3. Промежуточное состояние: режим смешанной ОС: Windows Server 2012 R2 и отказоустойчивый кластер Windows Server 2016 (этап 2)

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

Примечание.

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

Illustration showing that the cluster has been fully upgraded to Windows Server 2016, and is ready for the Update-ClusterFunctionalLevel cmdlet to bring the cluster functional level up to Windows Server 2016Рис. 4. Промежуточное состояние: все узлы, обновленные до Windows Server 2016, готовые к обновлению-clusterFunctionalLevel (этап 3)

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

Illustration showing that the cluster rolling OS upgrade has been successfully completed; all nodes have been upgraded to Windows Server 2016, and the cluster is running at the Windows Server 2016 cluster functional levelРис. 5. Окончательное состояние: отказоустойчивый кластер Windows Server 2016 (этап 4)

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

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

Illustration showing the workflow for upgrading a clusterРис. 6. Рабочий процесс последовательного обновления ОС кластера

Обновление ос кластера включает следующие шаги для обновления с Windows Server 2012 R2 до Windows Server 2016, однако процесс совпадает с более поздними версиями Window Server.

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

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

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

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

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

      Screencap showing the results of running the Get-ClusterNode cmdletРис. 7. Определение состояния узла с помощью командлета Get-ClusterNode

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

      Screencap showing the output of the Get-CauRun cmdletРис. 8. Использование командлета Get-CauRun для определения того, работает ли в кластере Обновления с учетом кластера.

      Screencap showing the output of the Disable-CauClusterRole cmdletРис. 9. Отключение роли с учетом кластера Обновления с помощью командлета Disable-CauClusterRole

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

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

      Screencap showing how to drain roles with the Cluster Manager UIРис. 10. Очистка ролей с узла с помощью диспетчера отказоустойчивости кластеров

      Screencap showing the output of the Suspend-ClusterNode cmdletРис. 11. Очистка ролей с узла с помощью командлета Suspend-ClusterNode

    2. Используя пользовательский интерфейс Cluster Manager, вытесните приостановленный узел из кластера или используйте Remove-ClusterNode командлет.

      Screencap showing the output of the Remove-ClusterNode cmdletРис. 12. Удаление узла из кластера с помощью Remove-ClusterNode командлета

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

      Screencap of the Windows Server 2016 installation wizard showing the custom install option selectedРис. 13. Доступные варианты установки для Windows Server 2016

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

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

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

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

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

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

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

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

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

      Screencap showing the location of the Hyper-V Virtual Switch Manager dialogРис. 14. Диспетчер виртуальных коммутаторов

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

      Screencap showing the select cluster dialogРис. 15. Добавление узла в кластер с помощью диспетчера отказоустойчивости кластеров

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

      Screencap showing the output of the Add-ClusterNode cmdletРис. 16. Добавление узла в кластер с помощью Add-ClusterNode командлета

      Примечание.

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

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

      Screencap showing the output of the Move-ClusterVirtualMachineRole cmdletРис. 17. Перемещение рабочей нагрузки кластера (роль виртуальной машины кластера) с помощью Move-ClusterVirtualMachineRole командлета

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

        Move-ClusterVirtualMachineRole -Name VM1 -Node robhind-host3
        
      2. Используйте move from the Failover Cluster Manager или 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).

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

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

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

      Screencap showing the output of the Update-ClusterFunctionalLevel cmdletРис. 19. Обновление функционального уровня кластера с помощью PowerShell

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

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

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

      Screencap showing the output of the 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, поддерживаемых узлом.

      Screencap showing the output of the Get-VMHostSupportedVersion cmdletРис. 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, связанных с этой версией конфигурации виртуальной машины, такими как рабочие контрольные точки (резервные копии с согласованием приложений) и файл конфигурации двоичной виртуальной машины.

      Screencap showing the Update-VMVersion cmdlet in actionРис. 22. Обновление версии виртуальной машины с помощью командлета Update-VMVersion PowerShell

  6. служба хранилища пулы можно обновить с помощью Командлет Update-служба хранилища Pool PowerShell — это интерактивная операция.

Хотя мы нацелены на сценарии частного облака, в частности кластеры 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 используется реплика tion для виртуальной машины Hyper-V в кластере Hyper-V, реплика tion останутся неизменными во время и после процесса последовательного обновления ОС кластера? Да, реплика Hyper-V остается неизменным во время и после процесса последовательного обновления ОС кластера.

Можно ли использовать System Center диспетчер виртуальных машин (SCVMM) для автоматизации процесса последовательного обновления ОС кластера? Да, вы можете автоматизировать процесс последовательного обновления ОС кластера с помощью VMM в System Center.