Автоматизация установки и распространения образа на большое число типовых рабочих мест пользователя при помощи протокола БИТОккЕЫТ
Обсуждаются подходы к решению одной из актуальных прикладных задач системного администрирования — автоматизация процесса установки образа операционной системы и программного обеспечения на большое число рабочих мест пользователя. Требование автоматизации существенно, поскольку в штате организации редко предусматривается вспомогательный технических персонал помимо должности системного администратора, по обязанностям отвечающего за всю сеть организации, а не только за рабочие места пользователей. Всеїда имеются ограничения производственного характера, например ограничение времени неработоспособности рабочего места пользователя — обычно рабочее место пользователя не задействовано вне обычного трудового времени самого пользователя (вечернее время, выходные). Соответственно накладывается ограничение в несколько часов на время собственно установки образа или его обновления на компьютер пользователя, а точнее сразу на некоторое достаточно большое число рабочих станций (в случае, например, компьютерных классов в образовательных учреждениях). Есть несколько принципиально отличающихся подходов к решению такой задачи. Дается краткий обзор таких подходов, обсуждаются их преимущества и недостатки, приводится пример наиболее оптимального решения задачи распространения образа рабочего места пользователя дисплейного класса образовательного учреждения с помощью Буїетітадег (системы автоматизированной установки дистрибутивов типа Ііпих) и протокола БЙТопеП.
Ключевые слова: установка операционной системы, кластер, Буветітадег, протокол ВНТоггеп, РХЕ, хСАТ, технология группового вещания.
Кулябов Д.С.,
к.ф.-м.н., доцент кафедры систем телекоммуникаций РУДН, [email protected]
Королькова А.В.,
к.ф.-м.н., доцент кафедры систем телекоммуникаций РУДН, [email protected]
Введение
Установка операционной системы и программного обеспечения —типичная задача системного администрирования. Операционные системы ставятся как на серверное оборудование и кластеры, так и на автоматизированные рабочие места пользователей (в офисах, на предприятиях, в образовательных и медицинских учреждениях и т.д.). Естественным желанием любого администратора сети является автоматизация процесса установки операционных систем на большое число рабочих мест пользователей. Есть несколько принципиально отличающихся подходов к решению такой задачи. Дается краткий обзор таких подходов, приводится пример наиболее оптимального решения задачи распространения образа рабочего места пользователя дисплейного класса образовательного учреждения с помощью Systemimager (системы автоматизированной установки дистрибутивов типа Linux) [1, 2] и протокола BitTorrent [3].
Постановка задачи
В распоряжении имеется N типовых рабочих мест пользователя (дисплейный класс). Требуется за достаточно короткое время (от получаса до 1-3 часов) обеспечить установку на каждое рабочее место заранее подготовленного образа операционной системы (или несколько операционных систем — Linux и Windows например) с набором определенного программного обеспечения. Все рабочие станции являются частью локальной сети, оборудованы сетевой картой с функцией BootROM и поддержкой PXE (Preboot Execution
Environment) [4] — удаленная загрузка станций по сети. Также в наличии сервера DNS, DHCP и сервер для хранения и распространения образов операционных систем и программного обеспечения.
Особенности подготовки образов операционных систем с программным обеспечением для дисплейных классов
Под дисплейным классом понимается набор или несколько наборов достаточно унифицированных по аппаратному и программному обеспечению рабочих мест пользователя. Например, к дисплейным классам относятся компьютерные классы образовательных учреждений (школ, университетов, центров дополнительного образования). Однотипные рабочие места служащих в организациях (например, автоматизированное рабочее место медицинского работника, полицейского, офисного работника, государственного служащего, руководителя и т.п.) тоже своего рода дисплейный класс (пространственно распределенный некоторым образом).
Для дисплейных классов критичным является время доставки готового образа или его обновления до конкретной рабочей станции. Это ограничение носит производственный характер:
— у администратора нет возможности прервать учебный или производственный процесс по своему усмотрению;
— время на проведение профилактических мероприятий или отсутствует, или существенно ограничено (несколько часов);
— инфраструктурные ограничения сети: пропускная способность как сетевого, так и серверного оборудования;
— существенное ограничение в людских ресурсах — зачастую в штате организации предусматривается (и то не всегда) должность только системного администратора, по обязанностям отвечающего за всю сеть организации, а не только за рабочие места пользователей, но нет вспомогательного технического персонала.
Поэтому основной задачей администратора по обслуживанию рабочих мест пользователей является автоматизированный процесс доставки готового образа операционной системы и программным обеспечением по сети на большое число рабочих станций пользо-
Работа выполнена при частичной финансовой поддержке Министерства образования и науки Российской Федерации (проект 8.7962.2013).
вателя за достаточно короткое время с умеренной нагрузкой на инфраструктурные составляющие локальной сети.
Особенности разных типов дистрибутивов
по автоматизации установки и распространения образа
на большое число рабочих станций
1. Linux дистрибутив типа Homebrew
Операционная система (дистрибутив Linux) и набор нестандартного программного обеспечения устанавливается на одну рабочую станцию. Затем клонируется (делается полный слепок) на носитель или сервер и распространяется на другие рабочие станции.
Недостатки такого подхода:
— для каждого типа конфигурации аппаратного обеспечения нужно делать свой образ и слепок с него;
— проблема поддержания образа в актуальном состоянии (обновление, тестирование) из-за больших затрат времени на полное копирование образа на каждую рабочую станцию.
2. Windows дистрибутив
Windows дистрибутивы имеют особенности по своей установке. Сначала на диск рабочей станции копируется установочный образ и драйвера. Затем происходит развертывание операционной системы и драйверов (собственно установка). После перезагрузки устанавливаются обновления операционной системы (обычно требуется перезагрузка системы почти после каждого обновления) и только после этого устанавливается программное обеспечение по списку.
Недостатки такого подхода:
— большие затраты времени на полную установку на каждой рабочей станции;
— высокие требования к пропускной способности сети и сервера, на котором расположен образ, инфраструктурных серверов (DNS, DHCP);
— ограничение на количество одновременных подключений к серверу в процессе установки;
— отсутствие стандартной процедуры установки стороннего программного обеспечения.
3. Linux-кластер
При подготовке к работе кластера под управлением операционной системы Linux для сокращения временных и людских ресурсов предпочитают использовать так называемые "дистрибутивы из коробки" (ALTLinux, Centos (аналог RedHat), Scientific Linux и т. д.), содержащие достаточно стандартный набор программного обеспечения для работы. Но при наличии специфических требований к программному обеспечению такое решение не подходит. В этом случае на один из узлов кластера (представляющего собой по сути отдельную рабочую станцию) по сети устанавливается дистрибутив операционной системы, с помощью унифицированных процедур устанавливается и настраивается прикладное программное обеспечение в зависимости от назначения узла кластера (управляющий, вычислительный, вспомогательный, с хранением на жестком диске или без и тд). Затем готовый образ клонируется на другие узлы кластера того же типа.
Недостатки такого подхода:
— достаточно большие затраты времени на полную установку на каждом вычислительном узле кластера;
— высокие требования к пропускной способности сети и сервера, на котором расположен образ, инфраструктурных серверов (DNS, DHCP);
— ограничение на количество одновременных подключений к серверу в процессе установки;
— ребуется достаточно много места на сервере для хранения образов под каждый тип узла кластера.
Одно из решений — воспользоваться специальным инструментарием для развёртывания и администрирования больших кластеров xCAT [5, 6]. Это достаточно удобный инструмент для плановой установки и обновления образа, поскольку позволяет задействовать только небольшую часть кластера и имеет хорошие средства для управления, позволяющие установить план автоматического и распределенного по времени обновления и установки программного обеспечения. Такой подход экономит пропускную способность сети, инфраструктурных серверов и т. д
Обзор подходов к распространению (клонированию) готового дистрибутива с набором программного обеспечения
1. Системы клонирования (резервного копирования)
Простейший вариант распространения готового образа рабочей станции — применение систем клонирования (они же часто являются системами резервного копирования), например, Clonezilla [7], Norton Ghost или Symantec Ghost [8], Partimage [9], Acronis [10]. Существенные недостатки упомянутых систем — копирование образа производится по принципу точка-точка или с локального носителя (CD, DVD, переносного жесткого диска), рабочие станции должны быть абсолютно идентичны по аппаратному и программному обеспечению. Поэтому такой способ подходит, если речь идет о клонирование образа на очень небольшое число идентичных рабочих мест пользователя (до 7-10) примерно раз в год.
2. Systemimager — система автоматизированной
установки дистрибутивов типа Linux
Systemimager [1, 2] обеспечивает инсталляцию операционной системы, конфигурацию и обслуживание для больших сетей, предпочтительно с подобными или одинаковыми аппаратными средствами, для нескольких дистрибутивов. Целевая станция может загружаться с гибкого диска, CD-ROM или PXE (Preboot Execution Environment) [4] — последнее предпочтительнее.
Операционная система и набор программного обеспечения устанавливается с настройкой на одну рабочую станцию (назовем ее эталонной). Затем файловая система этой рабочей станции переносится на сервер — именно с него будет производиться установка остальных рабочих станций с помощью rsync [11]. Утилита rsync выполняет синхронизацию файлов и каталогов в двух направлениях с минимизированием трафика, используя при необходимости кодирование данных. Синхронизация файлов и каталогов происходит одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). Хотя rsync посылает по сети только изменения, даже это может потребовать, существенных сетевых ресурсов.
Сервер Systemimager должен иметь достаточно дискового пространства для образа(ов) устанавливаемой системы. Для PXE-инсталляций на сервере должен быть установлен TFTP-сервер, обязательно должны присутствовать DHCP-сервер и Perl. Аппаратное обеспечение
— практически любая станция с быстрой сетевой картой.
Клиентские станции, использующие один и тот же образ, должны иметь максимально подобное аппаратное обеспечение. Особенно это касается чипсетов сетевых карт и типов жестких дисков.
Серверная часть Systemimager устанавливается на сервер и настраивается, клиентская — на эталонную рабочую станцию. Клиентская часть Systemimager содержит информацию о разбиении диска на разделы, а также перечислены файловые системы и каталоги, которые не следует переносить в образ. Она же запускает rsync для переноса файлов образа на сервер. Образ на сервере представляет собой слепок с эталонной рабочей станции.
Затем на сервере создаются мастер-скрипты, указывающие с помощью символьной ссылки на имя образа и перечень клиентских узлов, на которые будет установлен образ. Настраивается DHCP-сервер.
На целевой рабочей станции по РХЕ запускается система, которая скачивает с сервера сценарий установки (в виде вЬвИ-файлов), копирует с помощью геупс файлы образа, запускает скрипты конфигурации системы. В результате получаем автоматизированную установку системы и программного обеспечения.
Как ни странно, но основной недостаток приведенного подхода
— протокол гБупс. Основные принципы его работы:
— клиент подготавливает список локальных файлов для синхронизации (если они есть);
— клиент запрашивает сервер, чтобы тот также подготовил свой список файлов для синхронизации;
— клиент скачивает только те файлы. Которые есть на сервере, но нет у него.
В результате время скачивания определяется суммой максимума из времени составления списка клиента и времени составления списка серверов, с временем сравнения списков и временем передачи файлов от сервера к клиенту. Соответственно при одновременном обращении к серверу нескольких клиентов за образом время синхронизации на сервере умножается на число клиентов, запрашивающих образ, что дает огромную нагрузку на сервер (его жесткий диск) и замедляет его работу
Опыт показывает, что для такого способа одновременная установка 10 рабочих станций в сети с 100 Мбит/с и образом в 40 ГБ является верхним пределом и требует порядка 6-10 часов на установку, что нельзя назвать приемлемым.
В качестве сглаживания недостатков работы с геупс было предложено использовать для передачи файлов образа технологию группового вещания (мультикастинг). Но такой подход накладывает свои ограничения — особые требования к коммутационному оборудованию (собственно поддержка мультикастинга), что не является пока стандартной функцией для всех коммутаторов.
Наконец, у разработчиков Бузівтітадвг возникла идея использовать для распространения образа протокол ВіїТоїтепї [3]. Реально идея была реализована не в проекте БуБІетітадег [1], который по сути перестал развиваться, а в проекте БАИ [12]. В этом проекте протокол мультивещания был убран, зато протокол ВіІЇопепІ был доведен до рабочего состояния.
ВіІЇопепІ — пиринговый (Р2Р) сетевой протокол для кооперативного обмена файлами. Файлы передаются частями, каждый Іоїтепі-клиент, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку на сеть и источники файлов и зависимость от каждого клиента-источника, а также обеспечивает избыточность данных.
Принцип распространения образа по протоколу ВіІЇопепІ следующий:
— как и в случае с БуБІетітадег готовый образ переносится с помощью гБупс на сервер;
— на сервере образ преобразуется в один архивированный файл;
— генерируется файл с описанием торрента, который содержит информацию о раздаче (иі^ трекера, общую информацию о фай-
лах (имя, длину и пр.) в данной раздаче и др.), хеш-суммы сегментов раздаваемых файлов и тд.;
— сервер начинает сидировать файл образа (отдаёт данные);
— клиенты загружают по PXE образ linux-системы, в котором прописаны их дальнейшие действия в виде скриптов, подключаются к серверу и начинают скачивать файл образа эталонной рабочей станции;
— следуя протоколу BiiTorreni, клиентские рабочие станции обмениваются фрагментами файла между собой (отдают их другим клиентам), не задействую при этом сам сервер;
— после того как файл образа полностью получен рабочей станцией, она прекращает раздачу файла и начинает распаковку образа;
— после окончания распаковки происходит перезагрузка и рабочая станция полностью готова к работе.
Практика показывает, что установка образа в дисплейном классе из 20-23 рабочих станций занимает около 20-40 минут. Чем больше клиентских станций, запрашивающих образ, тем быстрее пройдет установка образа во всем дисплейном классе. В данном случае критичным становится не столько пропускная способность сети, сколько производительность самих рабочих станций, поскольку большая часть времени тратится не на передачу данных от сервера к клиентам, а на распаковку образа на локальной рабочей станции.
Таким образом, получаем оптимальный способ автоматизированного распространения готового образа на типовые рабочие станции пользователя.
Заключение
Рассмотрены подходы к установке и распространению предварительно подготовленного образа операционной системы и набора программного обеспечения на большое число рабочих мест пользователей. Приведен пример наиболее оптимального решения задачи распространения образа рабочего места пользователя дисплейного класса образовательного учреждения с помощью Systemimager и протокола BiiTorreni.
Литература
1. Systemimager. — http://systemimager.org/
2. Машков В. Автоматизация установки ОС Linux на примере Systemimager // Сетевые решения. — 2007. http://www.nesior.minsk.by/sr/ 2007/04/sr70403.html
3. BiiTorreni. — http://www.bittorreni.org.
4. Preboot Execution Envronment (PXE) Specification. Version 2.1/inlet, 1999. — http://www.iniel.com/design/archives/wlm/downloads/pxespec.htm.
5. xCAT / SourceForge. — http://sourceforge.net.
6. XCAT / ALT Linux. — http://www.altlinux.org/XCAT.
7. Clonezilla. — http://clonealla.org.
8.Ghost.com. http://wwwsymantec.com/themes/themejsp?themeid=ghosi.
9. Partimage. — http://www.partimage.org/Main_Page.
10. Acronis — система резервного копирования, http://www.acronis.com.
11. rsync. — http://rsync.samba.org.
12. SALi — https://oss.trac.sara.nl/sali/wiki.
The automation of image installation and distribution on a high number of users' typical workplaces with the help BitTorrent protocol
Kulydbov D.S., PhD, associate professor, telecommunication systems department, PFUR, [email protected] Korolkova A.V., PhD, associate professor, telecommunication systems department, PFUR, [email protected]
Abstract. The paper is devoted to the approaches of solving one of the main tasks of system administration - the automation of the process of operating system and software installation on high number workplaces in limited time. The automation requirement is important because organizations rarely provide technical support personnel in addition to system administrator, who is in charge of all the organization's network, and not only for the users' desktops. In addition, there are some limitations due to working hours. For example users' workplaces are not used during evenings or weekends. So, there is a limit on time during which the image of operation system will be installed or updated not only on a single workplace, but on a high number of workplaces (for example, computer classes in educational institutions). There are several fundamentally different approaches to the solution of this problem. In this paper a brief overview of these approaches is provided. For every approach its advantages and disadvantages are discussed. The example of the optimal solution of the problem of user workplace image distribution with the help of Systemimager (Linux-like distributives automated installation system) and BitTorrent protocol is given.
Keywords: operation system installation, cluster, Systemimager, BitTorrent protocol, PXE, xCAT, broadcast technology