Обновление
Обновление компонентов продукта на сервере выполняется стандартными средствами пакетного менеджера с учетом особенностей работы в качестве контроллера домена.
Особенности обновления на версию 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 в состав Эллес включен сервис 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
доступен по умолчанию.
См. подробнее в разделе «Настройка клиента глобального каталога».
Получение информации о текущих версиях
Для получения информации об установленной версии пакета inno-samba выполните:
samba-tool -V inno-samba 1.3.2 (Samba 4.20.0pre1-GIT-9115c9a)
Вывод команды содержит текущую установленную версию пакета с доработками ГК «Иннотех», а также версию лежащей в основе пакета сборки исходного проекта Samba.
Если на сервере установлена промежуточная сборка, то в имени пакета в выводе также будет присутствовать номер сборки и хеш комита:
samba -V Version inno-samba 1.4.6-2286-adf179e2 (Samba 4.21-0pre1-GIT-adf179e)
Для получения информации об установленной версии пакета inno-samba-dc-exporter:
-
используйте информацию из файла version.py:
cat /app/samba-dc-exporter/version.py VERSION="1.7.3"
-
или выполните:
Для получения информации об установленной версии пакета dsm выполните:
Обновление пакета inno-samba
Процесс обновления компонента inno-samba на работающем контроллере домена включает следующие шаги:
-
подготовка к обновлению;
-
перевод контроллера домена в режим обслуживания;
-
обновление пакетов;
-
вывод контроллера домена из режима обслуживания.
Подготовка к обновлению
Перед началом процесса обновления:
-
По крайней мере на одном контроллере домена (желательно, чтобы это был контроллер с ролью
PDC_Emulator FSMO
) создайте резервную копию домена с использованием утилитыsamba-tool
(cм. раздел «Резервное копирование и восстановление»). -
Убедитесь, что на сервере настроен доступ к apt/yum-репозиторию с устанавливаемой версией, либо скачайте архив с пакетом требуемой версии (см. подробнее в разделе «Дистрибутив»).
-
Ознакомьтесь с описанием изменений, внесенных в рамках устанавливаемой версии, в файле docs/CHANGELOG.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 , позволяют изменять данные в локальной базе данных непосредственно на диске. В процессе обновления рекомендуется воздержаться от внесения таких изменений.
|
Обновление пакета 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.
Обновление пакета inno-samba-dc-exporter
Чтобы обновить пакет inno-samba-dc-exporter:
-
Проверьте текущую версию пакета:
-
Остановите сервис
samba-dc-exporter
:sudo systemctl stop samba-dc-exporter.service
-
При установке из apt/yum-репозитория — убедитесь, что требуемая версия пакета доступна:
-
Обновите пакет:
-
при обновлении из apt-репозитория до последней доступной версии:
-
при обновлении из apt-репозитория до определенной версии:
-
при обновлении с помощью скаченного локального deb-пакета:
-
при необходимости обновите пакет python3-prometheus-client (пакет требуемой версии поставляется вместе с inno-samba-dc-exporter):
-
установите требуемую версию пакета inno-samba-dc-exporter:
-
-
-
Сервис запускается автоматически после установки, используя настройки из существующих файлов /app/samba-dc-exporter/etc/config.yaml и /app/samba-dc-exporter/etc/cred. Для проверки работоспособности сервиса выполните:
sudo systemctl status samba-dc-exporter.service ● samba-dc-exporter.service - Samba DC exporter Loaded: loaded (/etc/systemd/system/samba-dc-exporter.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-03-13 14:17:01 MSK; 1min 14s ago Main PID: 4355 (python3) Tasks: 4 (limit: 4563) Memory: 55.9M CPU: 19.969s CGroup: /system.slice/samba-dc-exporter.service ├─4355 /usr/bin/python3 /app/samba-dc-exporter/start_service.py └─4389 /usr/bin/python3 /app/samba-dc-exporter/samba_exporter.py
-
Убедитесь, что метрики доступны по ожидаемому URL. Например:
curl -u dc-exporter-user:dc-exporter-password http://127.0.0.1:9099
В случае недоступности метрик по ожидаемому URL см. логи экспортера в каталоге, указанном в config.yaml.