Перейти к основному содержимому

Удаление

Ручное удаление

Чтобы полностью очистить кластер от всех компонентов продукта СУБД Pangolin, выполните следующие шаги на каждом узле:

Обозначения

Далее в разделе используются следующие переменные:

  • <service_name> - имя сервиса (формат - pangolin-pooler.service);
  • <package_name> - наименование rpm/deb-пакета (формат - pangolin-pooler);
  • <path_to_file_or_directory> - путь до файла или папки (формат - /etc/pangolin-pooler);
  • <OS> – наименование операционной системы и ее версия (формат - sberlinux8);
  • <major_product_version> – мажорная версия продукта (формат - x);
  • <minor_product_version> – минорная версия продукта (формат - x);
  • <product_version> – версия продукта (формат - 6.7.6);
  • uid_kmadmin_pg - uid системного пользователя kmadmin_pg (формат - xxx);
  • uid_postgres - uid системного пользователя postgres (формат - xxx);
  • <path> - полный путь к директории distributive или путь к дистрибутиву (формат - ~/distributive).

Шаг 1. Остановка сервисов

Произведите остановку сервисов:

sudo systemctl stop <service_name>

Список сервисов, которые необходимо остановить:

etcd.service
postgresql.service
pangolin-auth-reencrypt@postgres.service
pangolin-auth-reencrypt@kmadmin_pg.service
pangolin-auth-reencrypt.service
pangolin-certs-rotate.service
pangolin-manager.service
pangolin-pooler.service
sudo systemctl daemon-reload

Шаг 2. Удаление ссылок на исполняемые файлы

Произведите удаление ссылок на исполняемые файлы:

/usr/pangolin-dbms-server/bin/pangolin-linker remove
/usr/pangolin-dbms-client/bin/pangolin-linker remove

Шаг 3. Удаление пакетов

Произведите удаление пакетов:

sudo dnf remove <package_name> -y

Список пакетов, которые необходимо удалить:

etcd
etcd-client
etcd-server
pangolin-manager
pangolin-manager-venv
pangolin-pooler
pangolin-backup-tools
pangolin-backup-tools-venv
pangolin-diagnostic-tool
pangolin-ansible-venv-controlled
pangolin-certs-rotate
pangolin-auth-reencrypt
pangolin-security-utilities
pangolin-tuner
pangolin-auth-password
pangolin-copywala
pangolin-dbms-<major_product_version>.<minor_product_version>
pangolin-dbms-<major_product_version>.<minor_product_version>-client
pangolin-timescaledb-<major_product_version>.<minor_product_version>-apache
pangolin-pltcl
pangolin-plpython3
pangolin-plperl
pangolin-ltree-plpython3
pangolin-jsonb-plpython3
pangolin-jsonb-plperl
pangolin-hstore-plpython3
pangolin-hstore-plperl
pangolin-bool-plperl
pangolin*debuginfo*

Шаг 4. Удаление файлов конфигурации привилегий

Произведите удаление файлов конфигурации привилегий в каталоге /etc/sudoers:

sudo rm -rf /etc/sudoers.d/10-kmadmin_pg
sudo rm -rf /etc/sudoers.d/10-postgres

Шаг 5. Удаление сообщения motd

Произведите удаление следующих записей в файлах .profile и .bash_profile:

sudo sed -i '/# BEGIN Pangolin dynamic motd/,/# END Pangolin dynamic motd/d' /home/postgres/.profile
sudo sed -i '/# BEGIN Pangolin dynamic motd/,/# END Pangolin dynamic motd/d' /home/kmadmin_pg/.profile
sudo sed -i '/# BEGIN Pangolin dynamic motd/,/# END Pangolin dynamic motd/d' /home/postgres/.bash_profile
sudo sed -i '/# BEGIN Pangolin dynamic motd/,/# END Pangolin dynamic motd/d' /home/kmadmin_pg/.bash_profile

Шаг 6. Удаление рабочих файлов и папок

Произведите удаление рабочих файлов и папок:

sudo rm -rf <path_to_file_or_directory>

Список файлов и папок, которые необходимо удалить:

