upgrade-security-server-new-722
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| upgrade-security-server-new-722 [2026/02/09 11:00] – infra | upgrade-security-server-new-722 [2026/02/09 11:12] (текущий) – infra | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== MessageLog X-Road: | + | <note warning> |
| - | MessageLog | + | ====== Обновление Security Server Ubuntu 20.04 до 22.04 на месте ====== |
| - | **Содержит:** | + | В этом документе описываются шаги, необходимые для |
| - | * Метаданные | + | |
| - | * Тела сообщений (опционально) | + | |
| - | * Подписи и временные метки | + | |
| - | ==== Конфигурация ==== | + | С обновлением до Ubuntu 22.04 LTS PostgreSQL обновляется с версии 12 до 14. |
| - | Файл: / | + | ==== Альтернативный метод обновления ==== |
| - | === Рекомендуемые настройки | + | <note tip>Вместо обновления на месте, |
| + | ==== Подготовка ==== | ||
| + | |||
| + | * Ознакомьтесь с примечаниями к выпуску Ubuntu и инструкциями по обновлению: | ||
| + | * 20.04 → 22.04 https:// | ||
| + | |||
| + | * Обновите все пакеты до последних версий: | ||
| < | < | ||
| - | [message-log] | + | sudo apt update && apt full-upgrade |
| - | keep-records-for=1 | + | |
| - | archive-interval=0 0/2 * 1/1 * ? * | + | |
| - | clean-interval=0 0/3 * 1/1 * ? * | + | |
| - | message-body-logging=false | + | |
| - | clean-transaction-batch=10000 | + | |
| - | archive-transaction-batch=10000 | + | |
| </ | </ | ||
| - | === Параметры === | + | * Убедитесь, |
| - | ^ Параметр ^ Значение ^ Описание ^ | + | * Рекомендуется: убедитесь, что у вас есть актуальная резервная копия (или моментальный |
| - | | keep-records-for | 1 | Срок хранения в БД (дни) | | + | |
| - | | archive-interval | 0 0/2 * 1/1 * ? * | Каждые 2 часа архивировать | | + | |
| - | | clean-interval | 0 0/3 * 1/1 * ? * | Каждые 3 часа очищать БД | | + | |
| - | | message-body-logging | false | Не сохранять тела сообщений | | + | |
| - | | clean-transaction-batch | 10000 | Размер пакета | + | |
| - | | archive-transaction-batch | 10000 | Размер пакета архивирования | | + | |
| - | === Cron-выражения | + | * Используйте пользовательский интерфейс |
| + | * Это позволяет восстановить конфигурацию сервера, | ||
| - | Формат: секунды минуты часы день месяц день_недели | + | * Резервная копия базы данных serverconf: |
| + | < | ||
| + | sudo -iu postgres pg_dump -d serverconf -F c -f / | ||
| + | </ | ||
| - | **Примеры:** | + | |
| - | * 0 0/2 * 1/1 * ? * — Каждые 2 часа | + | < |
| - | * 0 0/3 * 1/1 * ? * — Каждые 3 часа | + | sudo systemctl stop " |
| - | * 0 0 */6 * * ? — Каждые 6 часов | + | sudo systemctl disable xroad-proxy xroad-signer xroad-confclient xroad-monitor xroad-opmonitor xroad-proxy-ui-api xroad-base |
| - | * 0 0 2 * * ? — Ежедневно в 2:00 | + | sudo systemctl list-unit-files | grep " |
| + | </code> | ||
| - | < | + | < |
| - | ==== Проверка работы ==== | + | ==== Обновление Ubuntu 20.04 до 22.04 ==== |
| - | Размер базы данных: | + | * Установите update-manager-core, |
| < | < | ||
| - | sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size(' | + | dpkg -l | grep "update-manager-core" |
| </ | </ | ||
| - | Количество записей: | + | * Убедитесь, |
| < | < | ||
| - | sudo -u postgres psql -d messagelog -c " | + | sudo grep " |
| </ | </ | ||
| - | Применение настроек: | + | * Запустите средство обновления с помощью |
| < | < | ||
| - | sudo systemctl restart xroad-proxy | + | sudo do-release-upgrade |
| </ | </ | ||
| - | ==== Устранение проблем ==== | + | * Следуйте инструкциям на экране. |
| - | При переполнении | + | * Когда обновление будет завершено, |
| + | |||
| + | ==== Обновление программного обеспечения X-Road ==== | ||
| + | |||
| + | === Обновите базу данных === | ||
| + | |||
| + | * Процесс обновления Ubuntu | ||
| + | |||
| + | * Просмотрите экземпляры базы данных с помощью pg_lsclusters и удалите лишние. | ||
| + | |||
| + | * //Не удаляйте версию 12 (основную), | ||
| < | < | ||
| - | # Очистка старых записей | + | sudo pg_dropcluster |
| - | sudo -u postgres psql -d messagelog -c " | + | </ |
| - | # VACUUM | + | === Пример === |
| - | sudo -u postgres psql -d messagelog -c " | + | |
| - | # Перезапуск | + | < |
| - | sudo systemctl restart xroad-proxy | + | sudo pg_lsclusters |
| + | Ver Cluster Port Status Owner Data directory | ||
| + | 12 main 5432 online postgres / | ||
| + | 14 main 5433 online postgres / | ||
| + | |||
| + | sudo pg_dropcluster --stop 14 main | ||
| </ | </ | ||
| - | ==== Полный пример конфигурации | + | * Обновите старую базу данных до версии 14. |
| + | |||
| + | <note important> | ||
| + | (!) Использование --link требует, чтобы новая и старая базы данных находились в одной и той же файловой системе. См. https:// | ||
| < | < | ||
| - | [proxy-ui] | + | sudo pg_upgradecluster |
| + | </ | ||
| - | [proxy] | + | === Пример === |
| - | allow-get-wsdl-request | + | |
| - | client-http-port | + | |
| - | client-https-port | + | |
| - | [message-log] | + | < |
| - | keep-records-for=1 | + | sudo pg_upgradecluster |
| - | archive-interval=0 0/2 * 1/1 * ? * | + | |
| - | clean-interval=0 0/3 * 1/1 * ? * | + | |
| - | message-body-logging=false | + | |
| - | clean-transaction-batch=10000 | + | |
| - | archive-transaction-batch=10000 | + | |
| - | [proxy-ui-api] | + | sudo pg_lsclusters |
| - | wsdl-validator-command = /usr/share/xroad/wsdlvalidator/bin/wsdlvalidator_wrapper.sh | + | Ver Cluster Port Status Owner Data directory |
| - | strict-identifier-checks | + | 12 main 5433 down |
| + | 14 main 5432 online postgres / | ||
| + | </ | ||
| + | |||
| + | === Обновите репозиторий пакетов X-Road, чтобы он указывал на пакеты Ubuntu 22.04, версии 7.2.2 === | ||
| + | |||
| + | Удалить старые репозитории: | ||
| + | < | ||
| + | sudo rm -rf / | ||
| + | </ | ||
| + | |||
| + | Импортировать GPG ключ репозитория: | ||
| + | < | ||
| + | wget -qO - https:// | ||
| + | </ | ||
| + | |||
| + | Добавить репозиторий в список источников пакетов ОС: | ||
| + | < | ||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | Произвести обновление системы: | ||
| + | < | ||
| + | sudo apt update && apt full-upgrade | ||
| + | </ | ||
| + | |||
| + | Включить все службы X-Road в автозагрузку: | ||
| + | < | ||
| + | sudo systemctl enable xroad-proxy xroad-signer xroad-confclient xroad-monitor xroad-opmonitor xroad-proxy-ui-api | ||
| + | </ | ||
| + | |||
| + | Проверить все ли службы включены: | ||
| + | < | ||
| + | sudo systemctl list-unit-files | grep " | ||
| + | </code> | ||
| + | |||
| + | Стартовать службы X-Road: | ||
| + | < | ||
| + | sudo systemctl start " | ||
| + | </code> | ||
| + | |||
| + | или | ||
| + | |||
| + | < | ||
| + | sudo systemctl start xroad-proxy | ||
| + | </code> | ||
| + | |||
| + | Установка выполнена успешно, | ||
| + | < | ||
| + | sudo systemctl list-units "xroad*" | ||
| + | </code> | ||
| + | |||
| + | === Удаление старой базы данных и устаревших пакетов === | ||
| + | |||
| + | Убедившись, | ||
| + | < | ||
| + | sudo pg_dropcluster 12 main | ||
| + | sudo apt purge postgresql-12 | ||
| + | sudo apt autoremove | ||
| + | </code> | ||
| + | |||
| + | ==== Поиск неисправностей ==== | ||
| + | |||
| + | * Если восстановление после сбоя обновления невозможно и имеется резервная копия/моментальный снимок, | ||
| + | |||
| + | * Если ничего не помогло, | ||
| + | |||
| + | * Если возникает проблема с locale, в данном случае нужно сделать export всех необходимых локалей. Пример проблемы: | ||
| + | |||
| + | < | ||
| + | pg_upgradecluster | ||
| + | Stopping old cluster... | ||
| + | perl: warning: Setting locale failed. | ||
| + | perl: warning: Please check that your locale settings: | ||
| + | LANGUAGE = (unset), | ||
| + | LC_ALL = (unset), | ||
| + | LC_ADDRESS = " | ||
| + | LC_NAME = " | ||
| + | LC_MONETARY = " | ||
| + | LC_PAPER = " | ||
| + | LC_IDENTIFICATION = " | ||
| + | LC_TELEPHONE = " | ||
| + | LC_MEASUREMENT = " | ||
| + | LC_TIME = " | ||
| + | LC_NUMERIC = " | ||
| + | LANG = " | ||
| + | are supported and installed on your system. | ||
| + | perl: warning: Falling back to a fallback locale (" | ||
| + | Error: The locale requested by the environment is invalid: | ||
| + | LANG: en_US.UTF-8 | ||
| + | LC_ADDRESS: ru_RU.UTF-8 | ||
| + | LC_IDENTIFICATION: | ||
| + | LC_MEASUREMENT: | ||
| + | LC_MONETARY: | ||
| + | LC_NAME: ru_RU.UTF-8 | ||
| + | LC_NUMERIC: ru_RU.UTF-8 | ||
| + | LC_PAPER: ru_RU.UTF-8 | ||
| + | LC_TELEPHONE: | ||
| + | LC_TIME: ru_RU.UTF-8 | ||
| + | Error: Could not create target cluster | ||
| + | </ | ||
| + | |||
| + | Решение: | ||
| + | |||
| + | < | ||
| + | export LANG=en_US.UTF-8 | ||
| + | export LC_ALL=en_US.UTF-8 | ||
| + | export LC_ADDRESS=en_US.UTF-8 | ||
| + | export LC_IDENTIFICATION=en_US.UTF-8 | ||
| + | export LC_MEASUREMENT=en_US.UTF-8 | ||
| + | export LC_MONETARY=en_US.UTF-8 | ||
| + | export LC_NAME=en_US.UTF-8 | ||
| + | export LC_NUMERIC=en_US.UTF-8 | ||
| + | export LC_PAPER=en_US.UTF-8 | ||
| + | export LC_TELEPHONE=en_US.UTF-8 | ||
| + | export LC_TIME=en_US.UTF-8 | ||
| + | update-locale | ||
| + | </ | ||
| + | |||
| + | ==== Проверка работы ==== | ||
| + | |||
| + | После обновления рекомендуется проверить: | ||
| + | |||
| + | * Доступность веб-интерфейса Security Server | ||
| + | * Работу всех сервисов X-Road | ||
| + | * Размер и состояние баз данных | ||
| + | * Логи на наличие ошибок | ||
| + | |||
| + | Проверка размера баз данных: | ||
| + | < | ||
| + | sudo -u postgres psql -c " | ||
| + | | ||
| + | FROM pg_database | ||
| + | WHERE datname IN (' | ||
| + | </ | ||
| + | |||
| + | Проверка логов: | ||
| + | < | ||
| + | sudo journalctl -u xroad-proxy -n 100 | ||
| </ | </ | ||
| Строка 104: | Строка 248: | ||
| Автор Даниил Горбенко | Автор Даниил Горбенко | ||
| - | |||
upgrade-security-server-new-722.1770634845.txt.gz · Последнее изменение: — infra
