Удаление#
Ручное удаление#
Чтобы полностью очистить кластер от всех компонентов продукта СУБД Pangolin, выполните следующие шаги на каждом узле:
Обозначения
Далее в разделе используются следующие переменные:
<service_name>- имя сервиса;<package_name>- наименование rpm/deb-пакета;<path_to_file_or_directory>- путь до файла или папки;<user>- имя пользователя.
Шаг 1. Остановка сервисов#
Остановите сервисы командой:
sudo systemctl stop <service_name>Список сервисов, которые необходимо остановить:
etcd.service patroni.service pangolin.service haproxy.service pgbouncer.service confd.service postgresql.service pangolin_reencrypt@postgres.service pangolin_reencrypt@kmadmin_pg.service pangolin-auth-reencrypt@postgres.service pangolin-auth-reencrypt@kmadmin_pg.service pangolin-auth-reencrypt.service pg_receivewal.service pg_certs_rotate_agent.service pangolin-certs-rotate.service pangolin-manager.service pangolin-pooler.service pangolin-pqgd.serviceПерезагрузите сервисы командой:
sudo systemctl reload
Шаг 2. Удаление ссылок на исполняемые файлы#
Для удаления ссылок выполните команды:
/usr/pangolin/bin/pangolin-linker remove
/usr/pangolin-dbms-client/bin/pangolin-linker remove
Шаг 3. Удаление пользователей и групп#
Остановите задания планировщика для пользователей
kmadmin_pg,postgres,etcd:sudo crontab -r -u kmadmin_pg sudo crontab -r -u postgres sudo crontab -r -u etcdОстановите все процессы для пользователей
kmadmin_pg,postgres,etcd:sudo pkill -9 -u kmadmin_pg sudo pkill -9 -u postgres sudo pkill -9 -u etcdОтключите логин для пользователей
kmadmin_pg,postgres:loginctl disable-linger kmadmin_pg loginctl disable-linger postgresУдалите пользователей
kmadmin_pg,postgres,etcd:sudo deluser --remove-home kmadmin_pg sudo deluser --remove-home postgres sudo deluser --remove-home etcdУдалите группы
kmadmin_pg,postgres,etcd,pangolin_users:sudo groupdel kmadmin_pg sudo groupdel postgres sudo groupdel etcdsudo groupdel sudo groupdel pangolin_users
Шаг 4. Удаление пакетов#
Удалите пакеты стандартных версий:
sudo dnf remove <package_name> -ysudo yum remove <package_name> -ysudo apt --purge autoremove <package_name> -ysudo apt-get remove <package_name> -yСписок пакетов, которые необходимо удалить:
etcd etcd-client etcd-server haproxy pg_probackup-11 confd rh-python36-python-psycopg2 python-psycopg2 rh-python36-python pangolin-manager pangolin-pooler pangolin-backup-tools ansible-venv pangolin-diagnostic-tool pangolin-ansible-venv-controlled pangolin-certs-rotate pangolin-pgq pangolin-pgqd pangolin-pgq-coop pangolin-pgsql-http pangolin-pgloader pangolin-postgis pangolin-pgrouting pangolin-pg-background pangolin-pg-dbms-lock pangolin-plpgsql-check pangolin-pgcopydb pangolin-auth-reencrypt pangolin-security-utilities pangolin-fullУдалите многоверсионные пакеты:
rpm -ev --erase --allmatches --noscripts --nodeps $(rpm -qa <package_name>)dpkg -l | grep '<package_name>' | awk '{print $2}' | xargs dpkg -PСписок пакетов, которые необходимо удалить:
postgresql-sber-edition platform-v-pangolin-dbms pangolin-dbms* pangolin-manager pangolin-pooler ansible-venv pangolin-timescaledb* pangolin-backup-tools*platform-v-pangolin-dbms pangolin-*Общий список компонентов
debug-infoдля удаления:pangolin-full-debuginfo pangolin-backup-tools-debuginfo pangolin-certs-rotate-debuginfo pangolin-dbms-*-debuginfo pangolin-dbms-*-client-debuginfo pangolin-dbms-*-libpq-debuginfo pangolin-manager-debuginfo pangolin-pooler-debuginfo pangolin-security-utilities-debuginfo
Шаг 5. Удаление записей sudoers_file#
Удалите записи в /etc/sudoers:
sudo rm -rf /etc/sudoers.d/10-kmadmin_pg
sudo rm -rf /etc/sudoers.d/10-postgres
Шаг 6. Удаление сообщения motd#
Для удаления записи выполните команды:
sudo sed -i '/\/usr\/local\/sbin\/dynmotd.sh/d' /etc/profile
sudo sed -i '/# Dynamic motd/d' /etc/profile
Шаг 7. Удаление рабочих файлов и папок#
Для удаления рабочих файлов и папок выполните команду:
sudo rm -rf <path_to_file_or_directory>
Примечание:
Параметр, указанный внутри
{{ }}, можно найти вcustom_config_initial.yml.Подробнее о
custom_config_initial.ymlчитайте в разделе «Автоматизированная установка при помощи запуска Ansible плейбука».
Список файлов и папок, которые требуется удалить:
/etc/systemd/system/pg_certs_rotate_agent.service
/etc/systemd/system/postgresql.service
/etc/systemd/system/patroni.service
/etc/systemd/system/patroni.service.old
/etc/systemd/system/etcd.service
/etc/systemd/system/pgbouncer.service
/etc/systemd/system/pgbouncer.service.old
/etc/systemd/system/confd.service
/etc/systemd/system/pg_receivewal.service
/usr/lib/systemd/system/pg_certs_rotate_agent.service
/usr/lib/systemd/system/postgresql.service
/usr/lib/systemd/system/patroni.service
/usr/lib/systemd/system/patroni.service.old
/usr/lib/systemd/system/etcd.service
/usr/lib/systemd/system/pgbouncer.service
/usr/lib/systemd/system/pgbouncer.service.old
/usr/lib/systemd/system/confd.service
/usr/lib/systemd/system/pg_receivewal.service
/etc/confd
/etc/pangolin-backup-tools
/etc/pangolin-certs-rotate
/etc/pangolin-auth-reencrypt
/etc/pangolin-encryption
/etc/pangolin-auth-encryption
/etc/pangolin-manager
/etc/pgbouncer
/etc/pangolin-security-utilities
/opt/pangolin-security-utilities
/etc/etcd
/etc/pangolin-pooler
/etc/postgres
/etc/motd
/opt/confd
/usr/local/bin/pgbouncer
/usr/local/pgsql
/usr/patroni
/usr/bin/etcd
/usr/sbin/etcd
/usr/sbin/haproxy
/usr/local/pgsql/
/usr/pgsql-se-06/
/usr/pgsql-se-old/
/opt/pangolin-common
/opt/omni
/pg_ssl
/pgarclogs
/pgbackup
/pgdata
/pgerrorlogs
/pgsql
/opt/pangolin-manager/
/opt/pangolin_cache
/opt/pangolin-certs-rotate
/etc/opt/omni/
/var/opt/omni/
/var/run/pangolin_reencrypt
/var/run/postgresql
/var/run//pangolin-pooler
/var/lib/etcd
/home/postgres/ansible_cache_dir
/tmp/PGSE
/tmp/major_update_scripts
/tmp/upgrade_protected_global.dump
/home/postgres
/etc/sudoers.d/10-kmadmin_pg
/etc/sudoers.d/10-postgres
/tmp/.crl.lock
/usr/local/sbin/dynmotd.sh
/usr/local/sbin/postgresql_clean_logs
/pg_backup_restore
/opt/pangolin_license
/opt/pangolin-diagnostic-tool
/opt/pangolin*
/var/messages-*
/usr/pgsql*
/usr/pangolin*
/opt/pangolin*
/pgarclogs/*
/pgdata/*
/pgdata
/pgbackup/*
/pgerrorlogs/*
/pgerrorlogs
/etc/systemd/system/*.rpm*
/etc/systemd/system/pangolin*.service
/usr/lib/systemd/system/*.rpm*
/usr/lib/systemd/system/pangolin*.service
Шаг 8. Удаление локальных репозиториев#
Для удаления локальных репозиториев выполните команды в зависимости от типа ОС:
sudo dnf clean metadata
sudo dnf clean all
sudo dnf makecache
sudo rm -rf /etc/dnf.repos.d/pangolin_local_repo*
sudo dnf clean all
sudo dnf makecache
sudo yum clean metadata
sudo yum clean all
sudo yum makecache
sudo rm -rf /etc/yum.repos.d/pangolin_local_repo*
sudo yum clean all
sudo yum makecache
sudo apt update
sudo apt update
sudo rm -rf /var/cache/apt/archives/pangolin_local_repo*
sudo rm -rf /etc/apt/sources.list.d/pangolin_local_repo*
sudo apt update
sudo apt update
sudo apt-get update
sudo apt-repo update
sudo rm -rf /var/cache/apt/archives/pangolin_local_repo*
sudo rm -rf /etc/apt/sources.list.d/pangolin_local_repo*
sudo apt-get update
sudo apt-repo update
Автоматическое удаление#
Для выполнения автоматического удаления выполните следующие действия:
Установите pip-пакеты в виртуальное окружение или напрямую в систему:
pip install cffi==1.15.0 cryptography==3.3.* Jinja2==3.0.3 jmespath==0.10.0 MarkupSafe==2.0.1 netaddr==0.7.19 packaging==21.3 pycparser==2.21 pyparsing==3.0.6 PyYAML==6.0 resolvelib==0.5.5 six==1.16.0 ansible==4.10.0Подготовьте inventory-файл, заполните адреса узлов и данные для доступа (см. раздел «Автоматизированная установка при помощи запуска Ansible плейбука», блок «Заполнение inventory-файлов»).
Запустите playbook очистки:
ansible-playbook playbook_clean.yaml i inventories/cluster/hosts.ini '-ssh-extra-args=-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -e 'ansible_ssh_pass=******' --flush-cache -vvvv -u <user> --extra-vars 'local_distr_path=/home/postgres/test_clean/installer custom_config=scripts/custom_dev.yml clean_vault=false'
Удаление компонентов#
Удаление компонентов предусмотрено в общем сценарии удаления продукта СУБД Pangolin.