Обновление
Обновление компонентов продукта на сервере выполняется стандартными средствами пакетного менеджера с учетом особенностей работы в качестве контроллера домена.
| Перед началом процедуры обновления внимательно ознакомьтесь с разделом "Upgrade" для устанавливаемой версии в файле ReleaseNotes.md, поставляемом в составе дистрибутива продукта, и таблицей совместимости версий «Эллес». |
Особенности обновления на отдельные версии
В разделе описываются некоторые особенности выпускаемых версий «Эллес», влияющие на процедуру обновления, включая необходимость повторного выполнения операции join, и конфигурирование (например, добавление новых сервисов).
Они должны учитываться при обновлении с любой версии ниже указанной на указанную версию и последующие версии.
1.9.0
Начиная с версии 1.9.0 в состав «Эллес» включен сервис metrics_manager, обеспечивающий формирование и предоставление метрик для мониторинга работы служб контроллера домена по протоколу LDAP.
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для формирования и получения значений метрик после обновления на версию 1.9.0 необходимо добавить на первое место в списке имя сервиса мониторинга — metrics_manager.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис metrics_manager доступен по умолчанию.
См. подробнее в разделе «Мониторинг Эллес».
1.10.0
Версия 1.10.0 содержит изменения в исходном коде, связанные с исправлением проблем репликации атрибутов. Для корректной работы исправлений в рамках существующих баз данных службы каталогов после установки версии необходимо повторно выполнить операцию присоединения (join).
Начиная с версии 1.10.0 в состав «Эллес» включен сервис lacheck, обеспечивающий периодический запуск процедуры обработки связанных атрибутов (linked attributes).
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для использования сервиса lacheck после обновления на версию 1.10.0 необходимо добавить в список его имя.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, lacheck
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис lacheck доступен по умолчанию.
См. подробнее в разделе «Настройка обработки связанных атрибутов».
Начиная с версии 1.10.0 в состав «Эллес» включен сервис disco, обеспечивающий асинхронное обнаружение (discovering) серверов глобального каталога.
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для использования сервиса disco после обновления на версию 1.10.0 необходимо добавить в список его имя.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, disco
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис disco доступен по умолчанию.
См. подробнее в разделе «Настройка клиента глобального каталога».
1.11.1
Версия 1.11.1 содержит изменения в исходном коде, связанные с поддержкой расширения схемы дополнительными атрибутами. Для корректной работы исправлений в рамках существующих баз данных службы каталогов после установки версии необходимо повторно выполнить операцию присоединения (join).
1.14.0
Начиная с версии 1.14.0 в состав «Эллес» включен сервис tdo, обеспечивающий пересчет значения атрибута trustPosixOffset.
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для использования сервиса tdo после обновления на версию 1.14.0 необходимо добавить в список его имя.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, lacheck, disco, tdo
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис tdo доступен по умолчанию.
См. подробнее в разделе «Настройка пересчета значения атрибута trustPosixOffset».
1.15.0
В процессе Kerberos-аутентификации контроллеры домена Эллес для обеспечения корректного формирования билетов обращаются к контроллерам, обладающим ролью глобального каталога. Данный процесс может занимать некоторое время, особенно в условиях, когда некоторые контроллеры с ролью глобального каталога могут быть недоступны.
Для полноценной подготовки билетов в файл krb5.conf в секцию [libdefaults] необходимо добавить строку:
kdc_timeout = 30
1.17.0
Сервис mt
Начиная с версии 1.17.0 в состав «Эллес» включен универсальный сервис mt, обеспечивающий автоматический запуск периодических задач. Например, он отвечает за запуск периодической задачи, которую в прежних версиях «Эллес» выполнял сервис tdo.
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для использования сервиса mt после обновления на версию 1.17.0 необходимо добавить в список его имя. Имя сервиса tdo необходимо удалить.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, lacheck, disco, mt
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис mt доступен по умолчанию.
Сервис core_manager
Начиная с версии 1.17.0 в состав «Эллес» включен сервис core_manager, предоставляющий gRPC API для управления доменом и контроллером домена.
Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра «Эллес» явно задано значение параметра server services, для использования сервиса core_manager после обновления на версию 1.17.0 необходимо добавить в список его имя.
Например:
[global]
...
server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, lacheck, disco, mt, core_manager
...
При первичной установке пакета inno-samba дополнительные действия не требуются — сервис core_manager доступен по умолчанию.
Параметр ad dc functional level
Начиная с версии 1.17.0 параметр ad dc functional level не поддерживается. Не допускается передавать его значение в формате --option="ad dc functional level = <level>" при добавлении контроллера домена «Эллес» в существующий домен или развертывании нового домена в существующем лесу, а также явно задавать значение для него в конфигурационном файле smb.conf.
Если параметр задан в файле smb.conf, он игнорируется. При этом в логах фиксируется сообщение о наличии в конфигурации неизвестного параметра. Удалите параметр из smb.conf.
1.18.0
Для корректной работы исправлений в рамках существующих баз данных службы каталогов после установки версии необходимо повторно выполнить операцию присоединения (join).
1.19.0
Изменение структуры базы данных
В версии 1.19.0 внесены изменения в механизм хранения индексов в базе данных «Эллес».
Суть изменения
Индексы для каждого атрибута теперь хранятся в отдельных таблицах, а не совместно с основными данными. Такой подход обеспечивает ряд преимуществ:
-
существенное уменьшение размера таблиц с основными данными, что ускоряет операции полного сканирования и снижает объем оперативной памяти, необходимый для их отображения;
-
сокращение объема хранимых данных как в таблицах с основными данными, так и в индексных таблицах, поскольку ключи больше не содержат префиксы, требуемые при совместном хранении;
-
ускорение поиска по индексированным атрибутам, так как каждая индексная таблица содержит только значения одного конкретного атрибута;
-
ускорение операций добавления и удаления индексов.
Процесс миграции
Переход на новый формат хранения индексов выполняется автоматически. При первом запуске «Эллес» после обновления выполняется проверка наличия в базе данных партиции индексных записей. Если такие записи найдены, они переносятся в отдельные индексные базы данных, каждая из которых соответствует одному индексируемому атрибуту.
Этот процесс аналогичен переиндексации, которая происходит при изменении состава индексируемых атрибутов. В логе «Эллес» будут присутствовать записи вида:
Moving indexes from <partition_db_file> to separate files Moving indexes: processed <processed_index_record_number> records so far
Миграция выполняется только один раз — при первом запуске после обновления. Время переноса будет значительно меньше времени полной переиндексации. В период миграции службы «Эллес» будут недоступны, как это происходит при переиндексации.
С учетом этого рекомендуется планировать обновление в период минимальной нагрузки.
Оптимизация обработки поисковых LDAP-запросов
В версии 1.19.0 внесены изменения в механизм обработки поисковых LDAP-запросов вида prefix* и prefix*suffix.
Суть изменения
В новой версии улучшена обработка поисковых LDAP-запросов вида prefix*, где значение атрибута частично известно и требуется совпадение по началу строки, а также более сложных шаблонов prefix*suffix, в которых дополнительно требуется совпадение и по окончанию строки. Оптимизация снижает нагрузку на базу данных и ускоряет выполнение таких запросов за счет корректного использования индексов и обновленной логики подбора кандидатов.
Включение подстрочных индексов для поиска по шаблонам prefix*suffix и *suffix
Для обработки запросов вида prefix*suffix и поиска по окончанию строки (*suffix) требуется наличие подстрочного индекса. Его необходимо включить вручную, поскольку он не создается автоматически и не активируется одной только переиндексацией.
Включение подстрочного индекса возможно двумя способами:
-
установить бит
0x20в атрибутеsearchFlags(см. MS-ADTS, раздел "2.2.9 Search Flags"); -
добавить атрибут в значение конфигурационного параметра
dsdb:substring indexesв smb.conf.
Важно учитывать, что подстрочные индексы поддерживаются не для всех атрибутов, а только для тех, чьи значения являются «натуральными» строками — например, имеют синтаксис DN, OBJECTCLASS, DIRECTORY_STRING.
| См. подробнее в разделе «Включение дополнительных индексов для оптимизации поиска по атрибутам». |
Переиндексация
Для применения оптимизаций после обновления рекомендуется выполнить полную переиндексацию локальной базы данных. Это обеспечит корректное построение индексных структур для атрибутов, участвующих в префиксном (prefix*) и комбинированном (prefix*suffix) поиске.
Перед запуском переиндексации обязательно выполните все предусмотренные процедуры резервного копирования файлов базы данных (включая остановку соответствующих сервисов, создание резервных копий каталога /app/inno-samba/private/ и других данных, если это требуется вашей конфигурацией).
После подготовки выполните переиндексацию командой:
samba-tool dbcheсk --reindex
| См. подробнее об особенностях использовании команды в разделе «Проверка базы данных каталога». |
Переиндексацию желательно провести непосредственно после обновления, до начала активного использования контроллера домена.
Получение информации о текущих версиях
Для получения информации об установленной версии пакета inno-samba выполните:
samba-tool -V inno-samba 1.3.2 (Samba 4.20.0pre1-GIT-9115c9a)
Вывод команды содержит текущую установленную версию пакета с доработками «Т1 Иннотех», а также версию лежащей в основе пакета сборки исходного проекта Samba.
Если на сервере установлена промежуточная сборка, то в имени пакета в выводе также будет присутствовать номер сборки и хеш комита:
samba -V Version inno-samba 1.4.6-2286-adf179e2 (Samba 4.21-0pre1-GIT-adf179e)
Для получения информации об установленной версии пакета dsm выполните:
Обновление пакета inno-samba
Процесс обновления компонента inno-samba на работающем контроллере домена включает следующие шаги:
-
подготовка к обновлению;
-
перевод контроллера домена в режим обслуживания;
Если обновление на очередную версию предусматривает повторный ввод сервера в роли контроллера домена, вместо этого шага требуется выполнить операцию demote(см. подробное описание процедуры в разделе «Удаление контроллера домена»). -
обновление пакетов;
-
вывод контроллера домена из режима обслуживания.
Если обновление на очередную версию предусматривает повторный ввод сервера в роли контроллера домена, вместо этого шага требуется повторно выполнить операцию join(см. подробное описание процедуры в разделе «Присоединение к домену»).
Подготовка к обновлению
Перед началом процесса обновления:
-
По крайней мере на одном контроллере домена (желательно, чтобы это был контроллер с ролью
PDC_Emulator FSMO) создайте резервную копию домена. -
Убедитесь, что на сервере настроен доступ к apt/yum-репозиторию с устанавливаемой версией, либо скачайте архив с пакетом требуемой версии (см. подробнее в разделе «Дистрибутив»).
-
Ознакомьтесь с описанием изменений, внесенных в рамках устанавливаемой версии, в файле ReleaseNotes.md.
Обновление inno-samba на контроллере домена
Чтобы выполнить обновление:
-
Проверьте текущую версию пакета:
samba-tool -V
-
Переведите контроллер домена в режим обслуживания:
sudo samba-tool maintenance on
См. более подробную информацию о данном режиме работы контроллера домена в разделе «Режим обслуживания». -
Остановите службу
inno-samba:sudo systemctl stop inno-samba.serviceПосле обновления DNS-записей требуется некоторое время, чтобы клиенты потеряли связь с текущим контроллером и переключились на другой. -
При установке из репозитория — убедитесь, что требуемая версия пакета доступна:
-
Обновите пакет:
-
при обновлении из репозитория до последней доступной версии:
-
при обновлении из репозитория до определенной версии:
-
при обновлении с помощью скаченного локального пакета:
-
-
Запустите службу
inno-samba:sudo systemctl start inno-samba.service
-
Убедитесь, что служба активна:
sudo systemctl status inno-samba.service * inno-samba.service - Samba AD Daemon Loaded: loaded (/lib/systemd/system/inno-samba.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-03-13 11:50:34 MSK; 4h 2min ago Main PID: 515 (samba) Status: "samba: ready to serve connections..." Tasks: 60 (limit: 4633) Memory: 397.5M CPU: 42min 5.883s CGroup: /system.slice/inno-samba.service ├─ 515 samba: root process . ├─ 686 samba: tfork waiter process(687) ├─ 687 samba: task[s3fs] pre-fork master ├─ 688 samba: tfork waiter process(689) ├─ 689 samba: task[rpc] pre-fork master ├─ 690 samba: tfork waiter process(692) ├─ 691 samba: tfork waiter process(693) ... -
Убедитесь в отсутствии ошибок в лог-файлах «Эллес».
Для получения текущего пути к логам, например, используйте команду
samba -b | grep LOGFILEBASEилиtestparm -sv | grep 'log file'.Для получения текущих настроек логирования используйте команду
testparm -sv | grep 'log level'. -
Выведите контроллер домена из режима обслуживания:
sudo samba-tool maintenance off
-
Проверьте работоспособность «Эллес» — например, убедитесь, что пользователи могут входить в домен через обновленный контроллер.
Обновление inno-samba на нескольких контроллерах домена
Во избежание потери данных при необходимости обновления нескольких контроллеров домена «Эллес» рекомендуется придерживаться следующей последовательности шагов:
-
Выполните обновление пакета inno-samba на контроллере домена, который либо не имеет роли FSMO, либо имеет наименьшее количество таких ролей.
-
Убедитесь, что между контроллерами домена корректно работает репликация:
samba-tool drs showrepl -
Выполните обновление на остальных контроллерах домена — обновляйте контроллеры один за другим, начиная с контроллеров с минимальным количеством ролей FSMO и каждый раз проверяя корректность работы репликации.
Такая последовательность обновления позволяет выявить возможные проблемы при эксплуатации новой версии пакета до начала обновления контроллера с ролью PDC_Emulator FSMO. Если найти решение для возникших проблем не удастся, можно будет вернуться на прежнюю версию без перерывов в работе домена или потери данных.
Некоторые команды, выполняемый с помощью утилиты samba-tool, позволяют изменять данные в локальной базе данных непосредственно на диске. В процессе обновления рекомендуется воздержаться от внесения таких изменений.
|
Обновление пакета elles-dns-dyndb
Чтобы обновить пакет elles-dns-dyndb на сервере с ОС Astra Linux:
-
Проверьте текущую версию пакета:
apt-cache policy elles-dns-dyndb | head -n 2 elles-dns-dyndb: Installed: 1.0.1-1
-
Убедитесь, что требуемая версия пакета доступна в репозитории:
apt-cache policy elles-dns-dyndb
-
Переведите DNS-сервер в режим обслуживания (рекомендуется для минимизации влияния на клиентов):
sudo systemctl stop bind9.service
-
Обновите пакет:
-
при обновлении до последней доступной версии:
sudo apt install elles-dns-dyndb -y
-
при обновлении до определенной версии:
sudo apt install elles-dns-dyndb=<specific_version> -y
-
при обновлении с помощью скаченного локального deb-пакета:
cd /path/to/package sudo apt install ./elles-dns-dyndb_<new_version>-1_amd64.deb -y
Конфигурационные файлы и ключевые компоненты (включая /etc/bind/named.conf, /etc/bind/dyndb.keytab, /usr/lib/x86_64-linux-gnu/bind/dyndb-elles.so) не перезаписываются автоматически.
После обновления проверьте, что:
-
библиотека
dyndb-elles.soимеет актуальную версию; -
параметры
dyndbв named.conf остаются корректными; -
права на
dyndb.keytabсохранены (chown bind:bind,chmod 600); -
если используется
enable_ext_acl_sock true, путь к сокетуext_acl_sock_pathсоответствует настройкам в /app/inno-samba/etc/smb.conf.
-
-
-
Перезапустите DNS-сервер:
sudo systemctl start bind9.service
-
Проверьте статус службы и логи на наличие ошибок:
sudo systemctl status bind9.service sudo journalctl -u bind9 --since "5 minutes ago" | grep -i dyndb
Если в логах отсутствуют сообщения об ошибках, обновление завершено успешно.
-
Проверьте работоспособность DNS-запросов к зонам, управляемым через
elles-dns-dyndb:dig @localhost domain.example.com A dig @localhost forest.example.com A
| Обновление пакета не влияет на данные DNS в Active Directory. Зоны и записи остаются в службе каталогов. При необходимости повторной настройки интеграции см. «Установка плагина elles-dns-dyndb (пакет elles-dns-dyndb)». |
Обновление пакета elles-dns-api
Чтобы обновить пакет elles-dns-api на сервере с ОС Astra Linux:
-
Проверьте текущую версию пакета:
apt-cache policy elles-dns-api | head -n 2 elles-dns-api: Installed: 1.0.1-1
-
Убедитесь, что требуемая версия пакета доступна в репозитории:
apt-cache policy elles-dns-api
-
Обновите пакет:
-
при обновлении до последней доступной версии:
sudo apt install elles-dns-api -y
-
при обновлении до определенной версии:
sudo apt install elles-dns-api=<specific_version> -y
-
при обновлении с помощью скаченного локального deb-пакета:
cd /path/to/package sudo apt install ./elles-dns-api_<new_version>-1_amd64.deb -y
Конфигурационные файлы /etc/elles-dns-api/config.yaml, /etc/elles-dns-api/policy.csv и /etc/elles-dns-api/rbac_model.conf не перезаписываются.
Если в новой версии изменились структура или параметры конфигурации, необходимо запустить скрипт настройки повторно:
sudo elles-dns-api-setup
-
-
После обновления перезапустите сервис для применения изменений:
sudo systemctl restart elles-dns-api.service
-
Проверьте логи:
sudo journalctl -u elles-dns-api -f -n 50
Обновление пакета elles-dns-cli
Чтобы обновить пакет elles-dns-cli на сервере с ОС Astra Linux:
-
Проверьте текущую версию пакета:
apt-cache policy elles-dns-cli | head -n 2 elles-dns-cli: Installed: 1.0.1-1
-
Убедитесь, что требуемая версия пакета доступна в репозитории:
apt-cache policy elles-dns-cli
-
Обновите пакет:
-
при обновлении до последней доступной версии:
sudo apt install elles-dns-cli -y
-
при обновлении до определенной версии:
sudo apt install elles-dns-cli=<specific_version> -y
-
при обновлении с помощью скаченного локального deb-пакета:
cd /path/to/package sudo apt install ./elles-dns-cli_<new_version>-1_amd64.deb -y
Пакет
elles-dns-cliне содержит конфигурационных файлов, требующих обновления вручную. Все параметры подключения (сервер, Kerberos, TLS) определяются автоматически при запуске.После обновления не требуется перезапуск сервисов — клиент работает как утилита командной строки и использует системные настройки Kerberos.
-
-
Проверьте установку новой версии:
dnscli --version
-
Убедитесь, что клиент корректно аутентифицируется через Kerberos:
kinit <username>@<REALM> klist dnscli ZoneList --table-style=plain
Ожидаемый вывод: список AD-партиций DNS (
DomainDnsZones,ForestDnsZonesи др.).
Обновление пакета elles-dns-cli не влияет на сервер elles-dns-api, Active Directory или DNS-зоны. Клиент является чисто инструментальным средством для взаимодействия с REST API. Все аутентификационные данные (keytab, Kerberos-тикеты) и конфигурации сервера остаются нетронутыми.
|
Обновление пакета dsm
| Приводится пример обновления пакета dsm при установке на контроллере домена «Эллес». Если пакет установлен на компьютере администратора или промежуточном сервере, порядок действий по обновлению аналогичен, за исключением действий по запуску и проверке работоспособности приложения. |
Чтобы обновить пакет dsm:
-
Проверьте текущую версию пакета:
-
Остановите службу
dsm:sudo systemctl stop dsm.service
-
При установке из apt/yum-репозитория — убедитесь, что требуемая версия пакета доступна:
-
Обновите пакет:
-
при обновлении из apt/yum-репозитория до последней доступной версии:
-
при обновлении из apt/yum-репозитория до определенной версии:
-
при обновлении с помощью скаченного локального deb-пакета:
-
-
Сервис запускается автоматически после установки, используя настройки из существующего файла /opt/dsm/application.yml. Для проверки работоспособности сервиса выполните:
sudo systemctl status dsm * dsm.service Loaded: loaded (/etc/systemd/system/dsm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-03-13 09:56:17 MSK; 3h 40min ago Main PID: 1901 (dsm) Tasks: 46 (limit: 4563) Memory: 215.4M CPU: 6min 34.518s CGroup: /system.slice/dsm.service └─1901 /opt/dsm/bin/dsm -
Откройте приложение в веб-браузере на порте, указанном в файле application.yml.
В случае недоступности веб-интерфейса приложения см. логи в каталоге, указанном в application.yml.
Обновление пакета elles-ws
Чтобы обновить пакет:
-
Проверьте текущую версию пакета:
-
Убедитесь, что требуемая версия пакета доступна в репозитории:
-
Обновите пакет:
-
при обновлении до последней доступной версии:
-
при обновлении до определенной версии:
-
при обновлении с помощью скаченного локального пакета:
-
-
После обновления перезапустите сервис для применения изменений:
sudo systemctl daemon-reload sudo systemctl restart elles-ws.service
-
Проверьте логи:
sudo journalctl -u elles-ws -f -n 50
Обновление пакета elles-workstation
Чтобы обновить пакет elles-workstation на рабочей станции:
-
Проверьте текущую версию пакета:
-
Убедитесь, что требуемая версия пакета доступна в репозитории:
-
Обновите пакет:
-
при обновлении до последней доступной версии:
-
при обновлении до определенной версии:
-
при обновлении с помощью скаченного локального deb-пакета:
-
Обновлено: