Упрощенная процедура обновления отказоустойчивых кластеров Server 2012

. Я начну с вопроса о сокращении числа модулей коррекции, а затем продемонстрирую методы автоматизации установки в системах оставшихся исправлений.

Сокращение числа модулей коррекции

С тех пор как на рынке появилась операционная система Windows Server 2008, в распоряжение потребителей поступил вариант настройки сервера Server Core. В режиме ядра сервера графический интерфейс, средства управления и элементы инфраструктуры управления удалены из развертываемых компонентов Windows. В большинстве случаев это означает сокращение числа модулей коррекции примерно на 50 %, а также, что еще более важно, — увеличение временных промежутков между перезагрузками системы, поскольку в процессе установки большинства теперь уже ненужных исправлений как раз требовались перезагрузки.

Основная проблема, связанная с использованием режима ядра сервера в средах Windows Server 2008 R2 и Server 2008, состоит в том, что ядро сервера должно быть настроено во время установки и не может быть изменено без повторной установки. В организациях, чьи сотрудники не имеют опыта управления Windows Server из командной строки или с помощью средств дистанционного управления, это может привести к неприятным последствиям. Кроме того, системы Server 2008 R2 и Server 2008 предусматривают возможность использования режима ядра сервера только для выполнения инфраструктурных ролей (то есть ролей, которые являются компонентами самой системы Windows Server), а не других приложений.

Режим ядра сервера в системе Windows Server 2012 тоже претерпел изменения. Теперь он является предлагаемым по умолчанию вариантом установки Server 2012. Графический интерфейс, средства управления и инфраструктура управления могут быть добавлены и удалены в любой момент на протяжении жизненного цикла сервера — для этого необходима только перезагрузка. Это дает потребителям возможность проявлять при установке системы значительную гибкость. Вы можете, к примеру, установить инфраструктуру управления, но отказаться при этом от графического интерфейса.

В дополнение к этому сервер в режиме Server Core теперь представляет собой платформу для приложений, на которой могут выполняться прикладные программы (скажем, SQL Server 2012). Это означает, что связанные с установкой модулей коррекции непроизводительные расходы могут быть радикально сокращены без ограничения функциональных возможностей Server 2012. Необходимость в установке исправлений и в перезагрузках системы не отменяется, но выполнять эти операции теперь придется реже.

Как правило, перезагрузка сервера приводит к тому, что выполняющиеся на нем службы становятся недоступными на протяжении всего времени перезагрузки. Если взять, к примеру, хост Hyper-V, это означает, что все виртуальные машины и выполняемые на них службы будут недоступны. Но эту проблему можно решить. Здесь на помощь администратору приходят средства кластеризации с обходом отказа Failover Clustering. Если хосты объединены в кластер с обходом отказа, вы можете перемещать службы (в том числе виртуальные машины) с одного узла на другой без простоев. Нужно только, чтобы соответствующая служба поддерживала технологию миграции с нулевым временем простоя — такую, как динамическая миграция виртуальных машин, или незаметный перенос SMB 3.0. Это означает, что установка модулей коррекции и связанные с ней перезагрузки не приводят к существенному снижению показателей доступности, поскольку уровень доступности не снижается.

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

  1. Выбрать узел кластера и переместить все его службы на другие узлы кластера с помощью технологии миграции с нулевым временем простоя (скажем, технологии динамической миграции для виртуальных машин).
  2. Перевести этот узел в режим обслуживания, в результате чего будут отключены все его ресурсы, и перенести последние на другие узлы кластера. Для выполнения этой операции вы можете использовать встроенную в Windows PowerShell команду Suspend-ClusterNode с параметром -Drain. Suspend-ClusterNode — одна из множества составных команд модуля Failover Cluster для PowerShell.
  3. Загрузите модули коррекции, установите их и выполните перезагрузку узла. По завершении проверьте, не появились ли новые модули, подлежащие установке. При наличии таких модулей установите их и еще раз выполните перезагрузку.
  4. Выведите узел из режима обслуживания. Для выполнения этого шага вы можете воспользоваться реализованной в Windows PowerShell командой Resume-ClusterNode с параметром -Failback.
  5. С помощью технологии миграции с нулевым временем простоя перенесите службы обратно на обновленный узел.
  6. Повторите указанные ранее операции для следующего узла кластера и так далее, пока обновления не будут реализованы для всего кластера.

