Для большинства критически важных бизнес-приложений во многих компаниях требования к непрерывности работы и отказоустойчивости являются само собой разумеющимися. Для достижения этих целей ИТ-отделы постоянно спрашивают производителей серверов и программного обеспечения о возможностях получения более экономичных систем высокой надежности. Их интересует вопрос: «Если производители могут выпускать высоконадежные и доступные системы уровня мэйнфреймов, то способны ли они предоставлять такие же возможности для стандартных серверов Windows?» Новая серверная операционная система Microsoft Windows Server 2008, новые серверные наборы микросхем и обновленное серверное аппаратное обеспечение теперь могут предоставить ИТ-подразделениям надежность, отказоустойчивость и удобство в обслуживании уровня мэйнфреймов, но за меньшие деньги.
В данной статье рассматривается сочетание аппаратных и программных решений от компаний Microsoft, Intel и NEC, позволяющее динамически распределять процессоры, память и платы ввода/вывода между вычислительными средами во время повышенной вычислительной нагрузки или динамически заменять их в случае выхода из строя. И все это без перезагрузки операционной системы!
Поддержка динамических аппаратных разделов, Dynamic Hardware Partitioning (DHP), будет описана в первой части статьи. Она реализована в Windows Server 2008 Datacenter Edition, обеспечивает высокую отказоустойчивость и гибкое управление ресурсами. Данная технология позволяет мгновенно определять отказ процессоров или модулей памяти и необходимость их заменять, не прерывая работы критичных приложений, до того, как произойдет отказ всей системы. Когда критичным бизнес-приложениям требуется повышенная производительность процессоров, памяти или плат ввода/вывода, поддержка DHP позволяет добавить эти ресурсы в уже работающие аппаратные разделы «на лету». Windows Server 2008 распознает новое аппаратное обеспечение и автоматически увеличивает размер доступных для вычислений ресурсов.
Технология DHP в Windows Server 2008 делает возможным использование в операционной системе функций горячего добавления и горячей замены, позволяющих осуществлять динамическое управление ресурсами без ущерба для операционной системы или приложений. Ранее, в Windows Server 2003 SP1, возможно было только горячее добавление памяти.
DHP имеет некоторое сходство с виртуализацией серверов. Обе технологии позволяют запускать несколько операционных систем на одном физическом сервере. Однако DHP предоставляет возможность более четкого контроля аппаратных ресурсов — позволяет динамически распределять физические аппаратные ресурсы для повышения производительности и заменять вышедшее из строя аппаратное обеспечение, не прерывая работы.
Операционная система Windows Server 2008 Datacenter Edition, работающая на сервере NEC серии Express5800/1000 на базе процессоров Intel Itanium 2, представляет собой отличный пример того, как повышенная отказоустойчивость, гибкость и надежность могут быть достигнуты на серверах Windows благодаря решению на базе аппаратного и программного обеспечения компаний NEC, Intel и Microsoft.
Состояние индустрии
В 70-х гг. XX столетия крупные ИТ-компании запускали свои критически важные вычисления на системах класса мэйнфреймов, где аппаратное и программное обеспечение и операционные системы, как правило, были спроектированы и разработаны одним производителем. Это давало огромные преимущества в разработке механизмов обработки ошибок физических и логических ресурсов. При этом системы получались чрезвычайно дорогостоящими.
Сегодня и аппаратное, и программное обеспечение, и операционные системы проектируются, разрабатываются и выпускаются различными производителями. Конкуренция в этих областях не только значительно снизила стоимость систем, но и усложнила задачу создания системы высокой надежности. Например, теперь на аппаратном уровне возможность памяти, процессоров, шин и устройств ввода/вывода сообщать об ошибках используется как часть описания их интерфейса. Каждый компонент аппаратного обеспечения предоставляет различного рода информацию для обработки ошибок. Эти ошибки, если они не обрабатываются на аппаратном уровне, должны быть переданы операционной системе. Операционная система, включая драйверы устройств, написанные сторонними производителями, должна обрабатывать ошибки или игнорировать их в зависимости от своих возможностей по обработке.
Кроме того, возможности систем класса мэйнфреймов по физическому разделению подсистем — процессоров, памяти и каналов ввода/вывода — и предоставлению нескольким окружениям общего доступа к одному физическому серверу для получения большей гибкости в управлении нагрузкой действительно отсутствовали в серверах на базе Windows. Подобный уровень гибкости требует расширенных возможностей и согласования между системой аппаратного обеспечения и операционной системой.
Решение проблемы
Высокая отказоустойчивость критичных бизнес-приложений становится требованием сегодняшнего дня для компаний любых масштабов, от крупных корпораций до предприятий среднего бизнеса. Для удовлетворения этих потребностей ИТ-подразделения в основном закупают серверы с избыточными компонентами — вентиляторами, блоками питания, сетевыми платами и т. д. Однако многие серверы не способны поддерживать избыточные процессоры и модули памяти в одном корпусе.
Высоконадежные кластерные решения предоставляют возможность мониторинга кластерных систем на предмет сбоев и автоматического перезапуска критичных бизнес-приложений на других системах в случае сбоя. Хотя это и снижает время простоя, но самой проблемы не решает. К тому же отказоустойчивые системы с избыточными компонентами становятся слишком дорогими не только по стоимости, но и с точки зрения энергоснабжения, охлаждения, размещения и обслуживания. Однако, даже несмотря на свою высокую стоимость, высоконадежные кластеры остаются менее дорогостоящими, нежели системы класса мэйнфреймов.
Высокая отказоустойчивость — это не только требование непрерывности вычислений, но и возможность распределять (или перераспределять) ресурсы для критичных приложений по требованию бизнеса. На первый взгляд технология виртуализации серверов в Windows Server предоставляет в этой области отличный уровень гибкости для многих приложений. Однако на сегодня решения по виртуализации серверов могут распределять только логические ресурсы.
Таким образом, ИТ-подразделения нуждаются в удобной в обслуживании системе высокой отказоустойчивости за умеренную цену. Как отметил вице-президент одной крупной финансовой компании, «производительность системы и ее отказоустойчивость — ключевые критерии для наших клиентов».
Представление возможностей мэйнфреймов в Windows Server
Создание такой гибкой, надежной, доступной и удобной в обслуживании системы с нуля требует взаимодействия всех компонентов в системе, и на аппаратном, и на программном уровне. Анонсированная в Windows Server 2008 Datacenter Edition поддержка динамических аппаратных разделов Dynamic Hardware Partitioning (DHP) и усовершенствованная архитектура аппаратных ошибок Windows Hardware Error Architecture (WHEA), совместно с технологией Machine Check Architecture (MCA) процессоров Intel Itanium 2, позволили компании NEC, основываясь на ее опыте в построении систем класса мэйнфреймов, создать высокоинтегрированную, гибкую, доступную и удобную в обслуживании систему на базе серверов NEC серии Express 5800/1000.
Обзор решения
На высоком уровне данное решение позволяет администратору использовать аппаратные блоки для разделения многопроцессорных систем на несколько отдельных серверов (см. рис. 1), каждый из которых работает под управлением своего экземпляра Windows Server 2008. В дальнейшем администратор может динамически изменять аппаратные разделы на основе политики или в реальном времени для исправления ошибок и оптимизации производительности.
Эта платформа позволяет администратору устанавливать связь пороговых значений загрузки процессора с соответствующими политиками для автоматического добавления (неиспользуемых и нераспределенных) процессоров и памяти в разделы, когда уровень загрузки превышает пороговое значение (горячее добавление). Администратор также может устанавливать пороговые значения для сбоев в работе процессоров и памяти с соответствующими политиками для автоматического перемещения вычислений с поврежденного набора процессоров и памяти на стабильные (неиспользуемые и нераспределенные) процессоры и память, и все это без перезагрузки операционной системы или приложений (горячая замена). Это дает администратору высокий уровень гибкости, направленный на предупреждение отказов и повышенной нагрузки процессоров, с сохранением доступа к критичным бизнес-приложениям в режиме 24x7x365.
Архитектура решения
Двухъядерные процессоры Intel Itanium 2 включают технологию Machine Check Architecture (MCA), которая обрабатывает ошибки и сообщает о неисправностях, связанных с процессорами и памятью, как показано на рис. 2. Неисправности отправляются на уровень программно-аппаратных средств NEC Express5800/1000, затем в Windows Hardware Error Architecture (WHEA) для управления и регистрации на уровне операционной системы. Такая плотная интеграция аппаратного и программного обеспечения, направленная на обнаружение, исправление ошибок и управление ими, обеспечивает основу высокой надежности, отказоустойчивости, удобства в обслуживании и гибкости.
Двухъядерные процессоры Itanium 2 с технологией Machine Check Architecture
Все процессоры имеют систему многоуровневой обработки ошибок и сбоев. Одно из основных отличий между процессорами — возможность определять, автоматически исправлять и сообщать об этих ошибках. Процессоры Intel Itanium 2 были спроектированы для высокоуровневой надежности и отказоустойчивости критичных бизнес-приложений, с использованием современной архитектуры многоуровневой обработки ошибок, называемой Machine Check Architecture (MCA). Ключевой компонент MCA — это программно-аппаратный уровень Processor Abstraction Leyer (PAL). PAL способен исправлять и регистрировать все одноразрядные ошибки и обрабатывать свыше 99,99% всех аппаратных процессорных ошибок. Процессоры с меньшими возможностями обработки ошибок, чем процессор Itanium 2, должны отправлять большее количество ошибок напрямую операционной системе для обработки. При сокращении числа ошибок, отправляемых операционной системе, повышается эффективность их обработки (и производительность системы) и снижается вероятность сбоев системного уровня. Для случаев, когда PAL не способен обработать ошибку, она передается на следующий уровень — System Abstraction Layer (SAL) (см. рис. 2) для обработки или передачи операционной системе. Значение информации о регистрации и обработке ошибок для SAL в том, что система получает сведения об этих ошибках и может заблаговременно отреагировать на сбои процессоров или памяти, прежде чем из-за них будет нарушена работа.
NEC серии Express 5800/1000
«Сердцем» сервера NEC серии Express5800/1000 служит 64-разрядный двухъядерный процессор Intel Itanium 2. К нему добавлен переработанный набор микросхем А3 (A в кубе) с кэш-памятью 24 Мбайт для увеличения производительности. Каждый сервер разделен на ячейки с процессорами и памятью. Каждая ячейка содержит до четырех процессоров и до 64 Гбайт памяти. Набор микросхем A3 обеспечивает высокую скорость и малые задержки при передаче данных внутри ячейки.
На системном уровне NEC внедрили System Abstraction Level для связи с Machine Check Architecture, а также избыточные сервисные процессоры для мониторинга и управления общим состоянием и конфигурацией системы. Сервисные процессоры могут быть доступны через командную строку или через консоль управления GlobalMaster с графическим интерфейсом. Сервисные процессоры обеспечивают для DHP возможность разбивать и переразбивать аппаратные ячейки в зависимости от приоритетов бизнеса и политик. В серверах NEC серии Express 5800/1000 каждый раздел может состоять из одной или нескольких ячеек и иметь назначенную ему операционную систему или находиться в резерве. Благодаря аппаратным разделам каждая операционная система и раздел определяют отдельно стоящий сервер, физически изолированный от других разделов и не имеющий представления о других средах внутри системы.
GlobalMaster включает два компонента, интерфейс управления GlobalMaster и агент GlobalMaster (GMA). Интерфейс управления GlobalMaster, установленный в системе администратора, предоставляет возможности внешнего управления и конфигурации. Этот компонент осуществляет связь с сервисным процессором для выполнения настройки или перенастройки и агентом GMA. GMA — это маленький агент, находящийся над Windows, для сбора информации о состоянии системы.
Windows Hardware Error Architecture (WHEA)
Windows Hardware Error Architecture (WHEA) обеспечивает расширенную поддержку исправления и анализа причин аппаратных ошибок посредством связанной инфраструктуры аппаратных ошибок. WHEA предоставляет преимущество использования расширенной информации об ошибках, передаваемой аппаратным обеспечением, таким как двухъядерные процессоры Intel Itanium 2 и набор микросхем NEC A3. Такая архитектура обеспечивает:
-
получение расширенных данных об ошибках и их регистрацию в стандартном формате;
-
механизмы восстановления аппаратных ошибок;
-
приложения для управления ошибками.
Кроме того, эта архитектура открыта для аппаратных улучшений, операционная система Windows может приспосабливаться к изменениям.
Поддержка DHP
Завершая первую часть своей статьи, напомню, что DHP — это возможность динамического назначения, замены и переназначения физических аппаратных средств в специальные аппаратные разделы. Это осуществляется путем горячего добавления и горячей замены аппаратных компонентов, таких как процессоры, память, платы ввода/вывода. Windows Server 2008 поддерживает горячее добавление процессоров, памяти, плат ввода/вывода и горячую замену процессоров и памяти благодаря реализации технологии DHP.
Алексей Голдбергс (http://blogs.technet.com/stbgrus) — специалист по взаимодействию с ИТ-сообществом, Microsoft Россия