Резервное копирование OrientDB в Ubuntu 14.04
Ubuntu | Комментировать запись
OrientDB – это многомодельная база данных NoSQL, поддерживающая графики и документальные БД. Это приложение Java можно использовать в любой системе. OrientDB также предоставляет полную поддержку ACID и репликаций master-master.
Резервное копирование данных OrientDB можно выполнить при помощи специального скрипта или интерфейса командной строки со встроенной поддержкой сжатия резервных файлов согласно алгоритму ZIP.
По умолчанию во время бэкапа OrientDB база данных блокируется до завершения операции резервного копирования. Но если операционная система была установлена на схему секционирования LVM, скрипт для резервного копирования может выполнять бэкап данных, не блокируя БД.
Примечание: LVM расшифровывается как Linux Logical Volume Manager.
Данное руководство поможет создать бэкап данных OrientDB на сервере Ubuntu 14.04.
Требования
- Настроенный сервер Ubuntu 14.04 (инструкции по начальной настройке сервера можно найти здесь);
- Предварительно установленная и настроенная СУБД OrientDB (пошаговое руководство по установке OrientDB – здесь).
1: Бэкап данных OrientDB с помощью скрипта
OrientDB поставляется со специальным скриптом для резервного копирования данных. Если вы установили OrientDB согласно данному руководству, то установка находится в каталоге /opt/orientdb; следовательно, необходимый скрипт хранится в /opt/orientdb/bin.
Для удобства работы рекомендуется создать отдельный каталог для хранения резервных копий. В данном руководстве для этого будет использоваться подкаталог backup каталога установки. Также резервные копии можно хранить в каталоге databases (это каталог данных приложения).
Чтобы создать каталог backup, введите:
sudo mkdir -p /opt/orientdb/backup
Новый каталог принадлежит пользователю root; передайте права собственности на него пользователю orientdb. Если этого не сделать, во время резервного копирования через интерфейс командной строки возникнет ошибка (об устранении данной ошибки можно прочесть в разделе 2).
sudo chown -R orientdb:orientdb /opt/orientdb/backup
Откройте каталог bin:
cd /opt/orientdb/bin
По умолчанию существует БД по имени GratefulDeadConcerts. Чтобы просмотреть содержимое этой и всех остальных БД, введите:
ls -l /opt/orientdb/databases
На экране появится примерно такой вывод (он сообщает о БД GratefulDeadConcerts и eck):
total 8
drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
drwxr-xr-x 2 orientdb orientdb 4096 Oct 4 06:30 GratefulDeadConcerts
В данном разделе показано, как выполнить бэкап обеих баз данных при помощи скрипта. Для выполнения этой операции используется пользователь admin с паролем admin. Чтобы выполнить стандартную операцию резервного копирования (то есть такую, что блокирует базу данных на некоторое время) базы GratefulDeadConcerts, введите:
sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip
Чтобы скопировать базу данных eck:
sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip
Убедитесь в том, что бэкап выполнен успешно:
ls -lh ../backup
Команда должна вернуть примерно такой результат:
total 236K
-rw-r--r-- 1 root root 17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip
2: Бэкап OrientDB при помощи консоли
Данный раздел покажет, как создать резервную копию базы данных OrientDB при помощи консоли (интерфейса командной строки). Чтобы открыть консоль, введите:
sudo -u orientdb /opt/orientdb/bin/console.sh
На экране появится:
OrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Подключитесь к БД (для подключения используется стандартный пользователь admin с паролем admin).
connect plocal:/opt/orientdb/databases/eck admin admin
Команда вернёт:
Disconnecting from the database [null]...OK
Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK
orientdb {db=eck}>
Чтобы выполнить стандартное резервное копирование (в том же каталоге, что и в разделе 1), введите:
Backuping current database to: database /opt/orientdb/backup/eckconsole.zip...
- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms
...
- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
Backup executed in 0.33 seconds
Чтобы закрыть консоль OrientDB, введите:
exit
Убедитесь, что резервное копирование данных прошло успешно:
ls -lh ../backup
На экране появится вывод:
total 256K
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 10:39 eckconsole.zip
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip
3: Автоматическое резервное копирование OrientDB
OrientDB позволяет выполнять бэкап данных автоматически; по умолчанию эта функция отключена. Для примера в этом разделе показано, как настроить ежедневное автоматическое резервное копирование OrientDB. Сначала нужно отладить параметры резервного копирования в конфигурационном файле:
sudo nano /opt/orientdb/config/orientdb-server-config.xml
Найдите в файле элемент handler, содержащий class=”com.orientechnologies.orient.server.handler.OAutomaticBackup”. Когда эта опция включена, она включает другие настройки по умолчанию, которые автоматически запускают резервное копирование в 23:00:00 GMT с 4-часовыми интервалами. Ниже приведены настройки, запускающие резервное копирование в то же время, но один раз в день.
В целях тестирования можно настроить параметр firsttime по своему вкусу:
/opt/orientdb/config/orientdb-server-config.xml
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter value="true" name="enabled"/>
<parameter value="24h" name="delay"/>
<parameter value="23:00:00" name="firstTime"/>
<parameter value="backup" name="target.directory"/>
<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
<parameter value="9" name="compressionLevel"/>
<parameter value="1048576" name="bufferSize"/>
<parameter value="" name="db.include"/>
<parameter value="" name="db.exclude"/>
</parameters>
</handler>
Настроив параметры бэкапа, сохраните и закройте файл. Чтобы обновить настройки, остановите и перезапустите демон:
sudo service orientdb stop
sudo service orientdb start
В установленное время проверьте, работает ли резервное копирование; просмотрите каталог backup:
ls -lh /opt/orientdb/bin/backup
На экране появится вывод:
total 236K
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 16:00 eck-20151013160001.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip
Иногда инструмент автоматического резервного копирования «из коробки» не копирует стандартную базу данных GratefulDeadConcert; если в вашем случае это так – это нормальное поведение программы.
Заключение
Данное руководство продемонстрировало использование непрограммных методов резервного копирования данных OrientDB. Больше информации по данной теме можно найти в официальном руководстве.
Tags: OrientDB, Ubuntu 14.04