Описанный процесс обновления представляется довольно простым, но если кластер состоит из 64 узлов, вам предстоит серьезная работа. На рынке имеются продукты, позволяющие упростить задачу. Так, диспетчер Microsoft System Center Virtual Machine Manager (VMM) 2012 обеспечивает обновление объединенных в кластер хостов Hyper-V одним щелчком мыши, а кроме того, обратите внимание на пакеты заданий runbook в System Center Orchestrator 2012, которые позволяют автоматизировать процесс обновления кластера. Однако администраторы, эксплуатирующие системы Server 2012, могут воспользоваться новыми встроенными средствами кластерного обновления Cluster-Aware Updating (CAU).

Автоматизация обновления с использованием CAU

CAU — компонент реализованной в среде Server 2012 функции Failover Clustering. При использовании этого компонента весь процесс обновления отказоустойчивого кластера Server 2012 можно выполнять в автоматическом режиме. Важно подчеркнуть, что сказанное относится только к отказоустойчивым кластерам Server 2012. Функция не имеет обратной совместимости с кластерами Server 2008 R2 (или более ранних версий). Каких-либо ограничений на приложения по совместимости с CAU не предусмотрено. Если речь идет о кластерном приложении, оно должно быть совместимым. Так, взаимодействовать со средствами CAU могут виртуальные машины, файловые ресурсы общего доступа, а также системы SQL Server. Собственная технология миграции используется в качестве части процесса CAU.

Источником модулей коррекции может быть либо центр обновления Windows Update, либо службы обновления Windows Server Update Services (WSUS), функционирующие в сетях организаций. Если вы хотите применить WSUS в сочетании с CAU, удостоверьтесь, что у вас установлен продукт WSUS 4.0 (входящий в состав версии Server 2012) или WSUS 3.0 SP2 с обновлением KB2734608. Кроме того, средства CAU совместимы с подключаемым модулем, который позволяет задействовать модули коррекции из других источников. Примером такого продукта может служить нестандартный подключаемый модуль Microsoft.HotfixPlugin, поставляемый вместе с CAU. Он позволяет администраторам отбирать модули оперативной коррекции, которые не развертываются по каналам Windows Update. Этот модуль можно использовать и для установки обновлений от поставщиков, не относящихся к корпорации Microsoft, таких, как обновления для драйверов и встроенных программ, разработанных производителями аппаратных средств.

В рамках этой модели с подключаемым модулем продукты CAU, вероятно, со временем получат возможность использовать в качестве источника модулей коррекции диспетчер Microsoft System Center Configuration Manager (SCCM). Однако в момент, когда данная статья готовилась к печати, такой подключаемый модуль еще не был написан, а это значит, что при использовании средств CAU вы пока не можете задействовать SCCM в качестве источника обновлений.

Активировав средства CAU в кластерах своей сети, вы получите гибкий и в то же время простой механизм установки обновлений в кластерах. Его можно запускать вручную или по заранее заданному расписанию. Вы даже можете выполнять на каждом узле сценарии PowerShell для ситуаций, предшествующих обновлению и следующих за ним, как часть процесса установки корректирующих модулей.

Основные сведения о режимах CAU и о требованиях, предъявляемых к узлам кластера

Кластерное обновление выполняется на физических кластерах, а также на кластерах, создаваемых внутри виртуальных машин. Оно осуществляется в двух режимах: в режиме самообновления (self-updating) и в режиме дистанционного обновления (remote-updating).

Для выполнения самообновления средства управления отказоустойчивыми кластерами устанавливаются на всех узлах кластера, чтобы исключить внешние зависимости. В дополнение к этому устанавливается кластерная роль CAU.

