Как правильно сделать резервную копию Tarantool memtx? - PullRequest
0 голосов
/ 05 сентября 2018

Установка:

экземпляр tarantool, использующий хранилище memtx / винила. box.cfg.snapshot_period (как часто memtx делает снимки диска) установлен в 14400 (каждые 4 часа).

Пользователи выполняют свои ценные коммиты в БД, почти постоянно.

Система резервного копирования:

Я делаю резервные копии каждые 15 минут, вызывая box.backup.start () и копируя перечисленные файлы в хранилище резервных копий с помощью какого-либо внешнего скрипта.

Недавно я обнаружил, что контрольная сумма скопированных файлов изменяется только после создания снимка (каждые 4 часа).

Я проверил, включены ли какие-либо из файлов * .xlog (именно здесь memtx помещает всю информацию о коммите, насколько я знаю), в файлы резервных копий, а не в

Вещи, которые я хочу прояснить:

  1. Есть ли способ сделать резервную копию xlog файлов? Было бы достаточно просто скопировать их с остальной частью списка файлов? Или они могут быть изменены и стать несовместимыми во время процесса копирования между box.backup.start () и box.backup.stop ()?

  2. Есть ли какой-либо параметр для box.backup.start () для резервного копирования всей информации, хранящейся в memtx, если резервное копирование происходит между снимками?

Я вижу возможный обходной путь, делая снимок перед каждой резервной копией, но я хочу убедиться, что нет способа сделать резервную копию файлов xlog перед его реализацией.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вещи, которые я хочу прояснить: ...

Хорошо. Для 1 - 2. У меня есть предложение: просто скопируйте файлы, используя rsync или / и scp, а также любые другие внешние инструменты после достижения контрольной точки.

Означает, что нет возможности сделать это возможным, и вы не можете иметь поведение, которое вы описали с помощью box.backup. * Functions.

Я предпочитаю использовать rsync, а не только для Tarantool. Например, когда-то для лучшего опыта с архивными журналами (я хотел иметь точку восстановления) для PosgreSQL, я также использовал rsync.

0 голосов
/ 07 сентября 2018

ОК, box.backup.start () не был разработан для этого сценария - в нем перечислены файлы с контрольной точки, но не файлы WAL, созданные после контрольной точки. Похоже, вы используете резервное копирование для сценария, в котором мы обычно настраиваем репликацию.

В качестве обходного пути вы можете просто rsync () вашего en

...