Управление парком машин linux

Управление парком машин

Вероятно, классический вопрос, но куда копать — не вижу.

Есть парк linux-машин в +- одинаковой конфигурации. Для простоты можно представить, что офис без спец. софта.

Вопрос — куда копать в сторону пакетного управления всем этим вот? Ну типа как Active Directory, когда я на мастер-машине указываю «Установить LibreOffice» и он везде устанавливается.

Ansible, Chef, Puppet, SaltStack

Начни с Ansible так как легче всего начать. А потом уже выбирай под нужды.

Calculate linux что-то похожее пытается сделать.

Можно еще посмотреть в сторону LTSP с его fat-клиентом, если устроит одинаковая система на всех компьютерах с различающимся хомяком.

+1 к ansible и puppet

Для RHELообразных ещё есть Redhat Satellite, Foreman в девичестве.

В один клик будет возможность задеплоить новую конфигурацию для каждой из машин, при этом возможность также добавлять локальные особенности, например:

Из интересных особенностей – если ты что-то на конкретной из машин сломаешь, то у пользователя всегда будет возможность загрузить предыдущую конфигурацию без знания технических особенностей – просто выбрав предыдущую в grub.

Источник

Puppet, система управления конфигурациями. Часть I

Puppet — это инструмент, который позволяет автоматизировать настройку и управление большим парком машин. Используя Puppet вы сможете централизованно управлять конфигурациями одной, десятков, сотен и тысяч машин.

В этой статье я расскажу об основных особенностях системы.

Puppet написана на Ruby, архитектура — клиент-серверная. На каждом управляемом узле находится клиент, который периодически обращается по https к серверу за обновлениями конфигурации.

Язык управления конфигурациями

Конфигурация описывается на специальном языке. Базовыми элементами конфигурации являются ресурсы. Каждый ресурс имеет тип, атрибуты и название. Самый простой пример ресурса, файловый:

Этот ресурс включает проверку владельца файла /etc/passwd, и если он отличен от root, Puppet устанавливает юзера root хозяином этого файла.

Ресурсы можно (и обычно нужно) группировать в классы. Например, класс для Postfix будет содержать ресурсы и для установки и для настройки почтового сервера Postfix.

Одним из главных элементов описания конфигурации является узел (node). Узел позволяет описывать функциональность определённого типа. Скажем, можно описать узел «офисный десктоп», или «веб-сервер». Соответственно, для офисного десктопа будет установлено и настроено всё необходимое для офиса ПО, а для веб-сервера какой-нибудь апач или nginx.

Вообще, язык описания конфигурации поддерживает практически все фичи нормального ООП-языка. Так что, по сути получается, что вы как бы программируете поведение машин. Действительно, в результате получается довольно наглядное описание, которое легко читать и понимать.

Сообщество юзеров делится своими наработками, в терминах Puppet они называются «рецептами».

Где и как это работает ?

Следующее, что необходимо отметить, это платформонезависимость. Ваши сценарии могут разворачиваться одинаково на Linux и FreeBSD, все особенности конкретной платформы учитываются клиентом Puppet. Вы можете ознакомиться со списком поддерживаемых платформ, чтобы убедиться, что ваша любимая ОС поддерживается Puppet. Windows в этом списке нет, но сообщается, что Puppet в ней работает через cygwin.

Что касается производительности. Она и сейчас довольно неплохая. Скажем, вы можете управлять 50-100 машинами с помощью довольно средненького сервера с 2 гигами памяти. Однако, на подходе версия 0.25, в которой одной из главных фич является переход с XML-RPC на REST, что означает существенное улучшение производительности.

Кроме того, как практически любой веб-сервис, Puppet масштабируется. Puppet можно запускать с помощью nginx и Mongrel. Так что вы можете не опасаться ситуации, когда вдруг ваша организация разрастётся до больших размеров, Puppet с этой работой справится 🙂

Резюме

Завершая эту вводную статью, хочу особенно отметить тот факт, что Puppet может быть очень полезен для вас, даже если у вас всего один сервер. Имея хорошо задокументированный конфиг, в случае краха сервера вы очень быстро сможете развернуть хозяйство на другом сервере, так как установка и настройка почти всего, что нужно, будет осуществлена в автоматическом режиме.

