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

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


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

Различия

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

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

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