Назад | Перейти на главную страницу

Какой самый безопасный способ сделать резервную копию базы данных графитового шепота?

Какой самый безопасный способ сделать резервную копию базы данных графитового шепота, безопасно ли просто использовать tar или есть другой метод, необходимый для предотвращения повреждения?

Есть несколько вариантов резервного копирования подобных баз данных, и если предположить, что есть простой механизм для обеспечения согласованности (временная остановка доступа к базе данных / блокировка доступа на запись и т. Д.), Все они примерно одинаковы.

Ключевым моментом (как упоминает Крейг Эсти в своем комментарии) является использование некоторого механизма для обеспечения согласованности того, что вы пишете. Нет смысла делать резервную копию базы данных, если вы собираетесь получить мусор!

Я нашел эта ссылка из Swift, который показывает, как они использовали LD_PRELOAD и flock() для блокировки файлов Whisper и резервного копирования баз данных в согласованном состоянии. Похоже, они тоже с открытым исходным кодом код!

В общем, для резервного копирования подобных вещей:

Tar it up

Плюсы:

  • просто
  • Портативный
  • Никаких дополнительных инструментов не требуется
  • Скорость сжатия гибкая (xz, gzip, bz2)

Минусы:

  • Потенциально медленно
  • Инкрементное резервное копирование возможно, но немного ошибочно

Rsync это

Плюсы:

  • Также просто
  • Быстро
  • Инкрементное резервное копирование легко
  • Сжатие при транспортировке

Минусы:

  • Использует SSH, поэтому, если вы не копируете на удаленный сервер, может быть медленнее, чем другие инструменты
  • Сжатие невозможно в конце без использования tar / gzip и т. Д.

Снимки файловой системы

Плюсы:

  • Почти мгновенно
  • просто
  • Наверное, экономия места?

Минусы:

  • Требуется настройка приводов с LVM / подобными
  • Не так просто, как другие решения.