Windows Server Longhorn — новая серверная операционная система
Часть 4
Управление инфраструктурой и приложениями
Microsoft Management Console 3.0
В предыдущих частях нашего обзора мы обсудили основные понятия, связанные с серверной операционной системой, роли, которые может выполнять Windows Server 2008 (Longhorn), сервисы, а также дополнительные функции, доступные в этой операционной системе. Мы также рассмотрели вариант установки Windows Server 2008 с минимальным набором функциональности — Server Core — и обсудили транзакционную поддержку на уровне ядра (через Kernel Transaction Manager) и построенные на ее основе расширения файловой системы и функций доступа к реестру, обеспечивающие работу с этими компонентами в рамках транзакций. Знакомство с расширениями, появившимися на уровне ядра операционной системы, мы завершили рассмотрением процессов и потоков, изменений в сетевом стеке, а также вопросов, связанных с порядком загрузки операционной системы.
В этой части мы начнем рассматривать технологии, связанные с управлением инфраструктурой и приложениями, выполняющимися на ее основе.
Управление инфраструктурой и приложениями
В постоянно изменяющемся современном мире очень важно, чтобы все бизнес-приложения и поддерживающая их работу инфраструктура функционировали стабильно и могли отвечать на любые запросы бизнеса. Для выполнения этой задачи необходимо, чтобы ошибки, возникающие в приложениях, максимально быстро диагностировались и исправлялись непосредственно обслуживающим персоналом, включая администраторов и ИT-специалистов, без необходимости привлечения разработчиков приложений для решения возникающих проблем. Для обеспечения непрерывности бизнес-процессов нужно, чтобы центры обработки данных и бизнес-приложения были максимально управляемыми и интегрированными в существующую инфраструктуру. Стратегия Microsoft, состоящая в том, чтобы максимально облегчить создание подобных управляемых приложений, называется Dynamic Systems Initiative (DSI). В качестве технологической стратегии DSI распространяется и на продукты и технологии Microsoft, и на решения, создаваемые ее партнерами. Целью этой инициативы является динамическое расширение возможностей сотрудников, процессов и инфраструктуры за счет оптимального использования технологий. Для того чтобы приложения могли управляться через входящие в состав DSI средства, они должны быть спроектированы особым образом (Design for Operations, DFO). Далее мы рассмотрим, какие технологии, входящие в состав Microsoft Windows Vista и Windows Server 2008, позволяют сделать это возможным.
Более подробно об инициативе Dynamics Systems Initiative (DSI) можно прочитать в специальном разделе сайта Microsoft по адресу: http://www.microsoft.com/dsi. Подсистема DSI, предназначенная для управления инфраструктурой и приложениями, — Design for Operations (DFO) — поддерживается в рамках направления Patterns & Practices через набор расширений для Visual Studio 2005 — Visual Studio Management Model Designer (VSMMD) и утилиту Management Model Designer (MMD) — более подробно см.: http://www.codeplex.com/dfo. Visual Studio Management Model Designer (VSMMD) — это средство для моделирования сценариев слежения за жизнедеятельностью корпоративных приложений и создания соответствующих средств мониторинга. В состав утилиты входят генератор кода (Instrumentation Helper) и средства проверки соответствия кода заданной модели, а также руководство по созданию управляемых приложений на платформе Microsoft Windows. Утилита Management Model Designer (MMD) позволяет расширять существующие модели и может служить основой для создания пакетов управления (Management Pack) для Microsoft Operations Manager (MOM) и System Center.
К технологиям, обеспечивающим создание управляемых приложений и входящим в состав Microsoft Windows Vista и Windows Server 2008, относятся Windows Eventing 6.0, Windows Installer 4.0, Windows PowerShell, Microsoft Management Console 3.0 и Windows Task Scheduler 2.0.
Windows Eventing 6.0
Windows Eventing 6.0 — это обновленная версия технологии для сбора информации о событиях, происходящих в системе, и набор программных интерфейсов для записи информации о событиях в системный журнал Windows. Главным изменением в версии 6.0 является возможность записи в журнал структурированных данных в формате XML — это позволяет осуществлять поиск и фильтрацию по данным о событиях. Помимо этого к новинкам в Windows Eventing 6.0 можно отнести:
- манифест для событий на основе XML-документа;
- улучшенную производительность и надежность;
- улучшенное управление журналом;
- улучшенное средство просмотра журнала — Event Viewer;
- возможность перенаправления событий (Event forwarding).
Процесс создания управляемых приложений заключается в определении событий, генерируемых приложением, информации, включаемой в каждое событие, описания событий на уровне XML-манифеста (с помощью схемы EventManifest) и применении специального компилятора (message compiler, mc.exe) для создания заголовочных, ресурсных и бинарных файлов. Приложение использует эти файлы совместно с программными интерфейсами Windows Event Log API для публикации событий в системном журнале.
Для работы с журналом событий предоставляется утилита с пользовательским интерфейсом — Event Viewer. Это компонент Microsoft Management Console (MMC) для управления журналом и просмотра его содержимого и пакетная утилита WevtUtil.exe (находится в каталоге %SystemRoot%\System32). С помощью пакетной утилиты можно получить полный список журналов, поддерживаемых в системе, конфигурационную информацию, список компонентов, публикующих события (event publishers), установить дополнительные компоненты, экспортировать содержимое журнала и т.п. (рис. 1).
Рис. 1. Event Viewer
Среди новинок в Event Viewer следует отметить интеграцию с Task Manager — у пользователей и администраторов появилась возможность ассоциации событий, происходящих в системе, с запуском задач. Для этого в утилите Event Viewer необходимо выбрать интересующее событие и выполнить команду Attach Task to this Event, которая вызовет мастер Create Basic Task, реализованный в Task Scheduler. После того как базовая интеграция между событием и задачей будет описана, можно задать более детальные параметры, используя средства настройки задач, находящиеся в Task Scheduler (или включить соответствующую опцию на последней странице мастера). Созданная задача будет автоматически помещена в библиотеку Task Scheduler Library в раздел Event Viewer Tasks.
Дополнительную информацию по Windows Eventing 6.0 можно найти на сайте Microsoft по адресу: http://msdn2.microsoft.com/en-us/library/aa385780.aspx.
Windows Installer 4.0
Windows Installer — это технология, позволяющая устанавливать и удалять программное обеспечение. Новая версия — Windows Installer 4.0 — содержит ряд расширений, позволяющих упростить установку приложений. К таким расширениям, в частности, относятся:
- автоматическая поддержка Restart Manager;
- совместимость с технологией User Account Control (UAC) при работе под управлением Windows Vista и Windows Server 2008;
- совместимость с Windows Resource Protection (WRP).
Для того чтобы воспользоваться возможностями Windows Installer 4.0, необходимо создать для приложения Windows Installer Package. Дополнительную информацию о Windows Installer 4.0 можно найти сайте Microsoft по адресу: http://msdn2.microsoft.com/en-us/library/aa372866.aspx и в блоге команды, отвечающей за данную технологию, по адресу: http://blogs.msdn.com/windows_installer_team/.
Windows PowerShell
Windows PowerShell — это новая программная оболочка, реализующая функцию командной строки и скриптовый язык для платформы Windows (рис. 2). Она поставляется в составе Windows Server 2008, но также может быть установлена в Windows Vista и Windows XP (требуется наличие в системе Microsoft .NET Framework 2.0).
Рис. 2. Windows PowerShell
В состав Windows PowerShell входит более 130 стандартных инструментов командной строки и проработанный синтаксис команд, обеспечивающий системным администраторам более легкое управление системой и ускоренное выполнение автоматизированных действий. Windows PowerShell проста в адаптации, изучении и использовании, поскольку работает на основе существующей ИT-инфраструктуры. Среди основных возможностей Windows PowerShell отметим:
- полный доступ к библиотеке классов .NET Framework;
- полный доступ к существующей скриптовой инфраструктуре, включая WMI и COM;
- объектный вывод;
- встроенную безопасность;
- стопроцентную расширяемость.
Для обеспечения управляемости приложения через Windows PowerShell можно либо реализовать механизмы управляемости на основе класса .NET, либо создать полнофункциональную команду PowerShell, которая называется командлетом (cmdlet) на любом языке, поддерживающем создание .NET-компонентов.
Дополнительную информацию о Windows PowerShell можно найти на сайте Microsoft по адресу: http://msdn2.microsoft.com/en-us/library/aa139691.aspx и в блоге команды, отвечающей за данную технологию, по адресу: http://blogs.msdn.com/powershell/.
На сайте TechNet Script Center (http://www.microsoft.com/technet/scriptcenter/) представлено множество примеров использования PowerShell для выполнения различных задач администрирования системы. Помимо этого для ИT-специалистов существует особый ресурс, посвященный всем вопросам, связанным с управлением системой (включая Microsoft System Management Server, Microsoft Operations Manager, Scripting, Group Policy, PowerShell и т.д.), — этот ресурс доступен по адресу: http://myitforum.com/.
Windows PowerShell поддерживается многими партнерами Microsoft, среди которых отметим:
- FullArmor (http://www.fullarmor.com/) — расширение PowerShell для управления Group Policy;
- /n Software (http://www.nsoftware.com/powershell/) — расширение PowerShell для управления сетевыми функциями системы;
- PowerGadgets (http://www.powergadgets.com/) — средства для отображения, исследования и мониторинга корпоративных данных из любого источника, включая традиционные базы данных, текстовые файлы и т.п.;
- Quest Software (http://www.quest.com/) — графический интерфейс для Windows PowerShell: PowerGUI, командлеты для Active Directory. Компания Quest Software также поддерживает специальный сайт для разработчиков, интересующихся технологией Windows PowerShell, — http://powergui.org/index.jspa;
- Sapien Technologies (http://www.sapien.com/) — поддержка PowerShell в визуальной среде разработчика — PrimalScript 4.1.
Microsoft Management Console 3.0
Microsoft Management Console 3.0 (MMC 3.0) — это единый интерфейс для администраторов, объединяющий различные утилиты для управления системой и ее отдельными компонентами, входящие в состав Windows. Преимущество использования MMC 3.0 заключается в том, что с его помощью можно создавать утилиты для управления приложениями в рамках интерфейса, знакомого и понятного большинству администраторов и ИT-специалистов. К основным новинкам MMC 3.0 можно отнести:
- полную поддержку .NET Framework;
- существенное, по сравнению с предыдущими версиями, сокращение кода, требуемого для написания административных утилит для MMC;
- хостинг Windows Forms;
- улучшенную надежность и изоляцию отдельных компонентов Snapin;
- улучшенную функциональность и расширенные графические функции (рис. 3).
Рис. 3. Microsoft Management Console 3.0
Дополнительную информацию о Microsoft Management Console 3.0 можно найти сайте Microsoft по адресу: http://msdn2.microsoft.com/en-us/library/ms692740.aspx.
Windows Task Scheduler 2.0
Улучшенная версия Windows Task Scheduler — Windows Task Scheduler 2.0 — позволяет более предсказуемо, надежно и безопасно запускать задачи по расписанию (рис. 4). К новым возможностям Task Scheduler можно отнести поддержку управления системой и приложениями, синхронизацию задач и возможность активации задач на основе системных событий. Рекомендуется использовать Task Scheduler для решения всех задач, связанных с запуском процессов по заданному расписанию.
К улучшенным возможностям Task Scheduler 2.0 можно отнести:
• активацию и запуск задач на основе системных событий в Event log;
• возможность задания более одного механизма активации для задачи;
• улучшенную безопасность с поддержкой изоляции процессов;
• повышенные надежность и производительность;
• поддержку скриптовых языков и управления из командной строки;
• улучшенный мониторинг задач.
Задачи, выполняющиеся по расписанию, создаются либо с помощью специального мастера, либо программно. В первом случае пользователи и администраторы могут создать либо «простую» задачу с использованием мастера Create Basic Task, либо задачу с возможностью максимальной настройки всех параметров — для этого применяется мастер Create Task. Во втором случае, при программном создании задач, следует выполнить два шага: создать XML-документ, описывающий задачу (на основании схемы с пространством имен http://schemas.microsoft.com/windows/2004/02/mit/task), и сохранить его в библиотеке Task Scheduler Library, а затем зарегистрировать задачу в системе, что позволит Task Scheduler «увидеть» ее и активировать согласно заданному расписанию. Регистрация может быть выполнена либо командой Import Task (с указанием XML-файла, описывающего расписание), либо программно — через соответствующий COM-интерфейс. Рассмотрим, как выглядит XML-описание задачи, запускающей дефрагментацию диска (утилита defrag.exe) каждую среду в 01:00 начиная с 01/01/2005, при условии, что компьютер находится в состоянии простоя (см. листинг).
<?xml version=”1.0"encoding=”UTF-16"?> <Taskversion=”1.2"xmlns=”http://schemas.microsoft.com/windows/2004/02/mit/task”> <RegistrationInfo> <Source>MicrosoftCorporation</Source> <Author>MicrosoftCorporation</Author> <Description>Thistask defragments the computers hard disk drives.</Description> <URI>Microsoft\Windows\Defrag\ScheduledDefrag</URI> </RegistrationInfo> <Triggers> <CalendarTriggerid=”DefragWeeklyTrigger”> <StartBoundary>2005-01-01T01:00:00</StartBoundary> <Enabled>true</Enabled> <ScheduleByWeek> <DaysOfWeek> <Wednesday/> </DaysOfWeek> <WeeksInterval>1</WeeksInterval> </ScheduleByWeek> </CalendarTrigger> </Triggers> <Principals> <Principalid=”LocalSystem”> <UserId>SYSTEM</UserId> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <IdleSettings> <Duration>PT3M</Duration> <WaitTimeout>PT31536000S</WaitTimeout> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>true</RestartOnIdle> </IdleSettings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>true</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>true</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <ActionsContext=”LocalSystem”> <Exec> <Command>%windir%\system32\defrag.exe</Command> <Arguments>-c-i</Arguments> </Exec> </Actions> </Task> |
Не вдаваясь в подробности, обратим внимание на то, как отдельные вкладки мастера Create Task соотносятся с элементами XML-документа. Вкладка General позволяет нам задать информацию для элементов <RegistrationInfo> и <Principals>, вкладка Triggers описывает элемент <Triggers>, вкладка Actions — элементы <Actions> и <Exec>, а вкладки Conditions и Settings задают значения элемента <Settings> и его вложенных элементов. Таким образом, при необходимости программного создания той или иной задачи рекомендуется использовать мастер Create Task для генерации соответствующего XML-файла — это гарантирует создание и заполнение всех необходимых для описания задачи элементов и отсутствие ошибок в XML-файле. Дополнительную информацию о Windows Task Scheduler 2.0 можно найти сайте Microsoft по адресу: http://msdn2.microsoft.com/en-us/library/aa383614.aspx.
В следующем номере мы продолжим знакомство с Microsoft Windows Server 2008.