Можно ли создавать дифференциальные резервные копии на основе снимков LVM (или, может быть, аналогичной техники)?
Я хотел бы выполнить резервное копирование моего интранет-сервера, на котором размещено несколько служб, и их баз данных (в настоящее время использующих Postgres 8, Postgres 9 и MySQL). Итак, я подумал о настройке резервные копии на основе доставки журналов (в дополнение к резервному копированию файловой системы), но все становится немного сложнее.
В качестве альтернативы я рассматриваю моментальные снимки LVM - но базы данных не маленькие, и мне нужно будет сэкономить место для резервных копий ...
Также важно, чтобы снимки LVM были в высшей степени безопасными для использования, когда база данных постоянно записывает файлы.
Ответ (для меня) - просто создать временный снимок LVM, использовать любой технику инкрементного резервного копирования, а затем сбросить моментальный снимок.
Что касается безопасности моментальных снимков LVM (которые мне обычно приходится делать во время работы БД), я вполне уверен, что они будут работать нормально. Чтобы покрыть остаточный риск, я выключаю базу данных один раз в неделю, прежде чем делать полную резервную копию.
Моментальные снимки LVM копируются при записи на уровне блочного устройства. Без какой-либо специальной активности в файловой системе или приложении они ведут себя так же, как при сбое и перезагрузке. Если вы можете приостановить работу приложения и файловой системы и сбросить все ожидающие записи перед созданием снимка, вы можете значительно повысить согласованность данных в снимке. Например, возьмите глобальную блокировку записи в базе данных, затем очистите файловую систему и сделайте файловую систему доступной только для чтения (некоторые файловые системы, такие как XFS, имеют явную опцию стабилизации), сделайте снимок, а затем разблокируйте все.
Что касается пространства для резервных копий, то моментальные снимки являются копией при записи, поэтому вам нужно только достаточно места, выделенного для моментального снимка, чтобы покрыть количество блоков, которые перезаписываются в действующей файловой системе в течение времени существования моментального снимка.