Напомню, что в первой части статьи, опубликованной в предыдущем номере Windows IT Pro/RE, описывалось сочетание аппаратных и программных решений от компаний Microsoft, Intel и NEC, позволяющее динамически распределять процессоры, память и платы ввода-вывода между вычислительными средами во время повышенной вычислительной нагрузки или динамически заменять их в случае выхода из строя. И все это без перезагрузки операционной системы.
Сбор всего воедино — NEC Express 580/1000
Сервер NEC серии Express 5800/1000 обеспечивает надежность, отказоустойчивость, удобство в обслуживании и гибкость класса мэйнфреймов для серверных систем Windows благодаря оптимальной реализации сочетания технологии Microsoft DHP c расширенными возможностями Machine Check Architecture процессоров Intel Itanium 2 и Windows Hardware Error Architecture. На рисунке 1 показана структурная схема сервера NEC серии Express 5800/1000: 32-процессорная система, разделенная на три сервера, один включает в себя четыре ячейки, другие два — по две.
GlobalMaster может устанавливать автоматическую и динамическую перенастройку разделов по следующими трем сценариям:
-
на основании сбоев процессора и памяти;
-
на основании процессорной нагрузки;
-
на временной основе.
Сценарии, основанные на загруженности процессора либо отказах процессора или памяти, взаимодействуют с WHEA и DHP, помогая обеспечивать непрерывную отказоустойчивость процессора и памяти для приложений, работающих на критичных для бизнеса разделах. Переразбиение на временной основе обеспечивает возможность гибкого использования ресурсов в режиме 24x7.
Переразбиение на основании сбоев (горячая замена)
Переразбиение на основании сбоев в сервере NEC Express5800/1000 позволяет одному или нескольким разделам автоматически заменять неисправные ячейки процессоров и памяти на исправные без перезапуска приложений или перезагрузки системы. Администратор может назначить запуск тяжелых критичных бизнес-приложений на разделе, состоящем из четырех ячеек; приложение, обслуживающее клиентов, на разделе, состоящем из двух ячеек, и оставить две ячейки в резерве, как показано на рисунке 2. Администратор может выполнить это разбиение с помощью интерфейса управления GlobalMaster. Также имеется агент GMA (GMA на рисунке 2), расположенный в операционной системе каждого раздела. Этот агент отслеживает состояние системы, взаимодействуя непосредственно с операционной системой, и предоставляет данные об изменении состояния сервера системе управления GlobalMaster. Это позволяет администратору управлять множеством серверных разделов из единой консоли.
Сбои случаются и в процессоре, и в памяти. Когда это происходит, количество ошибок возрастает. Во избежание общего сбоя администратор может использовать интерфейс управления GlobalMaster, чтобы установить пороговые значения максимально допустимого количества ошибок. Если это пороговое значение достигнуто или превышено, ячейка, содержащая поврежденные процессор или память, будет заменена новой, прежде чем сервер выключится из-за невосстановимых ошибок.
Взаимодействие между уровнями процессора, системы и слоем архитектуры операционной системы необходимо для плавного перемещения с одного набора процессоров на другой. Двухъядерные процессоры Intel Itanium 2 посредством Machine Check Architecture, передают информацию о количестве сбоев и ошибок на программно-аппаратный уровень System Abstract Layer (SAL). Intel Itanium Machine Check Architecture исправляет большинство одноразрядных ошибок внутри процессора или аппаратно-программного уровня, это называется Processor Abstraction Layer (PAL). Если PAL не способен обработать эту ошибку, он передает ее на SAL для обработки или отправки операционной системе. В сервере NEC серии Express5800/1000, работающем под управлением Windows Server 2008, SAL передает ошибки Windows Hardware Error Architecture (WHEA) для обработки/регистрации ошибок, как показано на рисунке 3. Если количество ошибок достигает порогового значения или превышает его, как показано на рисунке 4, агент GMA на сервере предупреждает систему управления GlobalMaster, которая инициирует замену.
Как показано на рисунке 4, указанная ниже последовательность действий происходит по достижении порогового значения количества сбоев:
-
Внутри Machine Check Architecture PAL на каждом процессоре информирует SAL о наличии ошибок для разрешения или регистрации.
-
Затем SAL передает эти ошибки Windows Server 2008 WHEA также для разрешения и (или) регистрации.
-
Агент GMA NEC следит за сообщениями об ошибках.
-
Агент GMA отправляет информацию системе управления GlobalMaster.
-
Если достигнуто пороговое значение для сбоев, GlobalMaster уведомляет сервисный процессор о начале замены.
GlobalMaster связывается с сервисным процессором для преобразования запасных ячеек в адресное пространство поврежденных ячеек (см. рисунок 5). Сервисный процессор информирует SAL о связи с интерфейсом Windows Server 2008 DHP для перемещения содержимого и контекста поврежденных ячеек процессоров и памяти.
-
Сервисный процессор инициализирует ячейку для использования в качестве замены неисправной.
-
Сервисный процессор связывается с GlobalMaster для начала процесса замены.
-
Контекст памяти поврежденной ячейки копируется в запасную ячейку, с помощью средства копирования набора микросхем NEC A3, которое инициирует копирование памяти (быстрее, чем программное копирование памяти). Любые изменения памяти, происходящие во время операции копирования, осуществляются в обеих ячейках одновременно.
-
SAL связывается с DHP для уведомления DHP о замене. Система переходит в пассивное состояние, или состояние псевдо-S4 (hibernation), где все вычисления остановлены.
-
Операционная система, SAL и сервисный процессор взаимодействуют для копирования состояния процессора поврежденной ячейки в заменяющую ячейку. Весь процесс копирования завершается настолько быстро, что сетевые серверные подключения не прерываются.
-
Когда копирование завершено, как показано на рисунке 6, операционная система выходит из пассивного состояния и продолжает вычисления.
-
SAL освобождает поврежденный процессор, чтобы он мог быть удален из системы для ремонта.
-
SAL информирует сервисный процессор о том, что замена завершена.
-
Сервисный процессор информирует GlobalMaster о том, что замена завершена.
Как показано в этом примере, как только копирование завершено, Windows Server 2008 автоматически продолжает вычисления, используя новую ячейку, с того места, где вычисления были приостановлены, без необходимости перезапуска приложений или перезагрузки системы. Поврежденная ячейка может быть удалена из корпуса, и замененная ячейка может стать запасной. При этом приложения на других аппаратных разделах (например, поддержка клиентов) продолжают функционировать без перерыва, не ведая о том, что произошла замена соседней ячейки.
Переразбиение на основании загруженности процессора (горячее добавление)
Переразбиение на основе загруженности процессора в сервере NEC серии Express5800/1000 позволяет одному или нескольким разделам иметь ячейки процессоров и памяти, добавляемые в раздел без перезагрузки системы. Как и в предыдущем примере, администратор может выбрать для больших бизнес-приложений раздел, состоящий из четырех ячеек, для приложения поддержки клиентов — раздел из двух ячеек, и оставить две ячейки для замены, как показано на рисунке 3.
В этом примере особо критичное бизнес-приложение может становиться причиной всплеска загрузки процессора, но остановить это приложение нельзя из-за недостаточной процессорной производительности. Чтобы защититься от таких ситуаций, администратор с помощью интерфейса управления GlobalMaster устанавливает пороговое значение 80% для загрузки процессора раздела и настраивает политику горячего добавления ячейки в случае превышения порогового значения. Агент GMA отслеживает загруженность центрального процессора и сообщает показания загруженности системе управления GlobalMaster. Как только будет достигнуто пороговое значение раздела, как показано на рисунке 7, GlobalMaster инициирует «горячее» добавление ресурсов с помощью сервисного процессора и операционной системы Windows Server 2008.
В примере, показанном на рисунке 7, когда загруженность достигает порогового значения, происходит следующее:
-
Агент GMA следит за показателями загруженности процессора, доступными из операционной системы.
-
Агент передает эти значения системе управления GlobalMaster.
-
Когда достигнуто пороговое значение, GlobalMaster сообщает сервисному процессору о начале «горячего» добавления.
-
Сервисный процессор инициализирует ячейку для «горячего» добавления.
-
Затем сервисный процессор связывается с SAL для запуска «горячего» добавления выбранных ячеек.
-
SAL сообщает Windows DHP о начале процедуры «горячего» добавления и передает DHP адресацию новой ячейки и информацию о памяти. Windows DHP добавляет новую ячейку в текущую адресацию и информирует SAL, когда «горячее» добавление будет завершено.
-
Windows Server 2008 DHP расширяет текущий регистр и адреса памяти новой информацией.
- Сервисный процессор и GlobalMaster уведомляют об изменениях (см. рисунок 8).
Как только Windows Server 2008 устанавливает расположение памяти и процессора, добавленная ячейка становится доступна для приложения — все это без необходимости останавливать приложение или перезагружать систему. Кроме того, приложение поддержки клиентов на другом аппаратном разделе не ведает о происходящем и не подвергается влиянию изменений в других разделах. Оба приложения — и критичное бизнес-приложение, и приложение поддержки клиентов — функционируют.
Переразбиение на временной основе
Переразбиение на временной основе направлено на решение проблемы систем вычисления в зависимости от меняющихся требований и от времени суток. Например, сервер разработки сильно перегружен в течение рабочего дня, но ночью он не используется. Чтобы воспользоваться свободными системами, сервер NEC серии Express5800/1000 может автоматически изменить конфигурацию аппаратных разделов в предварительно настроенное время для выполнения других необходимых вычислений.
Администратор может получить доступ к процессу настройки с помощью GlobalMaster. Он может изменить сервер так, чтобы выбранные аппаратные разделы стали активны с 7:00 до 22:00, а с 22:01 до 6:59 будет активна другая конфигурация разделов. В 22:00 все запущенные приложения будут завершены, и операционная система будет выключена. GlobalMaster перенастроит аппаратные разделы и перезапустит операционную систему и приложения, связанные с новым разделом, для вычислений в ночное время, обеспечивая компании максимальную гибкость в использовании серверных ресурсов.
Динамические аппаратные разделы или виртуализация серверов?
Известно, что технологии DHP и виртуализации серверов иногда путают. На самом деле, это совершенно разные технологии, которые используются для решения различных задач.
Виртуализация серверов предоставляет возможность иметь несколько операционных систем, использующих физические ресурсы одной системы, благодаря наличию диспетчера виртуальных машин (VMM) или гипервизора (hypervisor) для управления ресурсами физической системы. Виртуализация серверов — это отличная возможность объединить системы x86 с низкой загруженностью в единую систему, повысив качество использования сервера и возврат от инвестиций, поскольку на каждом физическом сервере будет выполняться больше работы. Конечно, виртуализация серверов ничего не дает в плане улучшения отказоустойчивости виртуальных машин (VM), запущенных на сервере. Для повышения отказоустойчивости необходимо добавить возможности кластеризации для VMM или VM, либо и того, и другого. Это обеспечивается, отчасти, автоматическим перезапуском виртуальных машин и приложений на отказоустойчивом кластерном сервере. Такой способ кластеризации повышает отказоустойчивость, но требует перезапуска виртуальных машин и (или) VMM, операционной среды и приложений. В том случае, если VMM предоставляет возможность миграции в режиме реального времени, может быть осуществлен перенос виртуальных машин на другой сервер в кластере, вручную или автоматически, с использованием дополнительного программного обеспечения для управления, когда загруженность достигнет установленного порогового значения.
Динамические аппаратные разделы также предоставляют возможность запускать несколько операционных систем на единой системе. Однако это никак не связано с VMM. Вместо этого сервер разделяется на аппаратном уровне для создания нескольких изолированных серверов на одной физической платформе. Каждый сервер в действительности работает как отдельно стоящий аппаратный сервер. Такой тип виртуализации доступен, например, на сервере NEC серии Express5800/1000. Разделы могут быть полностью распределены или часть системы может оставаться нераспределенной, как горячий резерв для добавления или замены ресурсов в других разделах. Способность динамически добавлять дополнительные физические аппаратные ресурсы для повышения производительности и (или) надежности на сегодня недоступна для продуктов виртуализации на базе серверов x86.
В качестве примера приложения, которое может быть лучше настроено на системе, задействующей аппаратные разделы, чем на системе, использующей виртуализацию серверов, можно назвать критичную для бизнеса базу данных SQL Server. Тяжелые приложения баз данных обычно работают лучше, когда они не борются за ресурсы с другими приложениями. При использовании аппаратных разделов все процессоры, память и платы ввода-вывода в разделе назначаются этому особому разделу (операционной системе). Если работающая система c базой данных приближается к пределу системных ресурсов, дополнительные процессоры, память и платы ввода-вывода могут быть динамически добавлены. Если случится отказ процессора или памяти внутри ячейки, поврежденная ячейка будет заменена без прерывания работы базы данных.
Основные преимущества
Динамические аппаратные разделы на сервере NEC серии Express5800/1000 обеспечивают потребителям отказоустойчивость и гибкость класса мэйнфреймов по доступной цене. В сервере NEC серии Express5800/1000 функция «горячей» замены автоматически определяет и заменяет неисправное аппаратное обеспечение до того, как произойдет остановка. Это означает, что критичные бизнес-приложения будут продолжать работать и в тех случаях, в которых раньше они могли бы отказать. Иллюстрируя общие преимущества, один из клиентов заявил: «У нас есть строгое соглашение об уровне сервиса (SLA) с нашими клиентами и установленные жесткие штрафы, когда мы не способны удовлетворить SLA. Но гораздо большей потерей для нас является потеря доверия к нашей организации со стороны клиентов, и восстановить его гораздо сложнее и дольше, нежели просто оплатить штраф».
Поддержка технологии DHP в сервере NEC Express5800/1000 также позволяет администратору увеличивать производительность по требованию путем «горячего» добавления ресурсов в серверную среду, которая требует дополнительных ресурсов на время повышенных нагрузок. Это дает ИТ-службам возможность быть более гибкими по отношению к требованиям бизнеса.
Как сказал один заказчик: «Технология DHP с возможностью горячей замены поможет нам получить отказоустойчивость 99,999%. Возможность динамически распределять ресурсы на лету — обрабатывать непредвиденные события — позволит нам реагировать быстрее без снижения производительности».
В целом данное решение позволяет автоматически реагировать и избегать ситуаций, приводящих к простоям, прежде чем они возникнут, тем самым обеспечивая более высокую производительность и отказоустойчивость.
Заключение
Использование динамических разделов дает возможность ИТ-подразделениям компаний повысить надежность, отказоустойчивость и удобство в обслуживании критичных для бизнеса систем на базе Windows Server. И ставит это решение на одну ступень с дорогостоящими системами класса мэйнфреймов. К сожалению, технология DHP будет реализована не во всех версиях Windows Server 2008, а только в Datacenter Edition (x64/64-bit) и Itanium (IA64).
Алексей Голдбергс (http://blogs.technet.com/stbgrus) — специалист по взаимодействию с ИТ-сообществом, Microsoft Россия
Дополнительные ресурсы
-
Itanium-based Solutionsand the x86 Architecture
(http://www.itaniumsolutionsalliance.org/news/whitepapers_brochures/Itanium_and_x86_white_paper.pdf) -
Reliability and Performance through the fusion of the NEC «A3» chipset and the Dual-Core Intel Itanium 2 processor
(http://www.necam.com/servers/files/NEC_intel_Express_Leaf_091506.pdf) -
Windows Hardware Error Architecture
(http://www.microsoft.com/whdc/system/pnppwr/WHEA/wheaintro.mspx) -
Virtualization and Partitioning
(http://www.microsoft.com/whdc/system/platform/server/dhp.mspx)
-