12 августа вышла новая версия ReOpenLDAP — форка общеизвестного OpenLDAP, с устранением массы ошибок и ряда доработок для стабильной работы репликации.
Эта версия, в некотором смысле, является юбилейной — 3 года с момента инициации проекта (публичный форк появился чуть позже). Всё это время ReOpenLDAP работает 24x7 в инфраструктуре ПАО МегаФон, обеспечивая высоконагруженную обработку запросов в multi-master кластере с full-mesh репликацией.
30 июля вышла очередная стабильная версия 1.1.2 проекта ReOpenLDAP. Основные изменения:
Исправлена масса ошибок и недочетов, внесенных ранее при переходе на актуальные версии autoconf и automake. Этим завершен ряд доработок, необходимых для эффективного формирования пакетов «без костылей».
Сборка дополнительных (contributed) модулей интегрирована и включается посредством configure-опции --enable-contrib.
В configure также добавлены опции --enable-check, --enable-hipagut, --enable-valgrind и --enable-experimental.
Переработана система логирования. Опции configure --enable-debug и --enable-syslog теперь полностью независимы.
ReOpenLDAP, также известный как «TelcoLDAP» — это форк OpenLDAP для применения в телекоммуникационной индустрии, с исправлением массы ошибок и работающей репликацией в мульти-мастер топологии.
Проект реализован для применения в инфраструктуре ОАО МегаФон — крупнейшего в России оператора мобильной связи. Сейчас ReOpenLDAP работает по всей России и доступен для всех как OpenSource с лицензией AGPL.
ReOpenLDAP — форк общеизвестного OpenLDAP, созданный в начале 2015 года с целью получения функциональной работоспособности и стабильности, достаточных для высоконагруженной промышленной (коммерческой) эксплуатации.
Одним из важнейших требований при этом является возможность построения кластера из 4 (2+2) или более узлов. В свою очередь это требует стабильной работы механизма синхронизации (репликации) по RFC4533 в режиме multi-master для full mesh топологии.
Однако, оригинальный OpenLDAP неработоспособен в такой конфигурации, механизм репликации просто теряет часть изменений, а в некоторых случаях может удалить все данные. Более того, неизвестно ни одного другого сервера LDAP, который бы корректно реализовывал RFC4533 с поддержкой multi-master и с приемлемой для эксплуатации производительностью.
Проблемы в исходной реализации синхронизации/репликации были замечены в августе 2015, и почти 9 месяцев было потрачено на их устранение.
Теперь все известные проблемы устранены, а драконовские тесты уже несколько дней показывают только стабильные результаты.
Поэтому мы готовы заявить, что в нашем ReOpenLDAP репликация/синхронизация для multi-master полностью работает как положено. И похоже, что это единственный сервер, пригодный для высоконагруженной промышленной (коммерческой) эксплуатации, причём с открытым исходным кодом.
В ReOpenLDAP добавлена поддержка «кворума» при репликации и возможность ограничения syncrepl-сеансов, находящихся в стадии первоначальной синхронизации.
В итоге это уменьшает время синхронизации multimaster-кластера при старте, одновременно существенно уменьшая пиковое потребление ресурсов (оперативной памяти и процессорного времени).
Такая синхронизации, или иначе говоря сверка записей в локальной базе с удаленной стороной, происходит всегда для refreshOnly режима и вначале refreshAndPersist.
При этом механизм репликации syncrepl формирует и сверяет в памяти списки записей c удаленной стороны (через поставщика syncprov) и записей в локальной базе.
Соответственно, именно в этот момент времени можно наблюдать пиковое потребление памяти и процессорного времени.
В кластере, состоящим из нескольких серверов работающих в режиме multi-master репликации, первоначальная синхронизация может одновременно выполняться несколькими экземплярами syncrepl.
В этом случае потребление памяти и нагрузка на CPU могут быть в разы (10 и более раз) больше чем при штатной работе.
Проблема усугубляется тем, что при конкурентной первоначальной синхронизации каждый экземпляр syncrepl будет пытаться внести в локальную базу практически идентичные изменения.
Соответственно, суммарно только один экземпляр syncrepl отрабатывает эффективно, а остальные просто в холостую, при этом мешая друг-другу.
Особо это актуально при подключении к кластеру нового сервера с «пустой» базой.
Наши нагрузочные тесты показывают уменьшение потребление памяти в 2-5 раз и одновременно уменьшение времени синхронизации multimaster-кластера от 3 до 25 раз.
--
ReOpenLDAP — потомок общеизвестного OpenLDAP, но ориентирован на промышленную эксплуатацию в сфере телекоммуникаций (высокие нагрузки, высокая доступность, 24x7). Появился в результате консервативности целей родительского проекта, что выразилось в отказе меинтейнеров Symas Corp принимать изменения улучшающие качество кода и добавление новых возможностей.
Проект реализован силами компании Петер-Сервис R&D, резидента Сколково, для применения в телеком-проектах федерального масштаба.
ReOpenLDAP — это форк OpenLDAP, который стал ответом на отказ принимать исправления, улучшающие качество кода (было убрано порядка 5000 предупреждений), и добавления новых функций. Причиной отказа являлась консервативность разработчиков исходного проекта при постановке целей.
Новая версия базируется на кодовой базе готовящегося к выпуску OpenLDAP 2.4.41, куда изначально направлялись все наши исправления.
Главное качество этой версии — работа без падений и без отказов сервиса под высокой нагрузкой с репликацией в кластере, что ранее было невозможно. В частности, исправлено 8 heisenbugs, которые существовали годами, особенно в коде репликации и LMDB-движке http://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database. Одному из багов официально почти 7 лет ;)
Добавленные функции позволяют держать нагрузку по изменениям в 2—10 раз больше оригинального OpenLDAP и до 50 — при наличии у системы хранения write-back кэша (проще говоря, RAID с батарейкой). Для точности следует отметить, что «без батарейки» производительность повышается в результате компромисса, за счет более редкой фиксации данных на диск.
Проект Pro-LDAP.ru открыт в 2011 году. Цель проекта — предоставить системным администраторам и всем интересующимся качественную документацию по службам каталогов и LDAP на русском языке. В первую очередь, планируется осуществить перевод официальной документации OpenLDAP, поскольку данный сервер службы каталогов пользуется наибольшей популярностью среди OpenSource-сообщества в России. В дальнейшем планируется перевести ряд RFC по теме, и, возможно, другие материалы. Также будет осуществляться актуализация перевода по мере внесения изменений в оригинальные документы.
Список планируемых к переводу документов можно посмотреть в разделе Ресурсы. Перед началом работы с документацией рекомендуем ознакомиться с соглашениями о переводе терминов.
Кроме того, на сайте будут размещаться хорошие статьи по сферам применения служб каталогов, их настройке и сопряжению с другими службами Unix. Естественно, планируется их постоянная актуализация при внесении изменений в реализации службы каталогов. Возможно размещение утилит и других полезных ресурсов.
Дальнейшее развитие проекта зависит от интересов системных администраторов. Предлагайте!
После весьма продолжительного периода ожидания (с середины июля прошлого года) и весьма непростого процесса тестирования, в ходе которого сроки релиза отодвигались несколько раз из-за выявленных ошибок в новом коде, OpenLDAP Project наконец официально объявил о выходе эпохального релиза OpenLDAP 2.4.24, рассеивающего все сомнения в здравии проекта.
OpenLDAP — самый популярный на сегодняшний день открытый сервер каталогов, который продолжает развиваться и совершенствоваться. Каждый новый релиз OpenLDAP добавляет функциональности, хотя изредка бывает, что и нарушает обратную совместимость.
Что же нового и интересного появилось в 2.4.24? Перечислим не всё, только основное:
В клиентских утилитах OpenLDAP добавлено управление разделением LDIF-файла на строки. Причина той самой старой головной боли со «склеиванием» длинных строк в значениях атрибутов наконец устранена.
Добавлена поддержка библиотеки MozNSS.
slapcat стал способен читать даже проблемные базы (добавилась соответствующая опция).
Бэкенд slapd-sql (чтение из SQL-баз и представление их данных в LDAP-каталоге) поддерживает даже очень длинные ключи.
Добавлен оверлэй noopsrch: теперь можно быстро получить количество результатов поиска без считывания самих результатов.
Новый оверлэй kinit позволяет самому серверу slapd получать для себя Kerberos-тикет и самостоятельно обновлять его. Протестирован пока только с MIT Kerberos, но, скорее всего, работает и с Heimdal.
Хотелось бы отметить, что в списке рассылки openldap-announce сообщение о выходе 2.4.24 пока не было опубликовано, а на официальном сайте ссылки на ChangeLog до сих пор не обновлены, так что, как это ни странно, актуальный файл CHANGES можно получить только скачав тарболл с исходным кодом.
2-я интернациональная Конференция по LDAP (LDAPCon 2009) - это технический форум для IT специалистов, интересующихся LDAP-технологиями и всем, что с ними связано: серверы каталогов, приложения для управления каталогами, управление аутентификацией и контролем доступа, мета-каталоги. 1-я интернациональная Конференция по LDAP прошла в 2007 году в Германии.
LDAPCon 2009 будет акцентирована на реализации и интеграции LDAP-серверов и LDAP-совместимых приложений. Данное мероприятие предоставляет отличную возможность встретиться поставщикам и разработчикам ПО, активным и будущим участникам LDAP-сообщества с целью обмена полезной информацией и накопленным опытом в области стратегий развёртывания и обслуживания каталогов, взаимодействия серверов и приложений, обсуждения возможностей применения LDAP в новых проектах, получения информации о самых современных тенденциях и разработках в области LDAP-технологий.
Как обычно тихо и незаметно всем подписчикам списка рассылки openldap-announce свалилось на почту новое счастье - сообщение о выходе OpenLDAP версии 2.4.17!
Традиционно для "нечётной" версии разработчики в основном акцентировали своё внимание на исправлении ошибок и недоделок, найденных пользователями с момента релиза 2.4.16, но... есть-таки и новые приятные вещи:
Теперь у нас будет замечательная утилита проверки корректности текущей схемы (разумеется, работает и с динамическим древом cn=config)
У модуля, способного сделать из вашего LDAP-каталога подобие "Матрицы" (влияющего на все операции чтения/записи) - slapo-rwm, - теперь появилась опция rwm-drop-unrequested-attrs
А поддержка мега-API SASL, о существовании которого OpenLDAP нам, кажется, уже никогда не даст забыть, расширилась и углубилась благодаря опции auxprop отсеивающей ненужные SASL-плагины.
Calculate Directory Server - это свободная операционная система на базе Gentoo Linux, представляющая собой LDAP-сервер для централизованного хранения настроек приложений, профилей и настроек пользователей, прав доступа в едином сетевом хранилище.
Возможности:
Центральная авторизация пользователей с хранением настроек сеанса на сервере.
Удобное администрирование через unix-подобные команды.
Поддержка хранения в LDAP учетных записей samba, mail, ftp, jabber и proxy сервисов.
Поддержка репликация почтовых и samba серверов.
Централизованное обновление серверов и рабочих станций.
Создание резервных копий учетных записей с настройками приложений и восстановление из них.
Возможность работать с livecd с полной загрузкой в память.
Поддерживаемые языки: английский, испанский, немецкий, португальский, итальянский, русский, украинский, польский и французский.
Поддерживается установка на HDD и USB-HDD с файловой системой: ext4, ext3, ext2, reiserfs, xfs и jfs.
Основные изменения
Все дополнительные пакеты собираются из ebuild файлов Calculate Overlay. Таким образом Calculate Directory Server на 100% совместим с Gentoo.
Добавлена поддержка итальянского и польского языков.
Добавлена поддержка настройки Proxy сервиса с авторизацией пользователей в LDAP. Группа пользователя при этом определяет диапазон доступных портов.
Добавлена поддержка настройки Samba групп в LDAP сервере.
Добавлена поддержка настройки нескольких хостов Jabber сервиса.
Для загрузки с DVD используется isolinux.
Добавлен выбор раскладки клавиатуры при загрузке с CD.
Добавлена поддержка загрузки с CD в память с извлечением диска.
Размаскировка нестабильных версий программ выполнена с учетом последней доступной на момент сборки версии.
Улучшена совместимость при загрузке с USB DVD привода.
Обновление
Для обновления предыдущей верии Calculate Directory Server, обновите установщик Calculate до версии 1.1, после чего можно установить систему из 7z архива.
OpenLDAP - свободная реализация LDAP (упрощенный протокол доступа к каталогам). Пакет OpenLDAP включает в себя сервер, клиентское программное обеспечение, средства разработки и все необходимые утилиты.
В новой версии исправлено большое количество ошибок, обновлена документация, улучшено динамическое конфигурирование, поддерживается мастер-репликация с несколькими ведущими узлами (multi-master replication).