/etc/systemd/system/postgresql.service
/lib/systemd/system/postgresql.service
/home/postgres/.config/systemd/user/postgresql.service
/etc/systemd/system/pangolin-manager.service
/lib/systemd/system/pangolin-manager.service
/home/postgres/.config/systemd/user/pangolin-manager.service
/home/kmadmin_pg/.config/systemd/user/pangolin-manager.service
/etc/systemd/system/pangolin-pooler.service
/lib/systemd/system/pangolin-pooler.service
/home/postgres/.config/systemd/user/pangolin-pooler.service
/etc/systemd/system/etcd.service
/lib/systemd/system/etcd.service
/etc/systemd/system/pangolin-auth-reencrypt@postgres.service
/lib/systemd/system/pangolin-auth-reencrypt@kmadmin_pg.service
/home/postgres/.config/systemd/user/pangolin-auth-reencrypt.service
/home/kmadmin_pg/.config/systemd/user/pangolin-auth-reencrypt.service
/etc/systemd/system/pangolin-certs-rotate.service
/lib/systemd/system/pangolin-certs-rotate.service
/home/postgres/.config/systemd/user/pangolin-certs-rotate.service
/home/kmadmin_pg/.config/systemd/user/pangolin-certs-rotate.service
/var/lib/etcd
/etc/etcd
/etc/pangolin-manager
/etc/pangolin-manager-venv
/etc/pangolin-pooler
/etc/pangolin-backup-tools
/etc/pangolin-backup-tools-venv
/etc/pangolin-diagnostic-tool
/etc/pangolin-ansible-venv-controlled
/etc/pangolin-certs-rotate
/etc/pangolin-auth-reencrypt
/etc/pangolin-security-utilities
/etc/pangolin-tuner
/etc/pangolin-auth-password
/etc/pangolin-auth-encryption
/etc/pangolin-copywala
/opt/pangolin-copywala
/opt/pangolin-manager
/opt/pangolin-manager-venv
/opt/pangolin-pooler
/opt/pangolin-backup-tools
/opt/pangolin-backup-tools-venv
/opt/pangolin-diagnostic-tool
/opt/pangolin-ansible-venv-controlled
/opt/pangolin-certs-rotate
/opt/pangolin-auth-reencrypt
/opt/pangolin-security-utilities
/opt/pangolin-tuner
/opt/pangolin-auth-password
/opt/pangolin_cache
/etc/logrotate.d/pangolin-dbms
/etc/logrotate.d/pangolin-pooler
/etc/logrotate.d/pangolin-manager
/etc/logrotate.d/pangolin-certs-rotate
/etc/logrotate.d/pangolin-auth-reencrypt-postgres
/etc/logrotate.d/pangolin-auth-reencrypt-kmadmin_pg
/etc/sudoers.d/10-kmadmin_pg
/etc/sudoers.d/10-postgres
/tmp/.crl.lock
/tmp/.private/postgres/.crl.lock
/opt/pangolin-local-repos/pangolin_local_repo_<product_version>
/var/run/etcd
/var/run/postgresql
/var/run/pangolin-auth-reencrypt
/var/run/pangolin-certs-rotate
/var/run/pangolin-manager
/var/run/pangolin-pooler
/usr/pangolin-<major_product_version>.<minor_product_version>
/usr/pangolin-client-<major_product_version>.<minor_product_version>
/usr/pangolin
/usr/pangolin-<major_product_version>
/usr/pangolin-dbms-client
/usr/pangolin-dbms-client-<major_product_version>
/var/run/user/<uid_postgres>/etcd
/var/run/user/<uid_postgres>/postgresql
/var/run/user/<uid_postgres>/pangolin-auth-reencrypt
/var/run/user/<uid_postgres>/pangolin-certs-rotate
/var/run/user/<uid_postgres>/pangolin-manager
/var/run/user/<uid_postgres>/pangolin-pooler
/var/run/user/<uid_kmadmin_pg>/pangolin-auth-reencrypt
/pgarclogs/*
/pgdata/*
/pgbackup/*
/pgerrorlogs/*
/usr/local/sbin/dynmotd.sh

Шаг 7. Удаление локальных репозиториев

Произведите удаление локальных репозиториев в зависимости от типа ОС:

sudo rm -rf /etc/dnf.repos.d/pangolin_local_repo_<product_version>.repo
sudo dnf clean all
sudo dnf makecache

Автоматическое удаление

Для выполнения автоматического удаления выполните следующие действия:

  1. Установите пакет виртуального окружения Python (venv), поставляемый в составе архива 3rdparty:

    sudo dnf install -y /<path>/3rdparty/pangolin-ansible-venv-controller-<product_version>-<OS>.x86_64.rpm
    Подсказка

    Пример заполненной команды:

       cd ~/distributive/3rdparty
    sudo dnf install -y pangolin-ansible-venv-controller-6.7.6-sberlinux8.x86_64.rpm
  2. Активируйте созданное виртуальное окружение Python (venv):

    source /opt/pangolin-ansible-venv-controller/bin/activate
  3. Подготовьте inventory-файл, заполнив адреса узлов и данные для доступа (подробнее в разделе «Автоматизированная установка при помощи запуска Ansible плейбука», блок «Заполнение inventory-файлов»).

  4. Запустите playbook очистки. Пример команды запуска:

    cd ~/distributive/installer
    ansible-playbook playbook_clean.yaml -i inventories/standalone/hosts.ini --flush-cache -vv --extra-vars 'nolog=true local_distr_path=~/distributive/installer custom_config=~/distributive/installer/templates/custom_config_sample.yml clean_vault=false'
    примечание

    Укажите верный путь до hosts.ini в зависимости от типа конфигурации СУБД и местонахождения (плейбук находится в <path_to_distributive>/installer/). Если в hosts.ini не указан пароль, то добавьте в скрипт следующий ключ -e 'ansible_ssh_pass=******'.

    В параметр custom_config укажите путь до конфигурации.

Удаление компонентов

Удаление компонентов предусмотрено в общем сценарии удаления продукта СУБД Pangolin.