Простой способ установки новых систем и восстановления утерянных данных
Когда один из моих клиентов обратился ко мне с просьбой о помощи (задача состояла в том, чтобы сократить время, расходуемое на установку систем и приложений), поиск решения не потребовал больших усилий. Я предложил воспользоваться службой дистанционной установки Remote Installation Services (RIS) и средством Group Policy. Правда, на первом этапе администратор должен произвести некоторые подготовительные работы, зато в дальнейшем комбинация упомянутых средств позволит ему обойтись без множества дополнительных процедур, которые обычно приходится выполнять при установке Windows и прикладных программ. Но, может быть, еще важнее другое обстоятельство: если вдруг у исполнительного директора выйдет из строя жесткий диск, средства автоматического развертывания операционной системы и приложений могут оградить администратора от незаслуженных упреков.
Приложения: часть головоломки
На развертывание систем, когда в офисе появляется новый служащий или приходит время обновлять программы у пользователей, приходится тратить много времени, которое можно было бы использовать для решения более важных задач. Поэтому любое средство автоматизации этого процесса значительно облегчит жизнь администратора.
Для установки новой системы обычно требуется инсталлировать клиентскую операционную систему, развернуть приложения и настроить такие компоненты, как совместно используемые документы или шаблоны. Среди существующих средств установки операционной системы можно отметить службу RIS, которая поставляется с системами Windows Server 2003 и Windows 2000 Server. RIS — довольно сложный компонент, если принимать во внимание такие аспекты, как пакеты обновлений, комбинированные установки и дублирование образов, и в данной статье я не буду касаться этой части головоломки. Мы подробно рассмотрим вторую и третью фазы установки системы: установку приложений, а также восстановление документов пользователя и рабочей среды. Но администраторам следует уделить серьезное внимание всем трем фазам установки, и вот почему.
Если выполнять инсталляцию систем вручную, скорее всего, на установку операционной системы на одном компьютере придется тратить порядка двух часов. Если при этом устанавливать все пакеты обновлений и модули коррекции методом комбинированной установки или операционные системы будут предварительно установлены OEM-изготовителями, время работы может сократиться вдвое. Если все рабочие станции оснащены аналогичными аппаратными компонентами, можно инсталлировать операционную систему с помощью программных средств для работы с образами дисков. О предлагаемых корпорацией Microsoft средствах для работы с образами дисков рассказано в статье «Служба автоматического развертывания». Но, вне зависимости от избранного метода работы, администратору придется потратить какое-то время на одну только подготовку операционной системы.
Следующий шаг после инсталляции операционной системы — установка программных средств, с которыми будут работать пользователи. Время, необходимое для решения этой задачи, может колебаться в довольно значительных пределах — все зависит от числа приложений. По завершении установки приложений администратору предстоит обновлять их всякий раз, когда поставщики будут выпускать модули коррекции и средства расширения.
Автоматизация всех этих процессов не только высвобождает время сотрудников ИТ-отдела для выполнения других задач, но и обеспечивает возможность более полного контроля над тем, какие приложения получает тот или иной пользователь. Ключевым элементом в процессе автоматического управления приложениями является компонент Group Policy; с его помощью можно реализовать два варианта развертывания приложений.
Публикация или назначение приложений
С помощью Group Policy можно либо публиковать приложения, либо назначать их. В тех случаях, когда приложение публикуется, оно появляется в оснастке Add or Remove Programs панели управления, так что вопрос о том, следует ли устанавливать данное приложение, решает сам пользователь. Публиковать следует те приложения, которые могут (по желанию администратора), но не обязательно должны быть в распоряжении пользователей.
При публикации приложения можно указать его категорию (о том, как назначать приложениям категории, я расскажу несколько позднее). Как показано на экране 1, все назначенные категории тоже появляются в окне оснастки Add or Remove Programs; они служат для того, чтобы организовывать приложения в логические группы. Так, программы Microsoft Office, Office Visio и другие приложения, относящиеся к группе Office, можно отнести к группе Office; AutoCAD фирмы Autodesk и другие графические пакеты можно включить в группу CAD/Engineering/Graphics и т. д. Распределяя приложения по категориям, администратор облегчает задачу пользователей, которым приходится искать нужные программы.
Назначаемые приложения развертывают иначе, нежели публикуемые. Когда администратор назначает приложение, оно появляется в меню Start на рабочем столе пользователя, как если бы оно уже было установлено. Затем, когда пользователь запускает приложение в первый раз, программа установки выполняет процедуру оперативной инсталляции (just-in-time — JIT- installation) программы из сетевой общедоступной дистрибутивной папки. Используемый в этом случае механизм аналогичен тому, который применяется, когда пользователь устанавливает программу на локальной машине и выставляет флажок Install On First Use. В операционной системе Windows 2003 предусмотрена функция автоматической установки назначенных приложений при первой регистрации пользователя в системе; таким образом, отменяется необходимость установки по инициативе пользователя. Метод назначения следует применять к приложениям, которые обязательно должны быть в распоряжении пользователей.
Определяя, какие приложения нужно публиковать, а какие — назначать для той или иной группы пользователей, для обеспечения процедуры развертывания приложений необходимо изменить некоторые настройки службы Active Directory (AD). Например, если всем пользователям отдела обычно требуются одни и те же приложения, а структура организационных единиц AD (Organizational Units, OUs) не совпадает со структурой отделов, возможно, придется создавать новые OU и соответствующим образом корректировать их состав. В результате администратор получает возможность создавать объекты Group Policy (Group Policy Objects, GPO), которые будут предоставлять приложения пользователям по мере надобности. Для развертывания приложений, необходимых всем пользователям, можно задействовать GPO доменного уровня. Впрочем, изменение структуры пространства имен AD оправданно лишь для тех пространств имен, которые в настоящее время не структурированы. Если же пространство имен структурировано, предпочтительнее другой подход: использовать привязку GPO к группам безопасности для управления развертыванием.
После того как администратор определит, кто и каким образом будет получать те или иные приложения, можно будет начинать настройку серверов и совместно используемых ресурсов с тем, чтобы предоставлять эти приложения пользователям. Для установки приложений Group Policy применяет программу Windows Installer, поэтому подготовку к предоставлению приложений пользователям следует начинать с получения или с создания пакета Installer. Если требуемое приложение поставляется в виде файла .msi и в него не нужно в ходе развертывания вносить какие-либо модификации (например, добавлять специальные файлы или изменять варианты установки), в большинстве случаев можно ограничиться копированием исходных файлов с компакт-диска соответствующего приложения в общедоступную целевую папку на сервере.
Во многих случаях, однако, приходится оптимизировать пакет Installer или создавать его заново. С помощью одного из приложений независимых поставщиков — назовем хотя бы такие программы, как WinINSTALL от OnDemand Software, InstallShield компании InstallShield Software и Wise for Windows Installer корпорации Wise Solutions, — можно создавать новые пакеты Windows Installer или видоизменять существующие. На Web-узле Microsoft можно бесплатно загрузить программу Visual Studio Installer, однако при этом требуется, чтобы был установлен пакет Visual Studio. Можно воспользоваться продуктом WinINSTALL LE 2003 компании OnDemand Software. Это бесплатно распространяемая программа с ограниченным набором функций.
Для подготовки к развертыванию простых приложений достаточно преобразовать их файлы в один файл .msi. Если же речь идет о более сложных пакетах, таких как Microsoft Office, этим дело не ограничивается. Можно создать файл изменений для указания набора исключений, не совпадающих со стандартными установками пакета. Например, можно создать файл изменений для установки подмножества приложений Office, указать место хранения установочных файлов и другие настройки, используемые в процессе установки. Файлы изменений особенно полезны в ситуациях, когда один набор исходных файлов приложений применяется для обслуживания нескольких групп пользователей, которым требуются разные варианты установки. В таких случаях для обслуживания всех пользователей достаточно создать один файл .msi и далее применять к нему изменения с тем, чтобы обеспечить установку программ в конфигурации, необходимой для тех или иных групп.
Каждое приложение для упаковки имеет свои сильные и слабые стороны. Если у вас еще нет упаковщика, нужно выбрать время для загрузки демонстрационных копий и с помощью тестов отобрать программу, в наибольшей степени отвечающую корпоративным потребностям. Овладев процессом переупаковки приложений и создания файлов изменений, можно приступать к созданию точек установки приложений.
Настройка общедоступных точек установки
Заняться публикацией или назначением того или иного приложения средствами Group Policy можно лишь после его развертывания на сетевом сервере, где эта программа будет доступна пользователям, которые хотели бы ее установить. Каких-либо специальных служб для хранения исходных файлов приложений не требуется, так что для этой цели подойдет практически любой файловый сервер. Однако придется принять во внимание ряд обстоятельств — число пользователей, которые будут обращаться к серверу с целью установки приложений, реальную пропускную способность сетевых каналов связи, число приложений, которые будут размещены на сервере, наличие на сервере других служб и вопросы безопасности — и соответствующим образом распределить приложения по нескольким серверам.
Еще одно существенное соображение — степень готовности сервера. Важность этого показателя возрастает по мере того, как увеличивается число пользователей, которые применяют в своей работе приложения, развертываемые средствами Group Policy. Чтобы гарантировать, что применяемые для установки приложений общие ресурсы доступны пользователям даже в тех ситуациях, когда сервер выходит из строя, можно воспользоваться распределенной файловой системой Dfs операционной системы Windows 2003 и Windows 2000 Server. Dfs позволяет размещать папку с установочными файлами на нескольких серверах и добавлять такие папки в качестве копий в корневом каталоге Dfs. Если один из серверов выходит из строя, пользователи смогут устанавливать приложения из той или иной копии, содержащейся в корневом каталоге. Это перенаправление осуществляется автоматически и незаметно для пользователей и Group Policy, которые ссылаются не на абсолютный целевой маршрут, а на соответствующий требованиям UNC маршрут к копии папки в пространстве имен Dfs.
Чтобы сформировать общедоступный ресурс, нужно создать на одном из серверов папку, которая будет выполнять функцию корневого каталога для папок приложений. Следует указать необходимые разрешения и сделать папку общедоступной. Внутри этой папки нужно создать папки для отдельных приложений, затем скопировать файлы пакетов для соответствующего приложения в его папку. Для экономии дискового пространства можно сжать содержимое общедоступных папок средствами NTFS.
Создание GPO
Итак, пакет Windows Installer, предназначенный для установки необходимого приложения, у нас есть. Теперь можно приступать к подготовке объекта GPO, который будет выполнять развертывание данного приложения. Требуется открыть окно оснастки Active Directory Users and Computers консоли Microsoft Management Console (MMC), щелкнуть правой кнопкой мыши на домене или на организационной единице, к которой нужно применить избранную политику, и далее щелкнуть на пункте Properties. Перейдя на закладку Group Policy, следует создать новый объект GPO или выбрать один из существующих и щелкнуть на кнопке Edit.
Создавать пакеты для развертывания приложений нужно на ветви политики Software SettingsSoftware Installation, расположенной под ветвями Computer Configuration и User Configuration. Используйте ветвь Computer Configuration для развертывания приложений на компьютерах, которые обрабатывают данный объект GPO, и ветвь User Configuration для развертывания приложений по учетным записям пользователей, которые обрабатывают данный объект GPO. Но важно иметь в виду, что через ветвь Computer Configuration можно только назначать приложения, но не публиковать их. Если потребуется опубликовать приложение, создание или модификацию соответствующего объекта GPO следует выполнять в ветви User Configuration.
Прежде чем приступать к созданию первой политики пакета, нужно добавить категории, под которыми следует публиковать приложения (это применяемые по желанию категории, которые будут появляться у пользователей в окне оснастки Add or Remove Programs). Для этого правой клавишей мыши необходимо щелкнуть на элементе Software Installation ветви User Configuration и в раскрывшемся меню выбрать элемент Properties. На закладке General следует выбрать стандартное место хранения приложения, стандартный тип развертывания (публикация либо назначение) и варианты пользовательского интерфейса. Чуть ниже я остановлюсь на этих настройках более подробно. А сейчас перейдем на закладку Categories, щелкнем на кнопке Add и добавим нужные категории приложений.
Чтобы создать политику пакета, правой клавишей мыши требуется щелкнуть на ветви Software Installation под ветвью Computer Configuration или User Configuration и выбрать элементы New и Package. В диалоговом окне Open нужно указать путь к файлу пакета. Практически во всех ситуациях придется указывать путь UNC, только в этом случае пользователи наверняка смогут получить доступ к совместно используемому ресурсу. Абсолютный маршрут можно указывать лишь в том случае, если назначение буквы диска общедоступному ресурсу у пользователя совпадает с буквенным обозначением локального накопителя на сервере.
После того как маршрут доступа к файлу пакета указан, в окне редактора Group Policy Editor (GPE) отображаются три варианта: Published, Assigned и Advanced Published or Assigned. Если при создании политики нет необходимости добавлять файлы изменений, настраивать пакеты обновлений или указывать другие дополнительные настройки, следует выбрать первый или второй из трех перечисленных вариантов. Вариант Advanced Published or Assigned применяется лишь в тех случаях, когда возникает необходимость задействовать дополнительные настройки. Почти все настройки можно будет изменить позднее; при этом неважно, использовался первоначально один из двух базовых вариантов или вариант Advanced. Для этого нужно выполнить двойной щелчок на значке пакета в GPO. На экране откроется список свойств — тот самый, что отображается редактором GPE при выборе варианта Advanced. Но если для создания пакета требуется один или несколько файлов изменений, необходимо выбрать вариант Advanced и добавить их на этапе создания политики пакета — возможность добавления файлов изменений после развертывания пакета не предусмотрена.
Теперь на закладке General представлена общая информация о приложении и об издателе. После создания пакета открытым для изменений остается лишь одно его свойство — имя пакета в том виде, в котором оно появится в редакторе GPE. Следует перейти на закладку Deployment (она показана на экране 2) и указать тип развертывания и другие параметры развертывания. Если необходимо, чтобы приложение было установлено автоматически в тот момент, когда пользователь пытается открыть документ того типа, который обрабатывается данным приложением, нужно выбрать пункт Auto-install this application by file extension activation. Если желательно, чтобы данное приложение было удалено из системы пользователя, когда соответствующий объект GPO будет неприменим, например когда пользователь переходит в другой отдел (и, следовательно, подпадает под действие другого объекта GPO), необходимо выбрать пункт Uninstall this application when it falls out of the scope of management. Чтобы имя приложения не появлялось в списке Add or Remove Programs, нужно выбрать элемент Do not display this package in the Add/Remove Programs control panel. Чтобы в процессе установки приложения на экране отображалась только базовая информация об установке, следует выбрать элемент Basic; для отображения всей информации по процедуре установки требуется выбрать элемент Maximum. Щелкнув на Advanced, вы сможете настроить приложение таким образом, чтобы в процессе развертывания оно игнорировало языковые настройки или удаляло все более ранние свои версии, установленные без применения Group Policy.
Чтобы указать, для модернизации каких пакетов в текущем GPO или в других GPO предназначен данный пакет, нужно перейти на закладку Upgrades. Можно обозначить обновление в качестве факультативного или обязательного и указать, должно ли приложение сначала удалить существующую версию либо записать себя поверх нее.
Если ранее были добавлены категории приложений, можно на закладке Categories указать категории, в которых данное приложение будет перечислено в окне оснастки Add or Remove Programs на компьютерах пользователей. Необходимо выбрать одну из существующих категорий и щелкнуть на пункте Select, чтобы добавить ее в список избранных категорий Selected Categories для данного приложения. Любое приложение можно относить к нескольким категориям.
Если создается новый пакет, а не редактируется пакет, созданный ранее, можно перейти на закладку Modifications и добавить к пакету файлы изменений. Можно указать несколько файлов изменений и задать порядок, в котором эти файлы будут применены. Наконец, чтобы настроить разрешения для политики пакета, следует перейти на закладку Security. Например, возможна ситуация, когда некоторое число пользователей подпадает под действие соответствующего объекта GPO, но администратор не считает нужным предоставлять им данное приложение. Достаточно просто удалить разрешение Read для этих пользователей, и политика не будет к ним применяться.
Перенаправление папок пользователей
Хотя перенаправление папок не входит в число обязательных этапов, я считаю, что это важное дополнение к процедурам автоматической установки операционной системы и развертывания приложений на базе Group Policy; оно обеспечивает полную схему восстановления после аварийного сбоя. Так, если для использования операционной системы на компьютерах пользователей применяется служба RIS, пользователи могут начать работу, просто подключив новую систему к сети, инициализировав ее и выполнив несколько подсказок. Когда пользователи входят в систему после установки операционной системы, их приложения либо устанавливаются автоматически (если они назначены), либо предоставляются с помощью оснастки Add or Remove Programs (если они опубликованы). Ну а что происходит с документами пользователей?
Если они хранят документы локально и компьютер одного из пользователей выходит из строя, этому пользователю приходится восстанавливать свои документы с помощью локальных резервных копий — если таковые имеются. Если же документы пользователя хранятся в сети, восстановить их можно с использованием сетевых резервных копий или с помощью службы Volume Shadow Copy Service (VSS), входящей в комплект поставки Windows 2003. Во всех этих случаях восстановление файлов займет какое-то время и потребует определенных усилий, потому что пользователь или администратор сначала должны заняться поисками предыдущих версий. Но если перенаправить папки пользователей в их домашнюю папку на общедоступном сетевом ресурсе, для извлечения документов, потерянных на локальной системе, ничего предпринимать не придется, потому что все эти документы в неприкосновенности сохранятся на сервере. Пользователь может просто зарегистрироваться на своей новой системе, открыть папку My Documents и найти документы там, где им и положено быть. Чтобы активизировать эту функцию, следует открыть в объекте GPO ветвь User ConfigurationWindows SettingsFolder Redirection. Правой клавишей мыши нужно щелкнуть на папке My Documents под этой ветвью, выбрать элемент Properties, затем в диалоговом окне, показанном на экране 3, указать параметры перенаправления для этой папки.
Надо отметить, что в предложенной мною схеме восстановления не предусмотрено восстановление персональной настройки приложений, применяемой отдельными пользователями. Чтобы дополнить предложенную схему восстановления и поставить дело так, чтобы после восстановления все применяемые к приложениям пользовательские настройки оставались неизменными, можно использовать перемещаемые профили или ориентированные на приложения методы и средства, такие как программа Save My Settings Wizard из комплекта Microsoft Office Resource Kit.
Затраты и ограничения
Почти все инструментальные средства и технологии, необходимые для развертывания приложений с помощью Group Policy, встроены в системы Windows 2003 и Windows 2000 Server. Правда, поскольку развертывание осуществляется на базе Group Policy, выполнять эту операцию в автоматическом режиме можно только на клиентах Windows 2000 или более поздних версий. Так что речь идет о капиталовложениях лишь по одной статье — если, конечно, не придется приобретать дополнительные серверы для хранения общедоступных ресурсов, где будут размещаться установочные файлы, — и потребуется только хороший программный упаковщик, а это не такие уж обременительные расходы. Ну а для того чтобы интегрировать в систему средства RIS, вероятно, потребуются какие-то средства на приобретение PXE-совместимых адаптеров (Preboot Execution Environment, PXE) для существующих систем и, возможно, для серверного оборудования.
Средства, затраченные на приобретение упомянутых компонентов, будут, скорее всего, минимальными, если учесть сэкономленное с их помощью рабочее время, которое в других обстоятельствах администраторам пришлось бы потратить на установку систем и восстановление пользовательских данных после аварийных сбоев.
Что же касается работ, которые необходимо проделать на первом этапе подготовки к развертыванию приложений на базе политик, то их объем относительно невелик, и я гарантирую, что усилия окупятся сполна сразу же, как только наступит время для развертывания новой системы или придется восстанавливать компьютер исполнительного директора после аварийного сбоя.
Джим Бойс (jim@boyce.us) — автор и соавтор более 50 книг по программному и аппаратному обеспечению. Его последняя книга Microsoft Office Outlook 2003 Inside Out (Microsoft Press)