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

Как обеспечить согласованное резервное копирование?

Я использую MongoDB 4.0 с механизмом хранения WiredTiger под CentOS 7. Файлы данных хранятся на смонтированном томе XFS.

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

я прочел Эта статья который дает различные варианты создания снимков, но не дает подробностей о том, как обеспечить Действительная база данных на момент создания снимка.

В дополнение к описанному методу LVM я также рассмотрел xfsdump и даже рассмотрели rsync (поскольку данные состоят из множества небольших файлов). Но независимо от метода создания снимка / копирования, как мне убедиться, что резервная копия находится в согласованном состоянии?

Только один способ обеспечить единообразие резервной копии, восстановить ее и выборочную проверку данных. Естественно, это требует процедур, чтобы взять сначала последовательное резервное копирование ...


В базы данных всегда пишут. Методы моментального снимка файловой системы требуют создания атомарного моментального снимка тома через все своих LUN. Это может сделать только уровень системы хранения или уровень LVM. (Не копировать файлы.)

Поведение согласованности зависит от используемой СУБД. Из эта ссылка:

Для механизма хранения WiredTiger файлы данных отражают согласованное состояние на момент последней контрольной точки. Контрольные точки выполняются каждые 2 ГБ данных или каждую минуту.

Эти контрольные точки сохраняются на диске с помощью обычных системных вызовов ввода-вывода (возможно, pwrite() и fsync()). Если в системе хранения есть энергозависимый кеш и он выходит из строя, записи могут быть потеряны.

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

Таким образом, вам необходимо:

  • атомарные снимки для всех LUN
  • журнал
  • система хранения, в которой подтвержденные записи фактически совершаются