Апр 25

Проведем официальную архивацию большой базы данных UTM5. Ранее архивация никакими самописными скриптами не проводилась.

Имеем

  • биллинг NetUP UTM billing system core. Compile date: Apr 1 2016 13:13:49 Version:5.3-003-update15-bsd93_x64 Rev #15609У биллинга 6-летняя 40 гигабайтная база, к которой не применялись самопальные скрипты по архивации огромных таблиц.
  • Система FreeBSD localhost 9.3-RELEASE FreeBSD 9.3-RELEASE #0: Sun Nov 23 21:43:56 MSK 2014   @ :/usr/obj/usr/src/sys/GENERICIPFW  amd64

1. Делаем бекап базы данных. Воспользуемся стандартным скриптом в каталоге /netup/utm5/bin/utm5_backup.sh/netup/utm5/bin/utm5_backup.sh

2. После слова Done проверяем наличие бекапа базы в каталоге /netup/utm5/backup/ , копируем бекап на внешний носитель

3. Создаем архив через java-админку биллинга в разделе Настройки Архивирование БД — Создать

ВНИМАНИЕ: разработчики биллинга к сожалению не предусмотрели возможность архивирования хотя бы по годам. Поэтому наши 6-летние таблицы уйдут в один архив. Нет и возможности удаления из админки старых архивов. Например, старше 3 лет.

4. После запуска архивации начнется медленная процедура по переносу быстрорастущих таблиц в архивные таблицы. На нашей базе это действие заняло где-то ночь

5. После завершения архивации начинается самое страшное. В отчетах пропали все данные. В разделе Настройки — Архивирование БД наш архив подсвечивается красным, а в колонке статус висит единицы. Природа этого явления и расшифровка статусов в официальном руководстве не описана. Без паники.

6. Не знаю, как с точки зрения разработчиков, но мы решили остановить биллинг. Добавили в utm5.cfg следующие значения (при их отсутствии)

verify_database=enable

verify_archive_tables=enable

7. Стартуем ядро биллинга и (если не запустилось) rfw. Теперь начинается медленная процедура проверки архивных таблиц. Следить за проверкой можно в консоли mysql-сервера. С биллингом можно работать в обычном режиме. Проверка идет в фоне

mysql

show processlist;

8. После завершения проверки строка архива в разделе НастройкиАрхивирование БД позеленеет. А статус перейдет из единицы в нуль.

9. Теперь все отчеты будут доступны. Особого быстродействия при работе с ними не получилось, так как запаковались они в один архив.

10. Следующую архивацию можно производить не ранее чем через 28 дней

ВНИМАНИЕ: один из администраторов биллинга столкнулся с проблемами при архивировании в полночь последнего дня месяца. Считаю, что лучше делать архивацию в любой день, кроме последнего.

Комментировать