Quattor - Quattor
Quattor - это общий набор инструментов с открытым исходным кодом, используемый для установки, настройки и управления компьютерами. Quattor изначально разрабатывался в рамках Европейская сеть данных проект (2001-2004 гг.). С момента своего первого выпуска в 2003 году Quattor поддерживается и расширяется сообществом добровольцев, состоящим из пользователей и разработчиков, в основном из сообщества системных администраторов grid. Набор инструментов Quattor, как и другие системы управления конфигурацией, сокращает количество людей, требуемых для обслуживания кластер и способствует надежному управлению изменениями. Однако три уникальные особенности делают его особенно привлекательным для управления сетка Ресурсы:
- Федеративное управление: открытый, модульный характер набора инструментов позволяет системным администраторам в разных учреждениях совместно управлять своими распределенными ресурсами.
- Общая конфигурация и эффективность управления: Quattor поощряет повторное использование информации о конфигурации таким образом, чтобы ее можно было распространять и использовать с небольшими изменениями или без изменений на разных сайтах, что способствует распространению передовых методов без необходимости реализации конфигурации на каждом сайте. изменения.
- Согласованная модель сайта: Quattor позволяет администратору разработать модель сайта, которая после создания может использоваться для управления рядом различных ресурсов, таких как реальные машины, виртуальные машины и облачные ресурсы.
Эти функции привлекательны и вне контекста сетки. Это подтверждено растущим использованием Quattor обеими крупными коммерческими организациями. [1] и академические учреждения, большинство из которых используют набор инструментов для последовательного управления своими сетевыми и несеточными системами.
Принципы
Проблема структурирования и совместного использования компонентов в совместной системе не нова; На протяжении многих лет разработчики языков программирования подходили к этой проблеме с разных сторон. Хотя тенденции меняются, основные принципы понятны. Такие функции, как инкапсуляция, абстракция, модульность и типизация, дают очевидные преимущества. Мы считаем, что аналогичные принципы применимы при совместном использовании информации о конфигурации в административных доменах.
Набор инструментов конфигурации Quattor заимствует свою архитектуру из LCFG, улучшая его в нескольких аспектах. В основе Quattor лежит Pan, типизированный язык высокого уровня с гибкими механизмами включения, набором структур данных и функциями проверки, знакомыми современным программистам. Pan позволяет администраторам совместно создавать сложный набор шаблонов конфигурации, описывающих типы услуг, компоненты оборудования, параметры конфигурации, пользователей и т. Д. Использование высокоуровневого языка облегчает повторное использование кода способом, выходящим за рамки простого вырезания и вставки фрагментов конфигурации.
Принципы, воплощенные в Quattor, соответствуют принципам, установленным в сообществе системного администрирования. В частности, все управляемые узлы получают свои конфигурации с сервера конфигурации, поддерживаемого системой управления версиями (или системами в случае автономного управления). Это позволяет воссоздать отдельные узлы в случае отказа оборудования. Quattor обрабатывает как распределенную, так и традиционную (односайтовую) инфраструктуру.
Выделенное управление включает в себя следующие функции: согласованность в многосайтовой инфраструктуре, несколько точек управления и способность удовлетворять конкретные потребности составляющих сайтов. Для децентрализованной инфраструктуры не существует единой «правильной» модели, поэтому требуется большая гибкость в архитектуре самой системы конфигурации. Иногда группа высокоавтономных участников желает свободно сотрудничать. В этом случае на каждом сайте будет размещен довольно полный набор серверов конфигурации, при этом общая информация о конфигурации будет извлечена из общей базы данных и интегрирована с локальной конфигурацией.
Распределение задачи управления потенциально может привести к новым расходам. Например, передача информации о конфигурации по WAN вызывает проблемы с задержкой и безопасностью. Quatto позволяет размещать серверы в соответствующих местах инфраструктуры для уменьшения задержки, а использование стандартных инструментов и протоколов означает, что существующие системы безопасности (например, инфраструктура с открытым ключом) могут быть использованы для шифрования и аутентификации связи.
Quattor Архитектура
Система управления конфигурацией
Система управления конфигурацией Quattor состоит из базы данных конфигурации, в которой хранятся шаблоны конфигурации высокого уровня, компилятора Pan, который проверяет шаблоны и переводит их в профили XML или JSON, и репозитория профилей машины, который обслуживает профили клиентским узлам. В системе Quattor строго необходим только компилятор Pan; две другие подсистемы могут быть заменены любой службой, предоставляющей аналогичные функции.
Выделенное управление в междоменной среде требует аутентификации пользователей и авторизации их операций. Для базы данных конфигурации могут использоваться сертификаты X.509 из-за поддержки, предлагаемой многими стандартными инструментами, и списками управления доступом (ACL), поскольку они позволяют осуществлять детальный контроль (ACL можно прикрепить к каждому шаблону). Когда с системой взаимодействуют многие пользователи, могут возникать конфликты и неправильная конфигурация, что требует механизма отката; С этой целью был реализован простой механизм одновременных транзакций, основанный на стандартных системах контроля версий.
Модульная архитектура Quattor позволяет развертывать три подсистемы управления конфигурацией либо распределенным, либо централизованным образом. При распределенном подходе компиляция профиля (на этапе разработки) выполняется в клиентских системах, затем шаблоны проверяются в подходящей базе данных, и, наконец, развертывание инициируется путем вызова отдельной операции на сервере. Централизованный подход обеспечивает строгий контроль данных конфигурации. Бремя компиляции возлагается на центральный сервер, и пользователи могут получать доступ и изменять шаблоны только через специальный интерфейс.
Поскольку две парадигмы обеспечивают по существу одинаковые функциональные возможности, выбор между ними зависит от того, какая модель управления лучше соответствует модели управления организации. Например, централизованный подход хорошо подходит для крупных вычислительных центров из-за его строго контролируемого рабочего процесса, тогда как многосайтовые организации, такие как GRIF, предпочитают распределенный подход, поскольку он позволяет автономно обрабатывать различные части всего набора конфигурации.
Пан язык
Компилятор языка Pan панк лежит в основе набора инструментов Quattor. Он компилирует конфигурации машины, записанные в Язык конфигурации панорамирования системными администраторами и создает файлы (профили) XML или JSON, которые легко используются клиентами Quattor. Сам язык Pan имеет простой декларативный синтаксис, который позволяет одновременно определять информацию о конфигурации и связанную с ней схему. В этом разделе мы сосредоточимся только на функциях Pan, которые имеют отношение к децентрализованному управлению распределенными сайтами: проверка, повторное использование конфигурации и модульность.
Проверка. Обширные функции проверки на языке Pan максимально увеличивают вероятность возникновения проблем конфигурации во время компиляции, сводя к минимуму дорогостоящую очистку развернутой неправильной конфигурации. Pan позволяет системным администраторам определять атомарные или составные типы с соответствующими функциями проверки; когда часть схемы конфигурации привязана к типу, автоматически применяются объявленные ограничения.
Повторное использование конфигурации. Pan позволяет идентифицировать и повторно использовать информацию о конфигурации с помощью «шаблонов структуры». Они идентифицируют небольшие многоразовые фрагменты информации о конфигурации на уровне Pan, которые можно использовать всякий раз, когда администратор идентифицирует инвариантное (или почти инвариантное) поддерево конфигурации.
Модуляризация. Что касается первоначального дизайна, были разработаны две новые функции, способствующие модульности и крупномасштабному повторному использованию конфигураций: механизмы размещения имен и пути загрузки.
Полная конфигурация сайта обычно состоит из большого количества шаблонов, организованных в каталоги и подкаталоги. Интервал между именами в шаблоне Pan имитирует (и усиливает) эту организацию, как это сделано в языке Java. Иерархия пространства имен не зависит от схемы конфигурации. Схема конфигурации часто организована низкоуровневыми службами, такими как настройки брандмауэра для портов, создание учетной записи, записи ротации журналов, cron записи и тому подобное. Напротив, шаблоны Pantemplates обычно организуются на основе других критериев, таких как высокоуровневые службы (веб-сервер, почтовый сервер и т. Д.) Или ответственным лицом / группой.
Интервал между именами позволяет разделять и идентифицировать различные части конфигурации. Чтобы эффективно модулировать часть конфигурации для повторного использования, администраторы должны иметь возможность легко импортировать модули в конфигурацию сайта и настраивать их. Для этого пользователи компилятора Pan объединяют путь загрузки с интервалом между именами. Компилятор использует путь загрузки для поиска в нескольких корневых каталогах определенных именованных шаблонов; первая версия, найденная в пути загрузки, используется компилятором. Это позволяет поддерживать модули в исходном состоянии, позволяя сайтам переопределять любой конкретный шаблон.
Кроме того, разработчики модулей также могут предоставлять глобальные переменные для параметризации модуля, что позволяет системному администратору использовать модуль без необходимости понимать внутреннюю работу шаблонов модуля.
Шаблоны Quattor Working Group (QWG) используются для настройки сетки промежуточное ПО Шаблоны QWG используют все функции Pan, чтобы распределенные сайты могли совместно использовать сетку промежуточное ПО экспертиза.
Автоматизированное управление установкой
Ключевой особенностью администрирования больших распределенных инфраструктур является возможность автоматической установки компьютеров, возможно, из удаленного места. Для этой цели Quattor предоставляет модульную структуру, называемую инфраструктурой автоматизированной установки (AII). Эта структура отвечает за преобразование параметров конфигурации, содержащихся в профилях узлов, в инструкции по установке, пригодные для использования стандартными инструментами установки. Текущие модули AII используют профили узлов для настройки серверов DHCP, загрузки PXE и установки под руководством кикстарта.
Обычно AII настраивается с установочным сервером на каждом сайте. Тем не менее, вышеупомянутые технологии позволяют прозрачно реализовать многопозиционные установки путем настройки центрального сервера и соответствующих реле с использованием стандартных протоколов.
Управление конфигурацией узла
В Quattor управляемые узлы автономно обрабатывают процесс настройки; все действия инициируются локально после получения профиля конфигурации из репозитория. Каждый узел имеет набор агентов (компонентов) конфигурации, каждый из которых зарегистрирован в определенной части схемы конфигурации. Например, компонент, который управляет учетными записями пользователей. зарегистрирован по пути /software/components/accounts. Программа диспетчера, запущенная на узле, выполняет анализ только что полученной конфигурации на предмет изменений в соответствующих разделах и запускает соответствующие компоненты. Зависимости времени выполнения могут быть выражены в узлах профиль, так что частичный порядок может быть применен при выполнении компонента. Например, важно, чтобы компонент учетных записей пользователей запускался перед компонентом создания файла, чтобы гарантировать, что право собственности на файл может быть правильно указано.
По конструкции не предусмотрено никакого контура управления для обеспечения правильного выполнения компонентов конфигурации. Администраторы сайтов обычно используют стандартные системы мониторинга для обнаружения сбоев конфигурации и реагирования на них. Nagios и Lemon используются на сайтах Quattor для этой цели. Фактически, Lemon был разработан в тандеме с Quattor и предоставляет датчики для обнаружения сбоев в выполнении компонентов Quattor.
Хотя узлы обычно обновляются автоматически, администраторы могут настроить систему, чтобы отключить автоматическое развертывание изменений. Это имеет решающее значение в децентрализованной системе, где обязанности по изменению и развертыванию конфигурации могут быть разделены соответственно. Типичный сценарий состоит в том, что администраторы верхнего уровня управляют общей конфигурацией нескольких удаленных сайтов, а локальные менеджеры применяют ее в соответствии со своими политиками. Например, обновления программного обеспечения могут быть запланированы в разное время.
Смотрите также
Рекомендации
- ^ Уолл-стрит и технологии, http://www.wallstreetandtech.com/it-infrastructure/216402934