Symantec Ghost, або Як зробити клон своїми руками

Архів номерів / 2005 / Випуск №9 (34) / Symantec Ghost, або Як зробити клон своїми руками

МИХАЇЛ ПЛАТІВ

Symantec Ghost, або Як зробити клон своїми руками

Вам, напевно, доводилося стикатися з ситуацією, коли потрібно було встановити кілька комп'ютерів з абсолютно однаковим набором програм. "Тупа механічна робота - думали ви, - чому не можна просто взяти і скопіювати?". Власне, а хто сказав, що не можна? Дуже навіть можна, і сьогодні ви дізнаєтесь як!

Підтримка парку комп'ютерів великого підприємства – завдання нелегке. Найбільш гнітюча частина - рутинна робота з обслуговування комп'ютерів. Найбільш типові завдання: встановлення ОС, підтримка її працездатності, модернізація обладнання, міграція налаштувань користувачів тощо. Для вирішення цих проблем можна використовувати платформу Windows Server System. Так, завдяки Active Directory спрощується керування обліковими записами користувачів організації, а за допомогою Remote Installation Services (RIS) можна автоматизувати процес встановлення операційної системи. Однак можливості RIS небезмежні, тому і існують продукти партнерів Microsoft, до яких належить і Symantec. Про продукт Symantec Ghost 8.0 Corporate Edition і йтиметься у цій статті.

Отже, що може робити Symantec Ghost? Повна відповідь наводиться більш ніж на трьохстах сторінках супровідного керівництва [1]. Коротко ж можна сказати так: «Symantec Ghost дозволяє значно полегшити встановлення та підтримку ОС та програмного забезпечення в організації». Коротко перерахую його найцікавіші функції:

Для кращого розуміння принципів роботи давайте подивимося на Symantec Ghost зсередини.

Малюнок 1.Структура Symantec Ghost

Як видно із рис. 1, Symantec Ghost є типовим клієнт-серверним додатком. Серверна частина представлена ​​"Службою конфігурації" (Symantec Ghost Configuration Service), СУБД Adaptive Server Anywhere 7.0 та графічною консоллю управління (Ghost Console).

У складі клієнта умовно можна виділити два основні компоненти:

  • Ghost-розділ на жорсткому диску.
  • Клієнт Ghost-консолі працює як системна служба ОС.

