Это старая версия документа!
В этом документе описываются шаги, необходимые для обновления автономного хоста Security Server с версии Ubuntu 18.04 LTS до Ubuntu 20.04 LTS. Пожалуйста, внимательно прочитайте весь документ перед началом процесса обновления. Предполагается, что читатель знаком с дистрибутивом Ubuntu Linux и имеет опыт обновления версии Ubuntu.
С обновлением до Ubuntu 20.04 LTS PostgreSQL обновляется с версии 10 до 12.
Альтернативный метод: Обновление Security Server до Ubuntu 20.04 с использованием резервной копии конфигурации
При обновлении системы, в которой используется аппаратный модуль безопасности: убедитесь, что HSM совместим с Ubuntu 20.04, и ознакомьтесь с документацией по модулю HSM для получения инструкций по обновлению.
apt update && apt full-upgrade
sudo systemctl stop "xroad-*" sudo systemctl disable xroad-proxy xroad-signer xroad-confclient xroad-jetty xroad-monitor xroad-opmonitor sudo systemctl list-units "xroad-*"
sudo -iu postgres pg_dump -d messagelog -F c -f <dump_file>
sudo -iu postgres pg_dump -d "op-monitor" -F c -f <dump_file>
dpkg -l | grep "update-manager-core"
grep "Prompt=lts" /etc/update-manager/release-upgrades
sudo do-release-upgrade
sudo pg_dropcluster --stop <version, e.g. 12> main
$ 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
Вспомогательный скрипт Ubuntu pg_upgradecluster по умолчанию создает дамп старой базы данных, что может потребовать много времени и свободного места на диске, если база данных большая. Параметр –method=upgrade вместо этого использует pg_upgrade, а параметр –link позволяет избежать копирования файлов данных. (!)Использование –link требует, чтобы новая и старая базы данных находились в одной и той же файловой системе. См. https://www.postgresql.org/docs/12/pgupgrade.html для получения подробной информации и инструкций по восстановлению.
sudo pg_upgradecluster --method=upgrade --link 10 main
$ sudo pg_upgradecluster --method=upgrade --link 10 main $ sudo pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log 12 main 5432 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
sudo apt-add-repository -r "deb https://artifactory.niis.org/xroad-release-deb bionic-current main" sudo apt-add-repository "deb https://artifactory.niis.org/xroad-release-deb focus-current main"
(или отредактируйте файл /etc/apt/sources.list напрямую)
sudo apt update && sudo apt full-upgrade
sudo systemctl enable "xroad-*" sudo systemctl start "xroad-*"
systemctl list-units "xroad-*" "postgresql@*" UNIT LOAD ACTIVE SUB DESCRIPTION postgresql@12-main.service loaded active running PostgreSQL Cluster 12-main xroad-base.service loaded active exited X-Road initialization xroad-confclient.service loaded active running X-Road confclient xroad-monitor.service loaded active running X-Road Monitor* xroad-opmonitor.service loaded active running X-Road opmonitor daemon* xroad-proxy.service loaded active running X-Road Proxy xroad-proxy-ui-api.service loaded active running X-Road Proxy UI REST API xroad-signer.service loaded active running X-Road signer
* если установлены надстройки для мониторинга
Убедившись, что обновление базы данных прошло успешно, удалите старую базу данных и удалите устаревшие пакеты PostgreSQL.
sudo pg_dropcluster 10 main sudo apt purge postgresql-10 sudo apt autoremove