Обновление первого контроллера домена¶
Внимание
После обновления первого контроллера домена возникает ошибка на портале управления: «Операция завершена с ошибкой. Операция с Zabbix завершилась с ошибкой». Она ожидаема и устранится после обновления подсистемы мониторинга.
Все обновления между версиями возможны только в рамках одного исполнения: сертифицированного или несертифицированного. Для обновления до версии другого исполнения необходимо полностью развернуть систему заново.
Подготовка к обновлению¶
Внимание
Обновление операционной системы на контроллерах домена не является обязательным этапом процесса обновления ALD Pro.
Необходимость обновления ОС определяется матрицей совместимости ALD Pro (см. Матрицы совместимости и обновлений) и выбранным сценарием.
Нижеприведенные шаги 1-4 выполняются только в случае, если сценарий обновления требует обновления ОС.
Перед обновлением ALD Pro важно учитывать:
Обновление продукта ALD Pro необходимо выполнять на контроллере домена от имени учетной записи администратора системы с высоким уровнем целостности.
Обновления следует начинать с первого Контроллера Домена. Соответственно, все команды должны вводиться в его консоли (терминале).
В ALD Pro реализовано разграничение доступа к функциям системы. При обновлении системы до актуальной версии администратору должна быть назначена роль ALDPRO — Main Administrator (пользователю admin роль назначается автоматически), также учетную запись администратора необходимо добавить в группу ald trust admin. Остальным пользователям (администраторам) системы соответствующие роли при необходимости нужно назначать в ручном режиме. Подробная информация о работе ролевого доступа находится в Справочном Центре Портала Управления в разделе Роли и права доступа — Роли в системе.
Программное обеспечение ОС должно совпадать на контроллерах домена, между которыми настроена репликация. На первом КД необходимо:
Убедиться, что в файле
/etc/apt/sources.listв качестве источников пакетов для ОС зарегистрированы основной репозиторий (repository-main) и репозиторий с обновлениями основного репозитория (repository-update). При необходимости — добавить их, если имеются другие записи, то закомментировать их или удалить. Пример содержимого/etc/apt/sources.listпредставлен ниже:
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-main 1.7_x86-64 main non-free contrib
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-update 1.7_x86-64 main non-free contrib
При использовании ОС Astra Linux с установленным срочным оперативным обновлением (UU) необходимо дополнительно указать соответствующий ему frozen репозиторий. Подробнее в разделе Подключение репозиториев.
Обновить пакеты ОС, выполнив в терминале команду:
Внимание
Если на контроллере домена установлен модуль глобального каталога, то для успешного обновления ОС и последующего выполнения команды ipa-server-upgrade нужно предварительно остановить службы dirsrv@GLOBAL-CATALOG.service и ipa-gcsyncd.service.
sudo apt update && sudo apt install astra-update -y && sudo astra-update -A -r -T
Для корректной работы функций репликации на КД необходимо импортировать новые конфигурации службы каталога, выполнив команды:
sudo ipa-server-upgrade
sudo ipactl restart
Выполнить перезагрузку для завершения установки обновления.
sudo reboot
Важно
После обновления ОС Astra Linux с ранних версий до версии 1.7.8 на компонентах ниже, использующих СУБД PostgreSQL, необходимо выполнить действия, описанные в Руководство Администратора. Часть 2, раздел После обновления ОС Astra Linux до версии 1.7.8 не работает вход на портал управления, так как после обновления ОС для СУБД PostgreSQL используются устаревшие конфигурационные файлы. Компоненты, в которых возникает ошибка:
Контроллеры Домена (в том числе резервные);
Подсистема «Сетевой Репозиторий»;
Подсистема «Установка ОС по сети TFTP + PXE»;
Подсистема «Сервер Мониторинга».
Проверки, которые необходимо выполнить до начала обновления ALD Pro¶
Начиная с версии 3.2.0, утилита aldpro-server-install выполняет валидацию по умолчанию перед установкой или обновлением контроллера домена.
В рамках валидации проверяются системные требования и корректность вводимых параметров, что позволяет заранее выявить несоответствия и снизить риск ошибок в процессе установки и обновления.
Внимание
При обновлении первого контроллера домена с помощью aldpro-server-install допускается пропустить пункты 2, 6, 9, 10 из списка проверок ниже. Обновление резервных контроллеров домена выполняется через портал управления, поэтому для них необходимо выполнить все пункты из списка проверок.
Важно
Непосредственно перед началом проверок должна быть выполнена перезагрузка сервера.
Перед запуском обновления ALD Pro на КД необходимо выполнить проверки:
Перезапуск служб IPA. Необходимо убедиться, что все службы FreeIPA стартуют успешно. Выполняется на первом КД и на резервных КД:
sudo ipactl restart
sudo ipactl status
Проверка работоспособности основных служб:
krb5-kdc, dirsrv, bind9-pkcs11, aldpro-salt-minion, sssd. Полное название службыdirsrvсодержит имя домена -dirsrv@ALD-COMPANY-LAN(пример). Нельзя начинать обновление, если какие-то из служб не функционируют. Выполняется на первом КД и резервных КД:
systemctl status krb5-kdc
systemctl status dirsrv@ALD-COMPANY-LAN
systemctl status bind9-pkcs11
systemctl status aldpro-salt-minion
systemctl status sssd
Проверка получения билета Kerberos и информации о КД в системе DNS. Выполняется на первом КД и резервных КД:
kinit имя_пользователя
nslookup fqdn_контроллера_домена
Отключение служб, связанных с ролями:
celerybeatиaldpro-roles-management. Отключение производится на контроллере домена:
sudo systemctl disable --now celerybeat aldpro-roles-management
Проверка подключенных репозиториев: необходимо удостовериться, что при доступе к репозиториям не происходит ошибок и задержек, убедиться, что в файле
/etc/apt/sources.listв качестве источников пакетов для ОС зарегистрированы основной репозиторий (repository-main) и репозиторий с обновлениями основного репозитория (repository-update). При необходимости — добавить их, а если имеются другие записи, то закомментировать их или удалить. Выполняется на первом КД и резервных КД. Пример содержимого/etc/apt/sources.listпредставлен ниже:
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-main 1.7_x86-64 main non-free contrib
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-update 1.7_x86-64 main non-free contrib
А затем обновить версии пакетов:
sudo apt update
Отключение плагина
389ds - compat. Позволяет ускорить выполнение обновления. Выполняется на первом КД и резервных КД:
sudo ipa-compat-manage status
sudo ipa-compat-manage disable
Деактивация плагина
winbind_krb5_locator. Выполняется на резервных КД:
sudo update-alternatives --install /usr/lib/x86_64-linux-gnu/krb5/plugins/libkrb5/winbind_krb5_locator.so winbind_krb5_locator.so /dev/null 100
Отсутствие двух подсистем на одном хосте. Выполняется перед началом обновления первого контроллера домена.
Обновление модуля синхронизации не запущено одновременно с обновлением Системы. Обновление модуля синхронизации и миграцию его баз данных рекомендуется проводить после обновления всех резервных КД.
Проверка репликации и отсутствия односторонних соглашений о репликации:
dsconf ldap://<имя_КД> -D 'cn=Directory Manager' repl-conflict list dc=ald,dc=company,dc=lan
dsconf ldap://<имя_КД> -D 'cn=Directory Manager' repl-agmt list --suffix dc=ald,dc=company,dc=lan
ds-replcheck online -D "cn=Directory Manager" -W -m ldap://<имя_КД_1> -r ldap://<имя_КД_2> -b "<dc=доменный,dc=суффикс>"
<имя_КД_1> и <имя_КД_2> - это контроллеры домена, между которыми установлены соглашения о репликации
Обновление¶
Для установки обновления ALD Pro на первом контроллере домена необходимо подключить репозиторий aldpro, выполнив в терминале команды:
sudo nano /etc/apt/sources.list.d/aldpro.list
Полностью заменить содержимое файла aldpro.list:
deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base
Обновить индекс пакетов, выполнив в терминале команду:
sudo apt update
Обновить пакеты продукта ALD Pro командой:
sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать Установить версию, предлагаемую сопровождающим пакета, введя в командной строке Y.
Для завершения обновления первого контроллера домена необходимо выполнить одну из команд обновления ниже.
Если на первом КД не установлены модуль синхронизации и модуль глобального каталога:
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update
Если на первом КД установлены модуль синхронизации и модуль глобального каталога:
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer --setup_gc
Если на первом КД установлен только модуль синхронизации:
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer
Если на первом КД установлен только модуль глобального каталога:
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_gc
где:
-d(--domain) — имя домена;-n(--host) — имя сервера;-p(--admin_pwd) — получить пароль администратора домена из командной строки (небезопасно);--ip— IP-адрес контроллера домена, на котором предполагается обслуживать клиентов, требуется указывать явно, если на контроллере домена активно несколько сетевых интерфейсов;--update— ключ запуска процесса обновления;--setup_gc— ключ указывает, что нужно настроить установленный ранее модуль глобального каталога;--setup_syncer— ключ указывает, что нужно настроить установленный ранее модуль синхронизации.
Описание параметров скрипта можно получить с помощью ключа -h.
После ввода команды система запросит ввести пароль администратора домена. При обновлении контроллера домена ALD Pro до версии 3.2.0, с ранее установленным модулем синхронизации, процесс миграции базы данных (БД) может занять продолжительное время. Если БД содержит 30000 пользователей и более, то рекомендуется сначала обновить ALD Pro, затем, выбрав отдельный интервал профилактики, обновить модуль синхронизации, согласно Обновление с установкой Модуля Синхронизации.
Если требуется произвести обновление ALD Pro с одновременной инициализацией ранее неустановленного модуля глобального каталога и/или модуля синхронизации, то следует обратиться к соответствующим разделам Обновление с установкой Глобального Каталога и Обновление с установкой Модуля Синхронизации.
Для синхронизации модулей SaltStack необходимо выполнить команду:
sudo systemctl restart aldpro-salt-minion
Ошибки, которые могут возникнуть при обновлении системы, описаны в разделе Руководство администратора. Часть 2 → Известные проблемы.
Обновление с установкой Глобального Каталога¶
При необходимости инициализации модуля глобального каталога одновременно с обновлением ALD Pro на первом контроллере домена необходимо предварительно установить пакет глобального каталога из репозитория ALD Pro и добавить ключ --setup_gc в команду обновления aldpro-server-install.
Команда обновления контроллера домена с инициализацией модуля глобального каталога:
sudo apt update && sudo apt install aldpro-gc
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_gc
Если на КД также был установлен модуль синхронизации, то при обновлении сервера следует добавить ключ --setup_syncer, иначе подсистема обновления удалит этот модуль с сервера.
После ввода команды система запросит ввести пароль администратора домена.
Обновление с установкой Модуля Синхронизации¶
При необходимости инициализации модуля синхронизации одновременно с обновлением ALD Pro на первом контроллере домена необходимо предварительно установить пакет модуля синхронизации из репозитория ALD Pro и добавить ключ --setup_syncer в команду обновления aldpro-server-install.
Модуль синхронизации всегда устанавливается на первый контроллер домена. При установке модуля синхронизации контроллер домена ALD Pro добавляется в карточку Контроллеры домена ALD автоматически.
При установке модуля синхронизации создается учетная запись имеющая вид syncer/dc01.<имя домена>@<ИМЯ ДОМЕНА>. Данная УЗ является сервисной и используется для работы модуля синхронизации. Пароль данной УЗ является бессрочным, что делает работу модуля синхронизации более стабильной и устойчивой.
Команда обновления контроллера домена с инициализацией модуля синхронизации:
sudo apt update && sudo apt install aldpro-syncer aldpro-syncer-pwdsync
sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer
Если на КД также был установлен модуль ГК, то при обновлении сервера следует добавить ключ --setup_gc, иначе подсистема обновления удалит этот модуль с сервера.
После ввода команды система запросит ввести пароль администратора домена.
Проверки, которые необходимо выполнить после обновления¶
После завершения обновления системы необходимо выполнить следующие проверки, чтобы убедиться, что обновление выполнено корректно и ALD Pro готов к работе.
Проверить информацию на карточке КД (Управление доменом → Сайты и службы → Контроллеры домена или Управление доменом → Общая информация → Состав системы). Если КД находится в состоянии Установлено, Ошибка, не указана версия, то изучить логи:
/var/log/ipaupgrade.log- первый КД,/var/log/aldpro-salt/subsystem.log- резервные контроллеры домена.
Проверить работоспособность основных служб:
krb5-kdc, dirsrv, bind9-pkcs11, aldpro-salt-minion, sssd. Полное название службыdirsrvсодержит имя домена -dirsrv@ALD-COMPANY-LAN(пример). Выполняется на первом КД и резервных КД:
systemctl status krb5-kdc
systemctl status dirsrv@ALD-COMPANY-LAN
systemctl status bind9-pkcs11
systemctl status aldpro-salt-minion
systemctl status sssd
sudo aldproctl status
Остановить и замаскировать службу
salt-minion, если она не используется:
sudo systemctl stop salt-minion
sudo systemctl disable salt-minion
sudo systemctl mask salt-minion
Проверить наличие конфликтов репликации LDAP:
dsconf ldap://<имя_КД> -D 'cn=Directory Manager' repl-conflict list <доменный суффикс>
Проверить работоспособность ролевой модели. Проверка осуществляется в портале управления путем просмотра списка ролей и их статуса, назначения роли или ролей пользователю с последующей проверкой доступа к разделам портала. Наличие конфликтов у записей в LDAP, имеющих отношение к ролям, привилегиям или разрешениям, также сигнализирует о возможных ошибках в функционировании ролевой модели. Если на первом КД ролевая модель работает, то на резервных контроллерах домена проверку можно осуществлять сравнением данных этого резервного контроллера домена с первым КД (
ds-replcheck).Обновить модуль синхронизации и проверить миграцию данных (идентификаторы участников групп (должны быть
ObjectGUIDиз MS AD), список ошибок до обновления и миграции и после) – выполняется только на первом КД, т.к. модуль синхронизации может быть установлен только на него:
sudo -u postgres psql -d syncer -c "SELECT schema_tracer.tracer_objects.name,schema_provider.ipa_code_error.error_message, schema_provider.ipa_code_error.error_name, schema_provider.virtual_tree.error_id, COUNT(*) FROM schema_provider.virtual_tree JOIN schema_provider.ipa_code_error ON schema_provider.virtual_tree.error_id = schema_provider.ipa_code_error.id JOIN schema_tracer.tracer_objects ON schema_provider.virtual_tree.object_class_id = schema_tracer.tracer_objects.id WHERE error_id <> 90 GROUP BY schema_tracer.tracer_objects.id,schema_provider.ipa_code_error.error_message, schema_provider.ipa_code_error.error_name, schema_provider.virtual_tree.error_id ORDER BY schema_tracer.tracer_objects.name;"