+7 495 230 03 03 8 800 222 50 03
DevOps

Очистка базы данных ETCD (Patroni PostgreSQL)

Предположим, что имеется кластер ETCD, который используется кластером PostgreSQL (Patroni), и размер базы почти достиг значения в 2 ГБ.

  1. Заходим на сервер с ETCD и смотрим какие есть алерты:
    etcdctl alarm list
    		
  2. Смотрим статус всех нод ETCD (адреса и порты меняем на свои):
    etcdctl --write-out=table --endpoints=http://192.168.100.62:2379,http://192.168.100.61:2379,http://192.168.100.60:2379 endpoint status
    		
  3. Здесь нас интересует номер ревизии базы (значение “revision”):
    endpoint status -w json
    		
  4. Делаем снапшот базы ETCD:
    etcdutl snapshot status backup.db
  5. Обрезаем базу — в случае с PostgreSQL будет достаточно хранить последнюю 1000 ревизий, X – число, полученное в п.3:
    etcdctl compact (x-1000)
  6. Выполняем дефраг базы:
    etcdctl defrag
  7. Убеждаемся, что база теперь урезана, а в логах смотрим, что ошибки не возникают:
    etcdctl --write-out=table endpoints=http://192.168.100.62:2379,http://192.168.100.61:2379,http://192.168.100.60:2379 endpoint status
    tail -f /var/log/syslog
    		
  8. Если ранее ETCD сыпал ошибками, а в 1 шаге был найден алерт, то теперь его необходимо снять:
    etcdctl alarm disarm
    		

Настройку и поддержку Patroni PostgreSQL мы осуществляем в рамках DevOps-аутсорсинга!

Дата публикации: 10 января 2024
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.