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
Делаем Connect to Database
SELECT MARK_DESIGN_KSAFE(1);
\q
--
- HP Vertica 7.0.x Administrator’s Guide
- Legacy Backup Procedures (5.0)
- Backing Up the Database (5.0)
- Restoring the Database (5.0)
- Using Database Snapshots (5.0)
- Restoring Schema and Table Backups
- Increase k-safety from adminTools | HP Vertica
- MARK_DESIGN_KSAFE