Восстановление после неудачного обновления исполняемых файлов
В разделе рассматривается процесс восстановления после неудачного обновления исполняемых файлов СУБД Pangolin.
Перед началом выполнения инструкции необходимо убедиться, что yum/dnf-репозитории настроены корректно.
Поскольку инструкция является универсальной для standalone и кластерных (cluster) конфигураций, каждый пункт необходимо выполнить на всех узлах экземпляра СУБД. На узле арбитр производить обновление компонентов только по необходимости.
Восстановление выполняется покомпонентно. Шаги, соответствующие компонентам, отсутствующим в конфигурации, следует пропустить.
Восстановление СУБД может осуществляться пользователем с правами суперпользователя, а также пользователем postgres.
Все команды ниже являются примерами. Их необходимо отредактировать в соответствии с требуемыми параметрами и конфигурациями. В названиях rpm/deb-пакетов и в блоках кода, при необходимости, замените наименование ОС и пакетного менеджера. Также, в данной инструкции, резервная копия файлов компонентов находится в каталоге под названием ~/pangolin/cache/backup, созданная в процессе ручного обновления на «Шаге 1».
Обозначения
В инструкции используются переменные для динамической настройки. Перед выполнением команд эти переменные будут экспортироваться. Скорректируйте значение относительно реализуемого сценария обновления:
PANGOLIN_FULL_VER_OLD– исходная версия СУБД Pangolin (формат -0х.00х.0х);PANGOLIN_VER_OLD– исходная версия СУБД Pangolin (формат -х.х.х);PANGOLIN_VER– новая версия СУБД Pangolin (формат -х.х.х);PANGOLIN_DBMS_MAJOR– новая мажорная версия СУБД Pangolin (формат -х);PANGOLIN_DBMS_MAJOR_OLD– исходная мажорная версия СУБД Pangolin (формат -х);PANGOLIN_DBMS_MINOR_OLD– исходная минорная версия СУБД Pangolin (формат -х);PANGOLIN_BACKUP_TOOLS_OLD– исходная версия компонента Pangolin Backup Tools (формат -х.х.х);PANGOLIN_BACKUP_TOOLS_VENV_OLD– исходная версия зависимостиpangolin-backup-tools-venv(формат -х.х.х);PANGOLIN_POOLER_OLD– исходная версия компонента Pangolin Pooler (формат -х.х.х);PANGOLIN_MANAGER_OLD– исходная версия компонента Pangolin Manager (формат -х.х.х);PANGOLIN_MANAGER_VENV_OLD– исходная версия зависимостиpangolin-manager-venv(формат -х.х.х);PANGOLIN_TUNER_OLD– исходная версия компонента Pangolin Tuner (формат -х.х.х);PANGOLIN_TIMESCALEDB_OLD– исходная версия расширения timescaledb (формат -х.х.х);PANGOLIN_TIMESCALEDB_RELEASE_OLD– исходная версия релиза расширения timescaledb (формат -х.х.х);PANGOLIN_POSTGIS_OLD– исходная версия пакета стороннего расширения postgis (формат -х.х.х);PANGOLIN_PGROUTING_OLD– исходная версия пакета стороннего расширения pgrouting (формат -х.х.х);PANGOLIN_PG_BACKGROUND_OLD– исходная версия пакета стороннего расширения pg_background (формат -х.х.х);PGDATA– исходный путь до данных СУБД Pangolin (формат -/pgdata/xx);PGHOME– исходный путь до серверной части СУБД Pangolin (формат -/usr/pangolin-x.x.xили/usr/pangolin-x.x);PGHOME_CLIENT– исходный путь до клиентской части СУБД Pangolin (формат -/usr/pangolin-x.x.xили/usr/pangolin-x.xили/usr/pangolin-dbms-client-x.x);PGHOME_NEW– новый путь до серверной части СУБД Pangolin (формат -/usr/pangolin-x.x);PGHOME_CLIENT_NEW– новый путь до клиентской части СУБД Pangolin (формат -/usr/pangolin-dbms-client-x.x);CLUSTERNAME– наименование кластера (по умолчаниюclustername).OS– операционная система.
Шаг 1. Подготовка
-
Убедитесь, что все компоненты остановлены:
sudo ps aux | grep -E "pangolin-pooler|pangolin-manager|postgresql|pangolin-certs-rotate|pg_certs_rotate_agent|pangolin-auth-reencrypt|pg_auth_reencrypt|etcd" | grep -v grep -
Если команда вернула результат, то выполните:
sudo kill -9 <pid>примечаниеpidможно получить следующим образом:sudo ps aux | grep -E "pangolin-pooler|pangolin-manager|postgresql|pangolin-certs-rotate|pg_certs_rotate_agent|pangolin-auth-reencrypt|pg_auth_reencrypt|etcd" | grep -v grep
Шаг 2. Восстановление компонента pangolin-auth-reencrypt
Произведите восстановление пакета компонента:
- Для версий до 6.3.0
- Для версий с 6.3.0
sudo dnf remove -y pangolin-auth-reencrypt
sudo mkdir -p /opt/pangolin-common/bin /etc/postgres
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/pangolin_reencrypt@.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/pg_auth_reencrypt /opt/pangolin-common/bin/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/enc_util.cfg /etc/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/enc_params.cfg.kmadmin_pg /etc/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/enc_params.cfg.postgres /etc/postgres/
sudo chown postgres:kmadmin_pg /etc/postgres /opt/{pangolin-common,pangolin-common/bin}
sudo chmod 771 /etc/postgres
sudo chmod 710 /opt/{pangolin-common,pangolin-common/bin}
export PANGOLIN_VER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_auth_reencrypt/pangolin-auth-reencrypt-$PANGOLIN_VER_OLD-sberlinux9.x86_64.rpm
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/pangolin-auth-reencrypt.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/pangolin-auth-reencrypt@.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/enc_util.cfg /etc/pangolin-auth-reencrypt/
Где path_to_service - актуальный путь до service-файла компонента. В случае наличия функциональности «Отказ от root» это может быть путь /home/postgres/.config/systemd/user/. В случае отсутствия такой функциональности это может быть /usr/lib/systemd/system/, /lib/systemd/system/ или /etc/systemd/system/.
Шаг 3. Восстановление компонента pangolin-certs-rotate
Произведите восстановление пакета компонента:
- Для версий до 6.3.0
- Для версий с 6.3.0
sudo dnf remove -y pangolin-certs-rotate
sudo mkdir -p /opt/pangolin-common/bin /etc/postgres
sudo cp -raf ~/pangolin/cache/backup/pangolin_certs_rotate/pg_certs_rotate_agent.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_auth_reencrypt/pg_certs_rotate_agent /opt/pangolin-common/bin/
sudo cp -raf ~/pangolin/cache/backup/pangolin_certs_rotate/pg_certs_rotate_agent.yml /etc/postgres/
sudo chown postgres:kmadmin_pg /etc/postgres /opt/{pangolin-common,pangolin-common/bin}
sudo chmod 771 /etc/postgres
sudo chmod 710 /opt/{pangolin-common,pangolin-common/bin}
export PANGOLIN_VER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_certs_rotate/pangolin-certs-rotate-$PANGOLIN_VER_OLD-sberlinux9.x86_64.rpm
sudo cp -raf ~/pangolin/cache/backup/pangolin_certs_rotate/pangolin-certs-rotate.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_certs_rotate/pangolin-certs-rotate.yml /etc/pangolin-certs-rotate/
Где path_to_service - актуальный путь до service-файла компонента. В случае наличия функциональности «Отказ от root» это может быть путь /home/postgres/.config/systemd/user/. В случае отсутствия такой функциональности это может быть /usr/lib/systemd/system/, /lib/systemd/system/ или /etc/systemd/system/.
В случае конфигурации с DCS, произведите дополнительно восстановление на узле арбитр.
Шаг 4. Восстановление компонента pangolin-security-utilities
Произведите восстановление пакета компонента:
- Для версий до 6.3.0
- Для версий с 6.3.0
sudo dnf remove -y pangolin-security-utilities
sudo cp -raf ~/pangolin/cache/backup/pangolin_security_utilities/enc_connection_settings_cert.cfg /etc/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_security_utilities/enc_connection_settings.cfg /etc/postgres/
sudo chown postgres:postgres /etc/postgres/enc_utils_auth_settings.cfg /etc/postgres/enc_connection_settings_cert.cfg
sudo chmod 644 /etc/postgres /etc/postgres/enc_utils_auth_settings.cfg /etc/postgres/enc_connection_settings_cert.cfg
export PANGOLIN_VER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_security_utilities/pangolin-security-utilities-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
В случае конфигурации с DCS, произведите дополнительно восстановление на узле арбитр.
Шаг 5. Восстановление компонента pangolin-backup-tools
Произведите восстановление пакета компонента:
export PANGOLIN_BACKUP_TOOLS_OLD=x.x.x
export PANGOLIN_BACKUP_TOOLS_VENV_OLD=x.x.x
sudo dnf remove -y pangolin-backup-tools-venv # Выполните команду в случае отсутствия зависимости `pangolin-backup-tools-venv` на исходном стенде
sudo dnf install -y ~/pangolin/cache/backup/pangolin_backup_tools/pangolin-backup-tools-$PANGOLIN_BACKUP_TOOLS_OLD-sberlinux8.x86_64.rpm
sudo dnf install -y ~/pangolin/cache/backup/pangolin_backup_tools/pangolin-backup-tools-venv-$PANGOLIN_BACKUP_TOOLS_VENV_OLD-sberlinux8.x86_64.rpm # Выполните команду в случае наличия зависимости `pangolin-backup-tools-venv` на исходном стенде
sudo cp -raf ~/pangolin/cache/backup/pangolin_backup_tools/backup-tools-env /etc/pangolin-backup-tools/
Шаг 6. Восстановление компонента Pangolin Pooler
Произведите восстановление пакета компонента:
export PANGOLIN_POOLER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_pooler/pangolin-pooler-$PANGOLIN_POOLER_OLD-sberlinux8.x86_64.rpm
sudo cp -raf ~/pangolin/cache/backup/pangolin_pooler/pangolin-pooler.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_pooler/pangolin-pooler.ini /etc/pangolin-pooler/
sudo cp -raf ~/pangolin/cache/backup/pangolin_pooler/userlist.txt /etc/pangolin-pooler/
Где path_to_service - актуальный путь до service-файла компонента. В случае наличия функциональности «Отказ от root» это может быть путь /home/postgres/.config/systemd/user/. В случае отсутствия такой функциональности это может быть /usr/lib/systemd/system/, /lib/systemd/system/ или /etc/systemd/system/.
Шаг 7. Восстановление компонента Pangolin Manager
Произведите восстановление пакета компонента:
export PANGOLIN_MANAGER_OLD=x.x.x
export PANGOLIN_MANAGER_VENV_OLD=x.x.x
export PGDATA=/pgdata/xx
sudo dnf remove -y pangolin-manager-venv # Выполните команду в случае отсутствия зависимости `pangolin-manager-venv` на исходном стенде
sudo dnf install -y ~/pangolin/cache/backup/pangolin_manager/pangolin-manager-$PANGOLIN_MANAGER_OLD-sberlinux8.x86_64.rpm
sudo dnf install -y ~/pangolin/cache/backup/pangolin_manager/pangolin-manager-venv-$PANGOLIN_MANAGER_VENV_OLD-sberlinux8.x86_64.rpm # Выполните команду в случае отсутствия зависимости `pangolin-manager-venv` на исходном стенде
sudo cp -raf ~/pangolin/cache/backup/pangolin_manager/pangolin-manager.service {path_to_service}/
sudo cp -raf ~/pangolin/cache/backup/pangolin_manager/postgres.yml /etc/pangolin-manager/
sudo cp -raf ~/pangolin/cache/backup/pangolin_manager/patroni.dynamic.json $PGDATA/data/
Где path_to_service - актуальный путь до service-файла компонента. В случае наличия функциональности «Отказ от root» это может быть путь /home/postgres/.config/systemd/user/. В случае отсутствия такой функциональности это может быть /usr/lib/systemd/system/, /lib/systemd/system/ или /etc/systemd/system/.
В случае конфигурации с DCS, произведите дополнительно восстановление на узле арбитр.
Шаг 8. Восстановление компонента серверной части СУБД Pangolin
Произведите восстановление пакета компонента:
- Для версий до 6.2.0
- Для версий с 6.2.0
export PANGOLIN_FULL_VER_OLD=x.x.x
export PGHOME=/usr/pangolin-x.x.x
sudo dnf remove -y pangolin-dbms* platform-v-pangolin-dbms
sudo dnf install -y ~/pangolin/cache/backup/pangolin_dbms/platform-v-pangolin-dbms-$PANGOLIN_FULL_VER_OLD-sberlinux8.x86_64.rpm
sudo mkdir -p /etc/postgres
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/postgresql.service {path_to_service}/ # для конфигурации без Pangolin Manager
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/enc_utils_auth_settings.cfg /etc/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/pangolin* /usr/
sudo chown postgres:kmadmin_pg /etc/postgres
sudo chmod 771 /etc/postgres
sudo ln -sfnv $PGHOME /usr/pangolin
export PANGOLIN_VER_OLD=x.x.x
export PANGOLIN_DBMS_MAJOR_OLD=x
export PANGOLIN_DBMS_MINOR_OLD=x
export PGDATA=/pgdata/xx
sudo dnf remove -y pangolin-dbms* platform-v-pangolin-dbms
sudo dnf install -y ~/pangolin/cache/backup/pangolin_dbms/pangolin-dbms-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/ {path_to_service}/postgresql.service # для конфигурации без Pangolin Manager
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/*.conf $PGDATA/data/
sudo cp -raf ~/pangolin/cache/backup/pangolin_dbms/enc_utils_auth_settings.cfg /etc/pangolin-auth-encryption/
Где path_to_service - актуальный путь до service-файла компонента. В случае наличия функциональности «Отказ от root» это может быть путь /home/postgres/.config/systemd/user/. В случае отсутствия такой функциональности это может быть /usr/lib/systemd/system/, /lib/systemd/system/ или /etc/systemd/system/.
Шаг 9. Восстановление компонента клиентской части СУБД Pangolin
Произведите восстановление пакета компонента:
- Для версий до 6.2.0
- Для версий с 6.2.0
sudo dnf remove -y pangolin-dbms-client
export PANGOLIN_VER_OLD=x.x.x
export PANGOLIN_DBMS_MAJOR_OLD=x
export PANGOLIN_DBMS_MINOR_OLD=x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_dbms/pangolin-dbms-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-client-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
Шаг 10. Восстановление расширения pangolin-timescaledb
Произведите восстановление пакета расширения:
export PANGOLIN_TIMESCALEDB_OLD=x.x.x
export PANGOLIN_TIMESCALEDB_RELEASE_OLD=x.x.x
export PANGOLIN_DBMS_MAJOR_OLD=x
export PANGOLIN_DBMS_MINOR_OLD=x
sudo dnf remove -y pangolin-timescaledb*
sudo dnf install -y ~/pangolin/cache/backup/pangolin_timescaledb/pangolin-timescaledb-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-apache-$PANGOLIN_TIMESCALEDB_OLD-$PANGOLIN_TIMESCALEDB_RELEASE_OLD.sberlinux8-x86_64.rpm # для исходной версии с релизом
sudo dnf install -y ~/pangolin/cache/backup/pangolin_timescaledb/pangolin-timescaledb-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-apache-$PANGOLIN_TIMESCALEDB_OLD-sberlinux8-x86_64.rpm # для исходной версии без релизом
Шаг 11. Восстановление компонента pangolin-auth-password
Произведите восстановление пакета компонента:
- Для версий до 6.5.0
- Для версий с 6.5.0
sudo dnf remove -y pangolin-auth-password
export PANGOLIN_VER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_auth_password/pangolin-auth-password-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
Шаг 12. Восстановление компонента Pangolin Tuner
Произведите восстановление пакета компонента:
- Для версий до 6.5.0
- Для версий с 6.5.0
sudo dnf remove -y pangolin-tuner
export PANGOLIN_TUNER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_tuner/pangolin-tuner-$PANGOLIN_TUNER_OLD-sberlinux8.x86_64.rpm
Шаг 13. Восстановление компонента pangolin-diagnostic-tool
Произведите восстановление пакета компонента:
- Для версий до 6.2.0
- Для версий с 6.2.0 до 6.3.0
- Для версий с 6.3.0
Восстановление компонента производится нашаге 8.
sudo dnf remove -y pangolin-diagnostic-tool
export PGHOME=/usr/pangolin-x.x.x
sudo dnf remove -y pangolin-diagnostic-tool
sudo cp -raf ~/pangolin/cache/backup/pangolin_diagnostic_tool/diagnostic_tool $PGHOME/
export PANGOLIN_VER_OLD=x.x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_diagnostic_tool/pangolin-diagnostic-tool-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
Шаг 14. Восстановление опциональных пакетов
Произведите восстановление опциональных пакетов:
export PANGOLIN_VER_OLD=x.x.x
export PANGOLIN_DBMS_MAJOR_OLD=x
export PANGOLIN_DBMS_MINOR_OLD=x
sudo dnf remove -y pangolin-dbms-*-libpq pangolin-dbms-*-libpq-dev
sudo dnf install -y ~/pangolin/cache/backup/pangolin_dbms_libpq/pangolin-dbms-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-libpq-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
sudo dnf install -y ~/pangolin/cache/backup/pangolin_dbms_libpq_dev/pangolin-dbms-$PANGOLIN_DBMS_MAJOR_OLD.$PANGOLIN_DBMS_MINOR_OLD-libpq-dev-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
Шаг 15. Восстановление пакетов pangolin-untrusted расширений
Произведите восстановление пакетов расширений:
- Для версий до 6.6.0
- Для версий с 6.6.0
Восстановление компонента производится нашаге 8.
export PANGOLIN_VER=x.x.x
export PANGOLIN_DBMS_MAJOR=x
sudo dnf remove -y pangolin-dbms-$PANGOLIN_DBMS_MAJOR-{ext_name}-$PANGOLIN_VER
Где ext_name - название untrusted-расширения.
export PANGOLIN_VER_OLD=x.x.x
export PANGOLIN_DBMS_MAJOR=x
sudo dnf install -y pangolin-dbms-$PANGOLIN_DBMS_MAJOR-{ext_name}-$PANGOLIN_VER_OLD-sberlinux8.x86_64.rpm
Где ext_name - название untrusted-расширения.
Шаг 16. Восстановление пакетов сторонних расширений
Произведите восстановление пакетов расширений:
- Для версий до 6.6.0
- Для версий с 6.6.0
Восстановление компонента производится нашаге 8.
export PANGOLIN_DBMS_MAJOR=x
sudo dnf remove -y pangolin-pgrouting-$PANGOLIN_DBMS_MAJOR pangolin-postgis-$PANGOLIN_DBMS_MAJOR pangolin-pg-background-$PANGOLIN_DBMS_MAJOR
export PANGOLIN_DBMS_MAJOR_OLD=x
export PANGOLIN_POSTGIS_OLD=x.x.x
export PANGOLIN_PGROUTING_OLD=x.x.x
export PANGOLIN_PG_BACKGROUND_OLD=x.x
sudo dnf install -y ~/pangolin/cache/backup/pangolin_external/{postgis_pkg_name}-$PANGOLIN_POSTGIS_OLD-sberlinux8.x86_64.rpm
sudo dnf install -y ~/pangolin/cache/backup/pangolin_external/{pgrouting_pkg_name}-$PANGOLIN_PGROUTING_OLD-sberlinux8.x86_64.rpm
sudo dnf install -y ~/pangolin/cache/backup/pangolin_external/{pg_background_pkg_name}-$PANGOLIN_PG_BACKGROUND_OLD-sberlinux8.x86_64.rpm
Где:
postgis_pkg_name- наименование исходного пакета стороннего расширенияPostGIS(формат:pangolin-postgisилиpangolin-postgis-$PANGOLIN_DBMS_MAJOR_OLD);pgrouting_pkg_name- наименование исходного пакета стороннего расширенияpgrouting(формат: pangolin-pgrouting илиpangolin-pgrouting-$PANGOLIN_DBMS_MAJOR_OLD);pg_background_pkg_name- наименование исходного пакета стороннего расширенияpg_background(формат:pangolin-pg-backgroundилиpangolin-pg-background-$PANGOLIN_DBMS_MAJOR_OLD).
Шаг 17. Восстановление данных системного каталога
Выполните данный шаг, если было выполнено обновление данных системного каталога в процессе обновления на«Шаге 20».
Восстановите системный каталог согласно инструкции в разделе «Ручное восстановление данных системного каталога СУБД».
Шаг 18. Дополнительный действия
-
Произведите восстановление исходных файлов
.bash_profile,.bashrc,dynmotd.shдля пользователейpostgresиkmadmin_pg:sudo cp -raf ~/pangolin/cache/backup/pangolin_general/postgres/.bash_profile /home/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_general/postgres/.bashrc /home/postgres/
sudo cp -raf ~/pangolin/cache/backup/pangolin_general/kmadmin_pg/.bash_profile /home/kmadmin_pg/
sudo cp -raf ~/pangolin/cache/backup/pangolin_general/kmadmin_pg/.bashrc /home/kmadmin_pg/
sudo cp -raf ~/pangolin/cache/backup/pangolin_general/dynmotd.sh /usr/local/sbin/
sudo cp -raf ~/pangolin/cache/backup/pangolin_general/profile /etc/Внимание!Дополнительно произведите восстановление на узле арбитр.
-
Произведите удаление следов обновления:
export PGHOME_CLIENT_NEW=/usr/pangolin-dbms-client-x.x
export PGHOME_NEW=/usr/pangolin-x.x
sudo rm -rf $PGHOME_CLIENT_NEW $PGHOME_NEW
sudo rm -rf /etc/pangolin-auth-encryption # Произвести удаление для версий до 6.3.0
Шаг 19. Запуск компонентов СУБД Pangolin
-
Запустите компоненты СУБД Pangolin. В случае кластерной конфигурации действия по запуску произведите сначала на мастере, затем на реплике, после на арбитре:
- Без функциональности «Отказ от root»
- С включенной функциональностью «Отказ от root»
-
Для конфигурации с Pangolin Manager и модулем Pangolin DCS:
-
на мастере и реплике:
sudo systemctl daemon-reload
sudo systemctl start pangolin-pooler
sudo systemctl start pangolin-certs-rotate
sudo systemctl start pg_certs_rotate_agent
sudo systemctl start pangolin-auth-reencrypt@postgres
sudo systemctl start pangolin-auth-reencrypt@kmadmin_pg
sudo systemctl start pangolin_reencrypt@postgres
sudo systemctl start pangolin_reencrypt@kmadmin_pg
sudo systemctl start pangolin-manager
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit -
на арбитре:
sudo systemctl daemon-reload
sudo systemctl start pangolin-certs-rotate
sudo systemctl start pg_certs_rotate_agent
sudo systemctl start pangolin-auth-reencrypt@postgres
sudo systemctl start pangolin-auth-reencrypt@kmadmin_pg
sudo systemctl start pangolin_reencrypt@postgres
sudo systemctl start pangolin_reencrypt@kmadmin_pg
sudo systemctl start pangolin-manager
-
-
Для конфигурации с Pangolin Manager и etcd:
-
на мастере и реплике:
sudo systemctl daemon-reload
sudo systemctl start pangolin-pooler
sudo systemctl start pangolin-certs-rotate
sudo systemctl start pg_certs_rotate_agent
sudo systemctl start pangolin-auth-reencrypt@postgres
sudo systemctl start pangolin-auth-reencrypt@kmadmin_pg
sudo systemctl start pangolin_reencrypt@postgres
sudo systemctl start pangolin_reencrypt@kmadmin_pg
sudo systemctl start pangolin-manager
sudo systemctl start etcd
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit -
на арбитре:
sudo systemctl daemon-reload
sudo systemctl start etcd
-
-
Для конфигурации без Pangolin Manager:
-
на мастере:
sudo systemctl daemon-reload
sudo systemctl start pangolin-pooler
sudo systemctl start pangolin-certs-rotate
sudo systemctl start pg_certs_rotate_agent
sudo systemctl start pangolin-auth-reencrypt@postgres
sudo systemctl start pangolin-auth-reencrypt@kmadmin_pg
sudo systemctl start pangolin_reencrypt@postgres
sudo systemctl start pangolin_reencrypt@kmadmin_pg
# в случае наличия файла `postgresql.service`:
sudo systemctl start postgresql
# в случае отсутствия файла `postgresql.service`:
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit
-
-
Для конфигурации с Pangolin Manager и модулем Pangolin DCS:
-
на мастере и реплике:
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
systemctl --user daemon-reload
systemctl --user start pangolin-pooler
systemctl --user start pangolin-certs-rotate
systemctl --user start pg_certs_rotate_agent
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
systemctl --user start pangolin-manager
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit
sudo -iu kmadmin_pg
systemctl --user daemon-reload
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
exit -
на арбитре:
sudo -iu postgres
systemctl --user daemon-reload
systemctl --user start pangolin-certs-rotate
systemctl --user start pg_certs_rotate_agent
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
systemctl --user start pangolin-manager
exit
sudo -iu kmadmin_pg
XDG_RUNTIME_DIR=/run/user/$(id -u) DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user daemon-reload
XDG_RUNTIME_DIR=/run/user/$(id -u) DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user start pangolin-auth-reencrypt
XDG_RUNTIME_DIR=/run/user/$(id -u) DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user start pangolin_reencrypt
exit
-
-
Для конфигурации с Pangolin Manager и etcd:
-
на мастере и реплике:
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
systemctl --user daemon-reload
systemctl --user start pangolin-pooler
systemctl --user start pangolin-certs-rotate
systemctl --user start pg_certs_rotate_agent
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
systemctl --user start pangolin-manager
systemctl --user start etcd
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit
sudo -iu kmadmin_pg
systemctl --user daemon-reload
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
exit -
на арбитре:
sudo -iu postgres
systemctl --user daemon-reload
systemctl --user start etcd
exit
-
-
Для конфигурации без Pangolin Manager:
-
на мастере:
sudo -iu postgres
export PGHOME_CLIENT=/usr/pangolin-x.x.x
export PGDATA=/pgdata/xx
systemctl --user daemon-reload
systemctl --user start pangolin-pooler
systemctl --user start pangolin-certs-rotate
systemctl --user start pg_certs_rotate_agent
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
# в случае наличия файла `postgresql.service`:
systemctl --user start postgresql
# в случае отсутствия файла `postgresql.service`:
$PGHOME_CLIENT/bin/pg_ctl start -D $PGDATA/data
exit
sudo -iu kmadmin_pg
systemctl --user daemon-reload
systemctl --user start pangolin-auth-reencrypt
systemctl --user start pangolin_reencrypt
exit
-
-
Запустите сторонние сервисы:
sudo systemctl restart crond -
Для конфигурации с Pangolin Manager выведите компонент из режима паузы:
sudo -iu postgres
export CLUSTERNAME=clustername
/opt/pangolin-manager/bin/pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml edit-config --set 'pause=true' --force
/opt/pangolin-manager/bin/pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml restart $CLUSTERNAME
exit