Инструменты пользователя

Инструменты сайта


мануал_security_server_database_schema_update_при_обновлении_после_версии_6.25.2

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
мануал_security_server_database_schema_update_при_обновлении_после_версии_6.25.2 [2023/04/11 06:51]
evgeniy
мануал_security_server_database_schema_update_при_обновлении_после_версии_6.25.2 [2023/05/08 18:16] (текущий)
infra
Строка 1: Строка 1:
-====== ​Обновление ​Security Server Ubuntu 18.04 до 20.04 на месте ======  +====== ​Ручное обновление ​схемы базы ​данных сервера безопасности при обновлении до версии 6.25.2  ​====== 
-В этом документе описываются шаги, необходимые для обновления автономного хоста Security Server с версии Ubuntu 18.04 LTS до Ubuntu 20.04 LTS. Пожалуйста, внимательно прочитайте весь документ перед началом процесса обновления. Предполагается, что читатель знаком с дистрибутивом Ubuntu Linux и имеет опыт обновления версии Ubuntu.+ 
 +При ​обновлении до версии 6.25.2 схема базы ​данных переименовывается, ​и для миграции требуется,​ чтобы программа установки могла ​получить доступ к базе данных с правами администратора. В случае отсутствия достаточных разрешений ​обновление ​завершится ошибкой (примеры ​сбоя приведены ниже), и потребуется выполнить некоторые действия вручную.
  
-С обновлением до Ubuntu 20.04 LTS PostgreSQL обновляется с версии 10 до 12. 
 <​code>​ <​code>​
-Альтернативный метод: Обновление Security Server до Ubuntu 20.04 с использованием резервной копии конфигурации + ​Database and user exists, skipping database creation
-</​code>​ +Liquibase Home is not set. 
-==== Подготовка====+Liquibase Update Successful 
 +psql: FATAL: ​ password authentication failed for user "​postgres"​ 
 +Renaming public schema to '​serverconf'​ failed.
  
-При обновлении системы,​ в которой используется аппаратный модуль безопасности:​ убедитесь,​ что HSM совместим с Ubuntu 20.04, и ознакомьтесь с документацией по модулю HSM для получения инструкций по обновлению. 
  
- +Database and user exists, skipping database creation. 
-       * Ознакомьтесь с примечаниями к выпуску Ubuntu и инструкциями по обновлению:​ +Liquibase Home is not set
-             ​* ​         18.04 → 20.04 https://​wiki.ubuntu.com/​FocalFossa/​ReleaseNotes +Liquibase Update Successful 
-  ​* ​ +ERROR: ​ must be owner of database serverconf 
-  ​*      Обновите все пакеты до последних версий:​ +Renaming public schema to '​serverconf'​ failed.
-<​code>​  +
-apt update && apt full-upgrade+
 </​code>​ </​code>​
-  
-  *      Убедитесь,​ что версия программного обеспечения X-Road не ниже 6.25.0. 
-  
-  *      Рекомендуется:​ убедитесь,​ что у вас есть актуальная резервная копия (или моментальный снимок виртуальной машины) сервера и базы данных. 
-  ​ 
-  *      Используйте пользовательский интерфейс администратора,​ чтобы сделать резервную копию конфигурации сервера безопасности и загрузить ее в безопасное место. 
-  
-  *          Это позволяет восстановить конфигурацию сервера,​ если обновление по какой-либо причине не удалось. 
  
-  *      Остановите сервер безопасности и запретите его ​автоматический запуск при загрузке:​ +====Исправление базы данных вручную===
-<​code>​ +
-sudo systemctl stop "​xroad-*"​ +
-sudo systemctl disable "​xroad-*"​ +
-</​code>​ +
-  +
-        *      При ​необходимости сделайте резервную копию ​базы данных ​журнала сообщений. Без резервного копирования сбой в процессе обновления может привести к потере данных. +
-  *          См. https://​www.postgresql.org/​docs/​10/​backup.html. +
-  *          Использование pg_dump является простым вариантом,​ но может быть проблематичным, если база данных очень велика:​ +
-<​code>​ +
-sudo -iu postgres pg_dump -d messagelog -F c -f <​dump_file>​  +
-</​code>​+
  