В следующей части я опишу установку, настройку и базовые возможности Puppet.

Если вам не терпится узнать о Puppet больше прямо сейчас, милости просим в документацию 🙂

Источник

Linuxoid

OpenSource forever

Управление Linux системами при помощи m23

По мере расширения парка Linux-машин администратору потребуется удобный инструмент для управления и распространения ПО. Эту задачу вполне может решить m23.

Если в сети работает более десятка компьютеров под управлением Linux или сисадмину в день необходимо установить десяток ОС (например, в крупном магазине или интеграторе) управлять всеми процессами вручную становится неудобно. Со временем возникает потребность в максимальной автоматизации и обеспечении наглядности. ОС Linux для этого предоставляет все необходимое – SSH, BASH, cron и т.д, а вместе с некоторым опытом появляются и самописные скрипты. Очень выручают решения автоматизации вроде Puppet и Cfengine. Но многие находят этот путь сложным и главное ненаглядным. Система распространения программного обеспечения (software distribution system) m23 (m23.sourceforge.net) упрощает многие аспекты администрирования Linux, от развертывания до ежедневного сопровождения.

Читайте также:  Как установить windows если дисковод не работает

Возможности проекта m23

Фактически m23 является надстройкой над несколькими открытыми проектами –phpMyAdmin, OpenLDAP, BackupPC, Etherboot, DHCP, ATFTP, Squid, BusyBox, SSH, GnuGPG, par2, веб-сервером Apache (в качестве интерфейса и сервера доступа к файлам), PHP, MySQL (хранение конфигураций), несколькими утилитами для записи CD в Linux и еще рядом других. В качестве опциональных зависимостей при установке из пакетов указаны Postfix и Dovecot.
Используется клиент-серверная архитектура. На стороне клиента в настоящее время поддерживается развертывание и управление Debian, Ubuntu, Fedora, OpenSUSE и клонами этих дистрибутивов. Под клиентом здесь понимается любая версия ОС, которой мы будем управлять: это может быть как десктоп, так и серверный вариант. Принцип работы прост — клиентская система, загружаясь по сети при помощи PXE. или любым другим способом (например, CD), получает IP-адрес от встроенного DHCP-сервера, отправляет данные об установленном оборудовании на m23, и на основании полученных настроек устанавливает операционную систему. Администратору по сути необходимо указать МАС адрес сетевой карты, все остальное происходит автоматически.
Все установки производятся при помощи понятного веб-интерфейса. Он не локализован, но все термины общеупотребительны и к тому же по всем вопросам доступны подсказки. Например, настройка параметров для развертывания клиентских ОС производится всего за три шага; администратор лишь заполняет предложенные в окне параметры, следуя за указаниям мастера. Основные функции, обеспечиваемые сервером m23:

  • удаленное администрирование любого числа клиентских машин при помощи веб-интерфейса (в т.ч. TightVNC Java Viewer) или SSH (если браузер поддерживает протокол ssh://);
  • подключение (ассимиляция) к m23 уже работающих клиентских машин Debian или Ubuntu;
  • массовое развертывание клиентских систем с возможностью индивидуальной настройки, в том числе — создание и форматирование дисковых разделов под выбранный тип ФС, установка и удаление программ;
  • поддержка всех популярных файловых систем Linux и Software RAID (0, 1, 4, 5, 6 и 10)
  • управление группами – администратор может управлять не отдельной системой, а объединять однотипные системы в группу, членам которой через виртуального “model client” распространяются произведенные установки (обновление ПО, восстановление, задания и т.п.);
    — возможность повторного использования большинства установок;
  • управление учетными записями через LDAP
  • хранение пользовательских данных (/home) в NFS
  • создание сценариев и пакетов для установки на клиентах;
  • кэширование устанавливаемых пакетов (при помощи Squid), проверка зависимостей перед установкой, возможность создавать собственные, в том числе локальные репозитарии для инсталляции без доступа к Интернету;
  • резервное копирование и восстановление данных клиента и сервера, восстановление клиентской ОС при помощи заданных во время установки настроек;
  • сжатие и шифрование (при помощи GnuGPG) резервных копий;
  • рабочий стол KDE4, Gnome, XFce, TDE (ответвление KDE3) или без X11 (для сервера);
  • интегрирован пакет виртуализации VirtualBox OSE, позволяющий создавать в один клик виртуальные машины на сервере и клиентах m23.

Интерфейс, как и основные возможности ПО, можно изменить, воспользовавшись инструментом разработки MDK (m23 Development Kit), доступным свободно. Специальный инструмент halfSister предлагает установку предварительно настроенных дистрибутивов из сжатого образа.
В настоящее время актуальной является версия m23 12.1 “rock” (номер версии показывает год и месяц выхода). В ней добавлена поддержка OpenSUSE и Debian Lenny, проект мигрировал на новые зеркала, появились новый генератор xorg.conf, оптимизированный для гостевых систем VirtualBox, новые плагины для Nagios, поддержка основных файловых систем Linux (ранее только ext3), расширенный режим настроек пакетного менеджера, VNC консоль для доступа к VirtualBox OSE. Кроме этого в настройках появился «remote administration service» представляющий собой платный сервис, операторы которого помогают в управлении m23.
Документация у проекта есть, но как водится в мире OpenSource, некоторые вопросы описаны весьма поверхностно, хотя любой администратор, имеющий хотя бы минимальный уровень и представляющий, что в итоге нужно делать, вполне сможет самостоятельно разобраться во всех настройках. Также имеется несколько видеоруководств, помогающих увидеть весь процесс визуально.
Доступна поддержка со стороны сообщества проекта (ответы на большинство вопросов можно найти на форуме); для немецких пользователей разработчики предоставляют коммерческую поддержку на отдельном ресурсе.

Установка сервера m23

Для установки проект предлагает CD (на базе Debian), репозитарий пакетов для Debian и образ для виртуальной машины VirtualBox. Причем разработчики рекомендуют в первую очередь использовать именно CD как самый простой вариант. Установку с его помощью можно производить как на физический сервер, так и на виртуальную машину (официально VMware, VirtualBox и KVM). Рекомендуемые системные требования для сервера не выглядят большими: CPU 1GHz, RAM 256MB и HDD от 5GB, 1-2 сетевые карты (минимальные на порядок ниже). В принципе, в качестве сервера m23 вполне можно использовать ПК или ноутбук сисадмина. Второй вариант оценят аутсорсеры, которые занимаются развертыванием и настройкой рабочих станций и серверов на базе Linux. Хотя в этом случае предлагаемый разработчиками CD не очень удобен, так как при развертывании сервера m23 хочется сохранить текущую систему со всеми настройками. Здесь два выхода.
Если выбран Debian то проблем нет, просто подключаем репозитарий. Если же это Ubuntu или Linux Mint, то учитывая что репозитарии в настоящее время совместимы, m23 также вполне можно установить на компьютер. Вероятность беспроблемной установки возрастает с “чистотой” системы. Если “портить” основную систему на рабочем ПК не хочется, лучше использовать для сервера m23 виртуальную машину, которую и включать впоследствии по мере необходимости.
Сетевая карта, которая будет использована для подключения клиентов, должна быть прописана в файле /etc/network/interfaces первой. Также она должна иметь статический IP-адрес, иначе установка завершится с ошибкой.
Для определения версии дистрибутива скрипт пакета m23 проверяет файл /etc/issue на наличие слова Debian. Если таковая не обнаруживается, то установка прерывается с предупреждением

Читайте также:  Asus eee pc x101ch как установить windows

Поэтому если в качестве дистрибутива выбран Ubuntu или Linux Mint перед установкой обязательно правим файл /etc/issue.
Далее процесс одинаков и для Debian, и для Ubuntu. Экспортируем GPG-ключи:

Добавляем новые репозитарий и обновляем список пакетов:

Команда “sudo apt-cache search m23” покажет несколько пакетов. Чтобы установить все компоненты достаточно ввести:

В большинстве случаев это оптимальный выбор, хотя при необходимости можно установить систему лишь с необходимыми модулями.
Всего в процессе установки будет загружено более 200 Мб архивов. Далее последуют запросы на настройку отдельных пакетов/сервисов: TFTP, пароль администратора LDAP, веб-сервер для управления BackupPC (по умолчанию Apache, по окончании будут выведены данные для входа), создание базы MySQL для m23, настройка DHCP, создание ключа SSH, настройка Squid, создание сертификата m23-сервера (будет валидным в течение 10 лет) и настройка модулей Apache.
Установка при помощи CD по сути является стандартной для Debian; в процессе нужно будет ввести лишь сетевые настройки и пароль root. После перезагрузки открываем веб-браузер, подключаемся к серверу, при первом входе используем логин god и пароль m23 (в окне выдается подсказка, но она быстро затеняется).

Интерфейс управления m23

Окно управления m23 можно назвать традиционным. В самом верху находится строка статуса, в левой части — панель меню и по центру производятся собственно настройки. Пункты меню сгруппированы пункты по назначению:

  • Server – настройки сервера, управление файлами образов, LDAP, запуск сервисов, резервирование, контроль за учетными записями администраторов и т.д. В отдельном подменю находится активация «удаленного помощника» – “Remote administration service”.
  • Clients – управление клиентами.
  • Virtual clients – создание виртуальных машин/клиентов на базе VirtualBox OSE;
  • Groups – управление группами клиентов;
  • Packages — создание, удаление, редактирование, установка пакетов;
  • Mass tools – создание мастер-клиента, настройки которого будут использованы для остальных в качестве эталонных;
  • Tools – создание загрузочных дисков для клиентов, не поддерживающих PXE;
  • Plugins – обзор и установка плагинов;
  • Support – ссылка на различные ресурсы поддержки.

Назначение многих параметров интуитивно понятно, хотя с порядком настройки необходимо немного разобраться. После первой регистрации обязательно создаем новую учетную запись администратора в Server settings — Manage administrators, после чего появляется возможность удалить пользователя god.
Перед тем как приступить непосредственно к развертыванию клиентских машин, рекомендуется произвести некоторые настройки. Так, после установки сервера m23 мы имеем готовый OpenLDAP-сервер и профиль, который затем можно будет выбрать в настройках. Если в дальнейшем планируется использовать другой LDAP-сервер, лучше подключить его. Для этого переходим в Server -> Server settings и нажимаем ссылку LDAP, а затем в окне Manage LDAP servers указываем параметры подключения к нужному LDAP-серверу, прописав его название, IP-адрес и пароль администратора. После этого профиль можно сохранить.
В m23 дистрибутив устанавливается в основном посредством сетевой загрузки, администратор может самостоятельно указать любые источники/репозитарии пакетов — HTTP, FTP, CDROM и так далее. Нужный шаблон настраивается в Packages –> Package sources, а сам процесс очень напоминает редактирование /etc/apt/source.list. Для каждого набора возможно указать архитектуру и доступные рабочие окружения. Чтобы проверить правильность параметров, нажимаем кнопку Test it. По окончании настройки не забываем сохранить шаблон, указав его имя и нажав кнопку Save. В поставке m23 уже настроено несколько готовых шаблонов, которые в дальнейшем можно использовать безо всякой правки. Естественно, удобнее создать локальный репозитарий, прописав его в настройках. Это на порядок ускорит установку и не потребует наличия подключения к Интернету.

Развертывание клиентских машин

Теперь можно приступать к развертыванию клиентских машин. Если в сети уже используется DHCP сервер, он может перехватывать обращения и мешать установке. Удобнее его на время деактивировать. Если по некоторым причинам отключить сторонний DHCP нельзя, можно запретить раздавать IP определенным МАС-адресам или установить для них большую задержку. Переходим в Clients -> Add — появляется первое окно мастера, которое так и называется: Add client.

Читайте также:  Установит линукс с usb

Здесь в первую очередь заполняем обязательные параметры, обозначенные звездочкой “*”; остальные — по желанию. Нам потребуется выбрать из списка язык, указать логин и имя клиента, выбрать тип загрузки boottype, системный загрузчик, архитектуру (доступные варианты зависят от репозитория), ввести сетевые настройки (в частности МАС-адрес карты и выдаваемый IP), указать пароль обычного пользователя и root. Установив флажки, можно активировать поддержку NTP, установку принтеров и создать для клиента локальную учетную запись. Два поля ниже подсвечены другим цветом. По умолчанию LDAP не используется, но настройки в первом поле как раз и позволяют сохранить или загрузить данные учетной записи из LDAP. Во втором поле указываются данные NFS ресурса, который будет применяться для хранения домашнего каталога пользователя. В самом низу страницы дано краткое описание всех параметров (на английском). Чтобы не повторять все описанные настройки многократно, можно дать им название в Preferences и сохранить профиль. Когда настройки будут закончены, нажимаем кнопку Add.
Также в m23 предлагается отдельное меню для предварительного создания профиля Mass tools -> Client builder, в котором следует “пройти” все этапы. Позже, при создании нового клиента, можно будет просто выбирать профиль, корректируя его при необходимости.
Теперь можно запускать клиентский компьютер, не забыв подключить сетевой шнур. Сразу же будет загружена система, через некоторое время процесс остановится, а в окне клиента можно будет наблюдать диалог ожидания следующей задач (вообще монитор на клиенте не обязателен). Кто самостоятельно настраивал связку Linux + PXE + TFTPD + DHCP, могут теперь оценить, насколько m23 упрощает этот процесс.
Переходим в окно Clients –> Setup, где будут показаны все клиенты, ожидающие установки, выбираем нужный, нажимаем ссылку Setup в самом последнем столбце и сразу переходим к этапу настройки разделов жесткого диска “Client partitioning and formating”, где создаем и форматируем новые разделы, указываем точки монтирования.


Процесс, в общем, несложен, и напоминает работу с любой подобной программой. Предусмотрен вариант автоматического создания разделов Partition scheme –> Automatic partitioning -> Execute scheme, при этом будет создано два раздела: корневой (ext4) и swap. По окончании настроек нажимаем ссылку “Finalise the partitioning and formatting …” и переходим к этапу выбора дистрибутива.
Итак, в списке Package sources выбираем имя шаблона и затем, в User interface — рабочую среду. При этом в зависимости от дистрибутива доступные рабочие столы будут отличаться. Далее появляется возможность добавления пакетов, выбора места установки загрузчика и альтернативного ядра (если оно доступно). Всё. Можно приступать к установке.
Переходим в окно Clients –> Overview, где в таблице Clients overview будут показаны все известные системы. Цвет в первой колонке определяет статус:

  • Красный – клиент добавлен, но инвентаризация оборудования не завершена;
  • Желтый – клиент готов к созданию разделов и форматированию, базовая система и графический интерфейс затем будут установлены автоматически;
  • Зеленый – базовая система установлена, оборудование определено, можно добавлять дополнительные пакеты;
  • Синий – производится установка пакетов;
  • Оранжевый – произошла ошибка, клиент находится в критическом состоянии, требующем вмешательства администратора (обычно выдается подсказка по проблеме);
  • Белый – “master client”, используемый для массовой установки на другие системы;
  • Жук — клиент работает в режиме отладки.

Узлы, на которых установлен VirtualBox OSE, дополнительно помечаются значком с буквой V.
Чуть ниже расположены настройки для массовых операций. Отметив клиентов системы, можно добавить их в группу или удалить из нее. Сами группы создаются в Groups – Add, где нужно просто ввести имя новой группы.
Для Debian, Ubuntu или клонов можно подключить к серверу m23 уже установленные ОС. Одно условие – на них должен быть запущен SSH. Хотя как вариант разработчики предлагают временный скрипт:

Теперь выбираем Clients – Assimilate, где вводим следующие данные: имя, IP-адрес, логин (если root, то поле можно оставить пустым) и пароль. После этого новый клиент появится в списке известных серверу, через некоторое время статус изменится с красного на зеленый, после чего им можно будет управлять.
Щелкнув по имени клиента, переходим в Control Center, откуда можно выполнить основные настройки, получить статус и основную информацию (по оборудованию, установленным пакетам, журналу) и произвести основные настройки (установить, удалить пакеты, обновить клиента, создать образ, резервную копию и задание).

Все настройки, в общем, понятны и в особых комментариях не нуждаются. При создании образа можно выбрать как весь диск, так и отдельные разделы; результат сохраняется в каталоге /m23/data+scripts/clientImages. Просмотреть список всех образов можно, перейдя в Server — Server settings — Manage image files. Создав образ раздела, мы можем восстановить его на другом компьютере, клонировав систему.

На изучение и настройку всех основных функций, предоставляемых m23, необходимо потратить 1-2 дня, после чего свою дальнейшую деятельность уже будет тяжело представить без этого удобного инструмента.

Источник

Оцените статью