Как обеспечить непротиворечивое резервное копирование? [дубликат]

На этот вопрос уже есть ответ:

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

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

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

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

1
задан 8 May 2019 в 18:41
1 ответ

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


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

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

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

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

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

В итоге вам понадобятся:

  • атомных снимков во всех LUN
  • журнал
  • система хранения, в которой фактически фиксируются подтвержденные записи
0
ответ дан 4 December 2019 в 03:00

Теги

Похожие вопросы