Для обеспечения режима удаленного обновления средства управления отказоустойчивыми кластерами устанавливаются на удаленном компьютере Server 2012 либо Windows 8, с которого осуществляется контроль за установленным в удаленных кластерах приложением, выполняющим процедуру обновления. Если же дистанционное обновление осуществляется без установки средств управления отказоустойчивыми кластерами на узлах кластера, единственное ограничение функциональности касается работы с данными о типе отладки, которые практически не используются администраторами.

Достоинство режима самообновления состоит в том, что обновляемый кластер автономен и может эффективно обновляться, что называется, «на автопилоте». Преимущество использования данного режима вытекает из того, что установкой корректирующих модулей во множестве различных кластеров можно управлять из одной системы, настроенной как координатор дистанционного обновления. Поскольку координация осуществляется дистанционно, необходимость в установке средств управления отказоустойчивыми кластерами во всех узлах кластера (и даже оболочки PowerShell, а также Microsoft. NET Framework, если вы не используете сценарии, выполняемые до и после обновления) отпадает, и это означает, что в узлах кластера сервер может работать в режиме Server Core. Кроме того, в режиме дистанционного обновления администратор получает более подробные сведения по каналам обратной связи, что является идеальным решением в случаях, когда необходимо тщательно следить за процессом (и в то же время администратор не должен осуществлять какие-либо действия вручную).

Чтобы обеспечивать возможность использования средств CAU, узлы кластера должны соответствовать ряду требований:

  • Должен быть активирован инструментарий дистанционного управления Windows WMI (такая настройка предусмотрена по умолчанию). Если необходимо активировать WMI, вы можете воспользоваться реализованной в PowerShell командой Set-WSManQuickConfig.
  • Если вы используете режим самообновления или сценарии PowerShell, выполняемые до и после обновления, у вас должна быть установлена платформа. NET Framework 4.5 (настройка по умолчанию).
  • Если вы используете режим самообновления или сценарии PowerShell, выполняемые до и после обновления, у вас должна быть установлена версия PowerShell 3.0 и активированы средства удаленного взаимодействия PowerShell. Для активирования средств удаленного взаимодействия PowerShell вы можете воспользоваться командой Enable-PSRemoting.
  • Должно быть предусмотрено исключение брандмауэра для дистанционной перезагрузки систем, которое устанавливается путем активации встроенного исключения Remote Shutdown. При использовании графического интерфейса эта процедура выполняется автоматически как часть настройки CAU. Администратор должен предпринимать какие-либо действия лишь в том случае, когда согласно действующей групповой политике соответствующее исключение может быть отменено.
  • Обновляемые узлы должны быть частью того или иного кластера, поэтому в них должны быть установлены средства кластерного обновления.
  • Если для доступа к центру обновления Windows вы используете прокси-сервер, вам нужно настроить его под учетную запись компьютера, поскольку средства CAU выполняются с учетной записи System, а не с учетной записи пользователя. Чтобы настроить прокси-сервер, вы можете воспользоваться утилитой командной строки Netsh. Модифицируйте соответствующим образом и запустите в интерпретаторе командной строки Cmd.exe следующую команду:
Netsh winhttp set proxy: «")

Установка и настройка средств CAU

Убедившись, что все указанные требования выполнены, вы можете приступать к установке и настройке CAU. Я подробно опишу все этапы настройки CAU в режиме самообновления. Если же вы хотите использовать режим дистанционного обновления, просто установите средства управления отказоустойчивыми кластерами, а затем инициируйте процесс обновления с помощью графического интерфейса пользователя или команд PowerShell в модуле Failover Cluster Module.

При установке и настройке CAU в режиме самообновления выполняйте следующие инструкции:

1. Откройте программу Failover Cluster Manager. С помощью действия Connect to Cluster подключитесь к кластеру, в котором собираетесь использовать CAU.

2. Активируйте ссылку Cluster-Aware Updating. Перед вами появится экран Cluster-Aware Updating, и будет начато сканирование среды.

3. Щелчком на Configure cluster self-updating options запустите мастер Configure Self-Updating Options. Далее щелкните на странице мастера Getting Started.