Існує два типи Ghost-розділів: реальний розділ на жорсткому диску (FAT12, 16 Мб) та так званий «віртуальний» розділ. Перший є звичайним завантажувальним DOS-розділом, з якого за необхідності запускається DOS-версія клієнта Ghost. (Наприклад, під час оновлення ОС комп'ютера). На відміну від реального розділу, віртуальний створюється у нефрагментованому файлі на завантажувальному системному диску. Якщо ви плануєте періодично оновлювати ОС, то краще створити виділений розділ для клієнта, якщо ж Ghost переважно використовуватиметься тільки для виконання команд, установки ПЗ, отримання інформації та рідкісної переустановки ОС, то можна обмежитися віртуальним розділом.

Робота в Ghost відбувається за наступним сценарієм:

Отже, думаю, загальний розгляд на цьому можна закінчити і плавно перейти до практичної частини нашого дослідження.

Встановлюємо Ghost – сервер

Як приклад розглянемо вирішення проблеми, яку ми розглянули вище – встановлення 10 нових комп'ютерів з можливістю їхнього періодичного скидання до початкового стану. Для ускладнення завдання вважатимемо, що комп'ютери мають різні апаратні конфігурації.

Перше, що нам потрібно зробити, – встановити Ghost-сервер. Для цього завантажуємо з сайту Symantec [2]ознайомлювальну версію Symantec Ghost 8.0 Trialware (90 Мб). Ця версія має повну функціональність, обмеженням же є максимальна кількість клієнтів, що обслуговуються - 10, а також сумарна кількість операцій, які можна виконати з консолі - 20. Процес інсталяції не повинен викликати будь-яких труднощів - стандартні діалоги майстра InstallShield. Установка з параметрами за промовчанням (всі компоненти) нас цілком влаштує.

Системні вимоги для сервера більш ніж скромні - Windows 2000 SP4 або вище з 96 Мб ОЗУ. Після встановлення сам Ghost зайняв 72 Мб на диску. Вимоги до клієнтів ще смішніші – процесор від 386. Підтримувані клієнтом ОС – від Windows 9x до Windows XP, Linux (бажано з файловою системою ext2 або ext3).

Після встановлення буде створено дві системні служби: Symantec Ghost Database Service та Symantec Ghost Win32 Configuration Server. Перша служба є СУБД Adaptive Server Anywhere 7.0, яка використовується для зберігання службових даних, друга – сервер конфігурації Ghost, що відповідає за взаємодію з Ghost-клієнтами.

У програмному меню буде створено ярлики для запуску наступних компонентів:

  • Symantec Ghost Console – як випливає з назви, це і є основний компонент, за допомогою якого здійснюється керування зареєстрованими робочими станціями.
  • GhostCast Server – за допомогою цієї програми можна вручну організовувати передачі ghost-образів клієнтам. Дуже корисно під час першого підключення комп'ютерів до консолі. Під час виконання завдань із консолі GhostCast Server буде запускатися автоматично.
  • Ghost Boot Wizard – за допомогою цієї утиліти можна формувати завантажувальні носії (дискета, компакт-диск, завантажувальний розділ жорсткого диска),містять DOS-клієнта Ghost.
  • AI Builder – інструмент створення пакетів установки ПЗ для подальшого централізованого розміщення через Ghost-консоль.
  • Ghost Explorer – програма, яка дозволяє переглядати та редагувати Ghost-образи.

На цьому ненадовго залишимо наш сервер та перейдемо до клієнтського компоненту.

Перше, що нам знадобиться зробити – створити еталонний образ, який згодом і буде розтиражований на всі комп'ютери. При цьому ми можемо використовувати як образ всього жорсткого диска (завантажувач, що містить, і всі розділи), так і образ одного системного розділу ОС. Другий спосіб є гнучкішим і, можливо, трохи складнішим. Саме його ми розглянемо.

Отже, візьмемо найбільш типовий комп'ютер і приступимо до встановлення. Насамперед перерозмітимо диск, видаливши з нього всі розділи. Для ОС та супутніх програм створимо 10 Гб primary-розділ. Залишене місце використовуємо на власний розсуд, наприклад, для зберігання файлів. В установці ОС немає жодних особливостей (тут передбачається, що використовується корпоративна версія Windows XP SP2, яка не потребує повторної активації при зміні обладнання). Єдине, при використанні XP SP2 довелося відключити режим "Простого загального доступу до файлів" і активувати виключне правило для служби "File and Printer Sharing" у параметри firewall. Дозволи для Ghost-клієнта в Firewall Windows додалися автоматично.

Для централізованого управління встановимо на машину піддослідну клієнта Ghost-консолі. Для цього зайдемо на сервер, запустимо Ghost Console та в меню Tools оберемо пункт Remote Client Install. У списку виберемо потрібний комп'ютер і натиснемо кнопку «Add >>». Потім введемо ім'я та пароль користувача, який має доступ домашині, у разі таким користувачем буде локальний адміністратор. Після натискання кнопки "Install" сервер підключиться до комп'ютера і встановить на нього Ghost-клієнта.

Якщо ж з якихось причин дистанційно встановити клієнта не вдалося, можна провести установку вручну. Дистрибутив клієнта можна взяти на компакт-диску продукту, або в папці установки сервера. При запуску необхідно вказати ім'я комп'ютера з сервером Ghost. Через деякий час після встановлення машина з'явиться у Ghost-консолі.

Після завершення інсталяції програм перейдемо до найцікавішого моменту – підготовки системи до тиражування. При цьому нам необхідно буде вирішити дві основні проблеми:

  • Досягти переносимості образу між комп'ютерами з різним обладнанням.
  • Зробити так, щоб ОС-клони змогли працювати в одній мережі.

Витоки першої проблеми ховаються в надрах архітектури Windows NT, а саме – механізм роботи ОС з обладнанням. У Windows NT існує так званий HAL (Hardware Abstraction Layer) – рівень абстракції від устаткування, що приховує від ядра ОС особливості роботи з фізичними пристроями. Нічого поганого в самій ідеї HAL немає, скоріше навіть навпаки, просто його конкретна реалізація в ОС Windows викликає деякі труднощі стосовно масового тиражування. Справа в тому, що у Windows існує кілька різних HAL. Так є HAL PIC, APIC, MP та кілька версій ACPI (див. таблицю 1). Вибір користь застосування конкретного HAL робиться на етапі установки ОС, залежно від типу наявного у комп'ютері устаткування. Так, для комп'ютерів на основі чіпсету i440LX/BX, швидше за все, буде обраний HAL PIC або APIC, у той час як на нових материнських платах (більшість випущених після 1999 року)при установці, швидше за все, буде вибрано ACPI-версію HAL. Відповідно, якщо еталонна система виготовлялася на комп'ютері з повною підтримкою ACPI (у диспетчері пристроїв для комп'ютера написано ACPI Uniprocessor PC), то розтиражувати образ можна буде тільки на 100% ACPI-сумісні комп'ютери. З іншого боку, використовувати HAL Standard PC на сучасних комп'ютерах також не зовсім правильно.

Таблиця 1. Можливі типи HAL, які використовують Windows