OpenLMI
OpenLMI (сокращенно Open Linux Management Infrastructure ) предоставляет общую инфраструктуру управления для систем Linux . Доступные операции включают настройку различных параметров и служб операционной системы , настройку аппаратных компонентов и мониторинг системных ресурсов. Доступ к услугам, предоставляемым OpenLMI, возможен как локально, так и удаленно с использованием нескольких языков программирования и стандартизированных API .
Исходный код проекта распространяется по лицензии GNU Lesser General Public License (LGPL) и упрощенной лицензии BSD . [1]
Обзор
[ редактировать ]OpenLMI различает агенты , контроллеры и клиентские приложения :
- Агенты OpenLMI выполняют фактические операции; они устанавливаются и запускаются в управляемых системах Linux.
- Контроллеры OpenLMI управляют агентами OpenLMI.
- Клиентские приложения взаимодействуют с контроллерами OpenLMI через четко определенные интерфейсы и языковые привязки , основанные на открытых отраслевых стандартах управления удаленными системами.
Таким образом, вместо того, чтобы предоставлять комплексное решение для управления, OpenLMI предоставляет низкоуровневые функции и API, которые могут использоваться или интегрироваться в различные платформы управления, приложения или сценарии конфигурации. [2]
OpenLMI расширяет уже существующую инфраструктуру Linux, предоставляя агенты управления, которые также выполняют задачи по настройке системы в дополнение к функциям мониторинга и отчетности. Экспортируя эти операции через стандартные интерфейсы и предоставляя агентов, выполняющих фактические операции, OpenLMI создает структуру управления , которую могут использовать различные приложения – как для настройки системы, так и для мониторинга ресурсов и производительности. Цели использования OpenLMI включают в себя готовые производственные серверы, на которых он может выполнять начальную настройку с помощью набора предопределенных «рецептов». [2]
По состоянию на декабрь 2013 г. [update]Реализованные агенты в основном выполняют операции, связанные с хранилищем, сетью и локальными учетными записями пользователей. Существуют планы по расширению разнообразия реализуемых агентов с целью обеспечения полного покрытия задач управления и настройки Linux. [2]
Исходный код OpenLMI распространяется по лицензии GNU Lesser General Public License ( LGPL ) и упрощенной лицензии BSD (также известной как лицензия FreeBSD ). [1]
Архитектура
[ редактировать ]В зависимости от их размещения и роли использования архитектура OpenLMI содержит два основных компонента: модули управления (также известные как агенты ) и инструменты управления. На каждой из управляемых систем устанавливается и работает набор модулей управления, выполняющих задачи настройки и мониторинга. Инструменты управления работают в системе управления, выполняют агрегацию собранных данных мониторинга и отправляют запросы модулям управления. Агенты общаются с внешним миром через брокер объектов OpenLMI , который также известен как контроллер. Этот брокер запросов объектов предоставляет стандартный протокол связи, обеспечивает безопасность и контроль доступа, а также предоставляет методы развертывания для агентов. [3]
Каждый агент реализует объектную модель, которая определяет атрибуты (информацию), методы (функции) и ассоциации (ссылки на другие объекты). Через контроллер эта объектная модель становится доступной для взаимодействия клиентским приложениям. Хотя в агент можно встроить всю необходимую логику, общий подход заключается в использовании и вызове существующих инструментов Linux; например, сетевой агент OpenLMI использует NetworkManager , а агент хранения использует библиотеку хранения Blivet. [3]
Фактический протокол связи использует данные XML , передаваемые по HTTPS . Хотя XML можно использовать напрямую, набор клиентских библиотек предоставляет собственные интерфейсы для ряда языков программирования; клиентские библиотеки, поставляемые OpenLMI, обеспечивают поддержку C , C++ , Python и Java . Эти интерфейсы реализованы как языковые привязки к операциям базовых системных агентов, при этом все поставляемые библиотеки предоставляют одинаковые наборы функций. поддержка утилит интерфейса командной строки (CLI). Также обеспечивается [2] [3]
Внутренне OpenLMI основан на (CIM) Distributed Management Task Force (DMTF) общей информационной модели с внутренними функциями, представленными в виде пространств имен CIM . Доступно несколько клиентов CIM с открытым исходным кодом в качестве дополнительного способа использования данных и операций, экспортированных через OpenLMI. [4] [5]
Агенты
[ редактировать ]OpenLMI Агенты , также называемые провайдерами , выполняют фактическую работу. Дистрибутив OpenLMI включает набор стандартных агентов управления, а также набор ресурсов разработки, необходимых для разработки новых агентов. Стандартные агенты OpenLMI по состоянию на апрель 2014 г. [update], являются следующие: [6]
- Хранилище
- Агент хранилища настраивает и управляет локальным и удаленным хранилищем. Возможность перечисления (обнаружения) и настройки локальных устройств хранения встроена. По состоянию на декабрь 2013 г. удаленные устройства хранения можно настраивать без поддержки их обнаружения или подготовки. Таким образом, удаленное хранилище должно быть уже подготовлено с использованием других подходов, а полученный номер логического устройства (LUN) должен быть доступен этому агенту. Поддержка предоставления удаленного хранилища запланирована в будущих выпусках. [7]
- сеть
- Сетевой агент настраивает и управляет контроллерами сетевых интерфейсов (NIC) и сетевой конфигурацией Linux в целом. Он имеет возможность перечислять (обнаруживать) и настраивать устройства, включая настройку адресов IPv4 и IPv6, шлюзов по умолчанию, DNS-серверов, управление статическими маршрутами и настройку мостов и соединений интерфейсов . [8]
- Системные службы
- Агент системных служб выполняет операции управления, связанные с системными службами и базовыми фоновыми процессами , предоставляя службам возможность, например, запускать, останавливать или перезапускать их через стандартный интерфейс OpenLMI. Этот агент также имеет возможность перечислять (обнаруживать) доступные системные службы, используя systemd интерфейс D-Bus . [9]
- Учетные записи пользователей
- Агент учетных записей пользователей настраивает и управляет локальными учетными записями пользователей, локальными группами пользователей , членством в группах и параметрами учетных записей, такими как оболочка по умолчанию , домашний каталог , пароль и срок действия пароля. Этот агент также имеет возможность перечислять (обнаруживать) доступные локальные учетные записи пользователей и локальные группы пользователей. [10]
- Программное обеспечение
- Программный агент настраивает пакеты программного обеспечения и управляет ими в управляемой системе. Он имеет возможность составить список программного обеспечения, установленного в системе, установить новое программное обеспечение, обновить существующее программное обеспечение и удалить установленное программное обеспечение. Он также имеет возможность проверять целостность установленных пакетов и их файлов, используя при этом все настроенные репозитории . [11]
- Аппаратное обеспечение
- Аппаратный агент управляет аппаратными компонентами, предоставляя подробную информацию об их наличии и связанных с ними конфигурациях. Предоставляемая информация включает в себя данные, связанные с ЦП (количество ядер, тактовую частоту и частоту FSB , размеры кэша и т. д.), системную память (размер, скорость, доступные слоты памяти, установленные модули и т. д.), данные о физических ресурсах (информацию о корпусе, доступные порты и слоты и т. д.), аккумулятор (доступная емкость, рабочее напряжение и т. д.), а также PCI устройства и мосты (доступные шины , идентификаторы устройств , производители устройств и т. д.). [12]
- Ведение журнала
- Journald Agent предоставляет доступ к записям журналов через стандартный интерфейс OpenLMI. systemd Это клиент службы журнала , который имеет доступ к записям журнала несколькими способами и предоставляет возможность хранить новые записи журнала. Journald, как структурированная система журналирования, сохраняет дополнительную информацию по каждой записи, что упрощает поиск и извлечение информации из полученных файлов журналов . [13]
- Производительность
- Агент Performance CoPilot обеспечивает доступ к различной системной статистике и данным мониторинга производительности, собранным службой Performance Co-Pilot (PCP), работающей локально на отслеживаемом хосте. PCP способен предоставлять данные мониторинга для различных служб, включая веб-серверы, электронную почту и серверы баз данных , а также среды виртуализации . Собранные данные могут иметь значения любого типа, включая целые числа , строки , числа с плавающей запятой и произвольные составные структуры данных . [14] [15]
Сравнение
[ редактировать ]OpenLMI отличается от других систем управления конфигурацией, таких как Puppet или Bcfg2 , тем, что OpenLMI не требует, чтобы детали конфигурации системы были уже известны для создания соответствующих рецептов конфигурации. Такая природа OpenLMI может обеспечить преимущества в случае, если первоначальную настройку необходимо выполнить на более широком спектре систем, имеющих разные конфигурации оборудования. [16]
Прием
[ редактировать ]Red Hat Enterprise Linux 7.0 включает поддержку OpenLMI с момента выхода первой бета-версии этого дистрибутива Linux , которая стала доступна 11 декабря 2013 года. [17] [18] Fedora 20, выпущенная 17 декабря 2013 г., также включает поддержку OpenLMI. [19] [20]
См. также
[ редактировать ]- Бкфг2
- Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
- Кукольный
- Простой протокол управления сетью (SNMP)
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Веб-сайт разработки OpenLMI» . Fedorahosted.org . Проверено 14 июля 2014 г.
- ^ Перейти обратно: а б с д «OpenLMI: настройка, управление и мониторинг систем Linux» . openlmi.org . Архивировано из оригинала 28 октября 2015 года . Проверено 11 декабря 2013 г.
- ^ Перейти обратно: а б с «OpenLMI: Архитектура» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI — Открытый интерфейс управления Linux» . blog.fpmurphy.com . 30 июня 2013 года . Проверено 11 декабря 2013 г.
- ^ «Проект OpenLMI — Часть I» . ядро-labs.org . 2 октября 2012 года . Проверено 13 декабря 2013 г.
- ^ «OpenLMI: Агенты» . openlmi.org . Проверено 18 апреля 2014 г.
- ^ «OpenLMI: Агент хранения» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Сетевой агент» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Агенты системных служб» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Агент учетных записей пользователей» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Программный агент» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Аппаратный агент» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: ведение журналов с помощью Journald» . openlmi.org . Проверено 11 декабря 2013 г.
- ^ «OpenLMI: Performance CoPilot» . openlmi.org . 23 сентября 2013 года . Проверено 18 апреля 2014 г.
- ^ «Руководство пользователя и администратора Performance Co-Pilot» (PDF) . oss.sgi.com . 6 января 2014 года . Проверено 18 апреля 2014 г.
- ^ «OpenLMI против Puppet» . techponder.wordpress.com . 14 ноября 2013 года . Проверено 11 декабря 2013 г.
- ^ «Red Hat представляет Red Hat Enterprise Linux 7, переосмысливая корпоративную операционную систему» . Красная шляпа . 10 июня 2014 г. Проверено 11 июня 2014 г.
- ^ «Red Hat объявляет о доступности бета-версии Red Hat Enterprise Linux 7» . Красная шляпа . 11 декабря 2013 года . Проверено 11 декабря 2013 г.
- ^ Расс Доти (20 декабря 2013 г.). «Управление Linux с помощью OpenLMI» . Красная шляпа . Проверено 12 июня 2014 г.
- ^ «Выпуски/20/Расписание» . Проект Федора . 18 января 2014 года . Проверено 12 июня 2014 г.