Удаление#
Ручное удаление#
Чтобы полностью очистить кластер от всех компонентов продукта СУБД Pangolin, выполните следующие шаги на каждом узле:
Остановка сервисов#
Остановите сервисы командой:
sudo systemctl stop <имя сервиса>Список сервисов, которые необходимо остановить:
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
Удаление ссылок на исполняемые файлы#
Для удаления выполните:
/usr/pangolin/bin/pangolin-linker remove
/usr/pangolin-dbms-client/bin/pangolin-linker remove
Удаление пользователей и групп#
Остановите задания планировщика для пользователей 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
Удаление пакетов#
Удалите пакеты стандартных версий:
# команда для удаления в RPM-based системах sudo yum remove <имя пакета> -y # команда для удаления в DNF-based системах sudo dnf remove <имя пакета> -y # команда для удаления в DEB-based системах sudo apt --purge autoremove <имя пакета> -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-plpgsql-check pangolin-pgcopydb pangolin-auth-reencrypt pangolin-security-utilities pangolin-fullУдалите многоверсионные пакеты:
# Для RPM-based систем: rpm -ev --erase --allmatches --noscripts --nodeps $(rpm -qa <имя пакета>) # Для DEB-based систем: dpkg -l | grep '<имя пакета>' | awk '{print $2}' | xargs dpkg -PСписок пакетов, которые необходимо удалить:
# Список RPM пакетов: postgresql-sber-edition platform-v-pangolin-dbms pangolin-dbms* pangolin-manager pangolin-pooler ansible-venv pangolin-timescaledb* pangolin-backup-tools* # Список DEB пакетов: 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
Удаление записей sudoers_file#
Удалите записи в /etc/sudoers:
sudo rm -rf /etc/sudoers.d/10-kmadmin_pg
sudo rm -rf /etc/sudoers.d/10-postgres
Удаление сообщения motd#
Для удаления записи выполните команды:
sudo sed -i '/\/usr\/local\/sbin\/dynmotd.sh/d' /etc/profile
sudo sed -i '/# Dynamic motd/d' /etc/profile
Удаление рабочих файлов и папок#
Для удаления рабочих файлов и папок выполните команду:
sudo rm -rf <путь до файла или папки>
Примечание:
Параметр, указанный внутри «», можно найти в
custom_config_initial.yml.Подробнее о
custom_config_initial.ymlчитайте в документе «Руководство по установке», раздел «Автоматизированная установка Pangolin».
Список файлов и папок, которые требуется удалить:
#Пути к файлам и папкам для удаления
/etc/systemd/system/pangolin_reencrypt@.service
/etc/systemd/system/pangolin-auth-reencrypt@.service
/etc/systemd/system/pg_certs_rotate_agent.service
/etc/systemd/system/pangolin-certs-rotate.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
/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*
/etc/systemd/system/pangolin*.service
/var/messages-*
/usr/pgsql*
/usr/pangolin*
/opt/pangolin*
/pgarclogs/*
/pgdata/*
/pgdata
/pgbackup/*
/pgerrorlogs/*
/pgerrorlogs
/etc/systemd/system/*.rpm*
/etc/systemd/system/pangolin*.service
Удаление локальных репозиториев#
Для удаления локальных репозиториев выполните команды в зависимости от типа ОС:
# Команды для RPM-based систем:
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
# Команды для DEB-based систем:
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-файл, заполните адреса узлов и данные для доступа (см. документ «Руководство по установке», раздел «Заполнение 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 pprb_dev --extra-vars 'local_distr_path=/home/postgres/test_clean/installer custom_config=scripts/custom_dev.yml clean_vault=false'