Резервное копирование в HP Vertica 6.1.3

vbr.py - это Python-скрипт, который предоставляет HP Vertica для резервного копирования базы данных. Утилита позволяет:
  • делать backup-ы;
  • восстанавливать backup-ы;
  • просматривать список backup-ов;
  • копировать БД в другой кластер.
Можно создавать:
  • полные backup-ы (из полного backup-а можно восстановить один или несколько объектов, или всю БД целиком) - FullDBSnap;
  • инкрементальные backup-ы;
  • backup-ы схем или таблиц (object-level backup-ы) - Schema1Bak, Table1Bak;
  • hard link backup-ы.
Данные могут сохраняться на:
  • каждом узле в кластере в локальную папку;
  • один или несколько хостов вне кластера;
  • другой HP Vertica кластер (эффективно для клонирования БД).

vbr.py поддерживается создание и восстановление backup-ов между версиями HP Vertica 6.x. Object-level backup-ы не поддерживаются предыдущими версиями. Восстановление 5.x backup-ов в 6.x не поддерживается. backup.sh и restore.sh устарели и не совместимы с vbr.py, поэтому если backup создавался с помощью backup.sh то восстанавливаться он должен с помощью restore.sh.

Архивы состоят из набора одноименных backup-ов. Каждый архив может иметь собственную политику хранения. Например, если TBak имя object-level backup-а таблицы T, и вы создаете ежедневные backup-ы каждую неделю, то 7 backup-ов будут частью архива TBak. Хранение backup архива позволяет вернуться к любому сохраненному backup-у. 

Полные и object-level backup-ы хранятся на backup-хостах (компьютерных системах). Backup-ы сохраняются в специальной папке, в которой может храниться множество backup-ов и связанных с ними архивов. Все backup-ы в пределах одного backup location разделяют (share) между собой файлы данных посредством hard links. Также все backup-ы совместимые, т.е. можно восстановить любой object-level backup из того же места из которого был восстановлен полный backup.

Чтобы оценить размер backup-а нужно выполнить следующее:
su dbadmin
/opt/vertica/bin/adminTools
Выбрать пункт Connect to Database
db1:db1
select sum(used_bytes) as total_size from v_monitor.storage_containers;
Результирующее значение будет в байтах.

Чтобы сделать полный backup нужно выполнить следующее:
su dbadmin
cd ~
/opt/vertica/bin/vbr.py --setupconfig
Snapshot name (backup_snapshot): fullbak
Backup vertica configurations? (n) [y/n]: y
Number of restore points (1): 3
Specify objects (no default):
Vertica user name (dbadmin):
Save password to avoid runtime prompt? (n) [y/n]: y
Password to save in vbr config file (no default):
Node v_db1_node0001
Backup host name (no default): 127.0.0.1
Backup directory (no default): /home/dbadmin/backups
Config file name (fullbak.ini):
Change advanced settings? (n) [y/n]: n
Saved vbr configuration to fullbak.ini.

/opt/vertica/bin/vbr.py --task backup --config-file fullbak.ini

Чтобы восстановить полный backup нужно выполнить следующее:
su dbadmin
cd ~
/opt/vertica/bin/adminTools
Делаем Connect to Database
SELECT MARK_DESIGN_KSAFE(0);
\q 
Делаем Stop Database
/opt/vertica/bin/vbr.py --config-file=fullbak.ini -t restore
/opt/vertica/bin/adminTools
Делаем Connect to Database
SELECT MARK_DESIGN_KSAFE(1);
\q 

--