-     ​* ​         Уменьшение размера дампа базы данных журнала сообщений: ​По умолчанию база данных журнала сообщений хранит записи сообщений за 30 дней, но можно (временно) изменить время хранения,​ чтобы уменьшить ​количество записей в базе данных, тем самым уменьшив размер дамп базы данных. Изменение параметра не имеет немедленного эффекта, поскольку по умолчанию очистка журнала сообщений выполняется два ​раза в день (в полдень и в полночь). Дополнительную информацию см. в Руководстве ​пользователя Security Server. +===1 Подключиться к базе данных как суперпользователь базы данных ​(напримерpsql -h database.host -U postgres serverconf)=== 
-  *      При необходимости сделайте резервную копию ​заархивированных ​файлов журнала сообщений. + 
-  *          Обратите внимание, что некоторые зарегистрированные сообщения могут быть ​еще не заархивированы и существовать только в базе данных. +===2 Выполните следующие команды:​===
-   +
-  *      При желании сделайте резервную копию базы данных оперативного мониторинга (если установлен xroad-opmonitoring). Без резервного копирования сбой в процессе обновления может привести к потере ​данных. +
-  *          См. https://​www.postgresql.org/​docs/​10/​backup.html.+
 <​code>​ <​code>​
-sudo -iu postgres ​pg_dump -d "op-monitor" ​-F c -f <​dump_file>​+ALTER DATABASE "​serverconf"​ OWNER TO "postgres"​
 +REVOKE ALL ON DATABASE "​serverconf"​ FROM PUBLIC; 
 +GRANT CREATE,​TEMPORARY,​CONNECT ON DATABASE "​serverconf"​ TO "​serverconf";​ 
 +ALTER SCHEMA public RENAME TO "​serverconf";​ 
 +ALTER SCHEMA "​serverconf"​ OWNER TO "​serverconf";​ 
 +REVOKE ALL ON SCHEMA "​serverconf"​ FROM PUBLIC; 
 +CREATE SCHEMA public; 
 +GRANT USAGE ON SCHEMA public TO "​serverconf"
 +ALTER EXTENSION hstore SET SCHEMA public;
 </​code>​ </​code>​
-==== Обновление Ubuntu 18.04 до 20.04 ==== 
-  * Установите update-manager-core,​ если он еще не установлен. 
-  * Убедитесь,​ что для строки подсказки в файле /​etc/​update-manager/​release-upgrades установлено значение «lts». 
-  * Запустите средство обновления с помощью команды ​ 
-<​code>​ 
-sudo do-release-upgrade 
-</​code>​ 
-  * Следуйте инструкциям на экране. 
-  * Когда обновление будет завершено,​ перезагрузитесь при появлении запроса. 
-  ​ 
-==== Обновление программного обеспечения X-Road ==== 
-=== Обновите базу данных === 
-    
-  * Процесс обновления Ubuntu по умолчанию создает пустой экземпляр базы данных,​ который следует удалить перед обновлением старой базы данных до версии 12. 
-</​code>​ 
-  * Просмотрите экземпляры базы данных с помощью pg_lsclusters и удалите лишние. 
  
-//Не удаляйте версию 10 (основную), работающую через порт 5432//. +===3 Продолжить установку:=== 
-<​code>​ +  ​*     ​Ubuntu:​ apt --fix-broken install 
-sudo pg_dropcluster --stop <​version,​ e.g. 12> main +  ​*     RHEL: yum reinstall xroad-proxy 
-</​code>​ + 
-=== Пример ​=== + 
-<​code>​ +---- 
-$ sudo pg_lsclusters + 
-Ver Cluster Port Status Owner    Data directory ​              Log file +Автор Даниил Горбенко
-10  main    5432 online postgres /​var/​lib/​postgresql/​10/​main ​ /​var/​log/​postgresql/​postgresql-10-main.log +
-12  main    5433 online postgres /​var/​lib/​postgresql/​12/​main ​ /​var/​log/​postgresql/​postgresql-12-main.log +
-   +
-$ sudo pg_dropcluster ​--stop 12 main +
-</​code>​+
  
        
мануал_security_server_database_schema_update_при_обновлении_после_версии_6.25.2.1681195885.txt.gz · Последние изменения: 2023/04/11 06:51 — evgeniy