4. На странице Add CAU Clustered Role with Self-Updating Enabled установите флажок Add the CAU clustered role, with self-updating mode enabled, to this cluster. Вы также увидите флажок для параметра I have a prestaged computer object for the CAU clustered role. В режиме самообновления к кластеру добавляется служба ролей CAU. Она использует собственный объект»виртуальный компьютер«, который необходимо создать в каталоге Active Directory (AD). Если вы не установите этот флажок, предварительно подготовленный объект»компьютер«будет создан автоматически. Но для успешного решения этой задачи ваш объект»компьютер кластера«должен получить разрешение на создание объектов»компьютер«в выделяемом по умолчанию контейнере Computers (или в контейнере, в котором размещается ваш объект «кластерный компьютер», как показано на экране 1).

 

Проверка наличия у учетной записи Cluster Computer разрешения на создание объектов «компьютер» в применяемом по умолчанию контейнере Computers
Экран 1. Проверка наличия у учетной записи Cluster Computer разрешения на создание объектов «компьютер» в применяемом по умолчанию контейнере Computers

Если применяемые в вашей организации корпоративные политики не допускают возможности предоставлять интересующему вас объекту»компьютер«для кластера необходимое разрешение, вам придется заранее подготовить виртуальный компьютер для CAU, выставить флажок I have a prestaged computer object for the CAU clustered role и задать имя заранее подготовленному объекту»виртуальный компьютер«. Информацию о том, как готовить объекты к установке можно найти в статье»Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory«(http://technet.microsoft.com/library/cc731002.aspx#BKMK_steps_precreating). Нажмите кнопку Next.

5. На странице Specify self-updating schedule настройте график обновлений. Как показано на экране 2, обновления можно выполнять ежедневно, еженедельно или ежемесячно. При планировании графика помните, что корпорация Microsoft выпускает новые модули коррекции во второй вторник каждого месяца. Нажмите Next.

 

Составление графика самообновления кластера
Экран 2. Составление графика самообновления кластера

6. На странице Advanced Options вы можете изменить допустимое число попыток (по умолчанию оно равно 3), указать выполняемые до и после обновления сценарии PowerShell, если вы намереваетесь их использовать, а также ввести другие настройки. Кроме того, вы можете сменить подключаемый модуль CAU. По умолчанию выбирается модуль Microsoft.WindowsUpdatePlugin. Он осуществляет установку обновлений для кластера непосредственно из центра обновления Windows или с установленного на территории организации сервера WSUS. Отметим, что команда обращаться за модулями коррекции в центр обновления Windows или на сервер WSUS в число настроек CAU не входит. Кластер будет использовать тот метод обновления, который был указан в процессе его настройки. Вы же просто указываете, какой подключаемый модуль необходимо применять для считывания обновлений из заданного источника. Внесите все необходимые изменения на странице Advanced Options и нажмите кнопку Next.

7. Если на предыдущей странице указан модуль Microsoft.WindowsUpdatePlugin, на экране будет отображена страница Additional Update Options. На этой странице имеется переключатель Give me recommended updates the same way that I receive important updates. Выберите его и нажмите кнопку Next.

8. На странице Confirmation будет отображена сводка выбранных вами параметров. После того как вы убедитесь, что все они указаны правильно, я рекомендую прокрутить страницу до конца, где будет отображен код команды, которую мастер выполнит на следующем этапе. Команда будет выглядеть примерно так:

Add-CauClusterRole -ClusterName savdalfclus
-Force -CauPluginName Microsoft.WindowsUpdatePlugin
-MaxRetriesPerNode 3 -CauPluginArguments
@{ 'IncludeRecommendedUpdates' = 'True' }
-StartDate»4/19/2013 3:00:00 AM«-DaysOfWeek 8
-WeeksOfMonth @(2) -EnableFirewallRules;

Скопируйте команду и сохраните ее для использования в дальнейшем.

9. На странице Confirmation нажмите кнопку Apply. После этого мастер добавит кластерную роль CAU и создаст объект»виртуальный компьютер«в AD.

По завершении настроек активируйте ссылку Cluster-Aware Updating, чтобы ваш кластер предложил выполнить некоторые проверки CAU. Я рекомендую выполнить проверку Analyze cluster updating readiness. В результате будет проверено состояние узлов кластера, чтобы обеспечить корректное выполнение процесса обновления. Теперь средства CAU готовы к установке модулей коррекции в соответствии с составленным вами графиком.

Осуществление кластерных обновлений вручную

В любое время вы можете проверить, какие обновления должны быть установлены, и применить эти обновления вручную. Для этого активируйте ссылку Cluster-Aware Updating, чтобы на экране отобразились различные CAU-действия. Затем щелкните на варианте Preview updates for this cluster action. На экране появится диалоговое окно Preview Updates. Теперь, выбрав используемый подключаемый модуль и нажав кнопку Generate Update Preview List, вы можете сгенерировать список всех обновлений, которые следует применить ко всем хостам кластера, как показано на экране 3.

 

Просмотр обновлений, которые нужно применить
Экран 3. Просмотр обновлений, которые нужно применить

Чтобы установить эти обновления вручную, закройте окно Preview Updates и выберите действие Apply updates to this cluster. В результате будет запущен мастер Cluster-Aware Updating Wizard. Вам нужно будет нажать Next на странице Getting Started и кнопку Update на странице Confirmation. После этого CAU обновит кластер с использованием существующих настроек.

Порядок обновления хостов определяется количеством ресурсов, размещенных на узле. Первым делом CAU обновит узел с наименьшим числом ресурсов, затем узел, занимающий второе место по этому показателю, — и так далее, пока не будут обновлены все узлы кластера.

Вы можете отслеживать состояние процесса обновления. Как показано на экране 4, администратору предоставляется подробная информация, включая сведения о загружаемых модулях коррекции, об узлах, переводимых в режим обслуживания, об обновлениях, применяемых в данный момент, о перезагружаемых узлах и т.д.

 

Мониторинг обновлений в процессе их?применения
Экран 4. Мониторинг обновлений в процессе их?применения

При работе в режиме самообновления в процессе перезагрузки систем координатор обновлений Update Coordinator перемещается с одного узла на другой. Если же вы выполняете обновление дистанционно, координатор обновлений будет оставаться на удаленной системе. Координатор обновлений — мозг системы CAU. Он сканирует, загружает и устанавливает модули коррекции на каждом узле, управляет сценариями и т.д.

По завершении установки всех обновлений на узле CAU выполняет повторную загрузку этого узла и вновь проверяет, не появились ли новые модули коррекции, которые необходимо установить. При наличии таковых CAU установит их и вновь проведет проверку на наличие обновлений. Процесс будет продолжаться до тех пор, пока система будет находить новые модули коррекции. Завершив обновление текущего узла, CAU переместится на следующий. После того как CAU завершит процесс обновления, вы можете выбрать вариант Generate report on past Updating Runs, и система предоставит вам отчет с подробностями только что завершенной процедуры обновления.

Отметим, что в CAU предусмотрена настройка»настроено, но заблокировано«, при использовании которой цикл обновления всегда выполняется вручную и никогда — по расписанию. Когда задана такая настройка, администратор должен запускать приложение обновления в ручном режиме или использовать для его запуска некий иной процесс. Более подробные сведения об этой настройке можно найти в статье»Advanced Options and Updating Run Profiles for CAU«(http://technet.microsoft.com/en-us/library/jj134224.aspx).

О чем следует помнить

CAU — замечательная функция, но все же весьма важно подвергать модули коррекции предварительному тестированию с помощью стандартных процессов проверки обновлений и только после этого развертывать их средствами CAU. Поэтому если вы намереваетесь запускать CAU в режиме автопилота, обязательно удостоверьтесь в процессе составления графика обновлений, что для такого рода тестирования выделяются достаточные промежутки времени.

Кроме того, убедитесь, что в это время не осуществляются другие процессы обновления, такие, как автоматическая установка корректирующих модулей за рамками CAU — иначе возможны простои в работе кластера. Помните: CAU — это не новая технология обновления. Это инструмент оркестровки, гармонизирующий работу существующих технологий обновления.

И еще одно соображение. CAU — не та технология, о которой следует сообщать начальнику. Пусть он считает, что все выходные вы проводите в серверном зале за установкой корректирующих модулей на 14 отдельных кластерах!