Хотел обсудить с уважаемым сообществом (неуважаемых просьба пройти в толксы) тему бэкапов с помощью снимков на уровне логических дисков (lvm snapshots) или их аналог в zfs (не изучал, знаю только примерно).
Суть в чём. Обычно, снэпшоты позиционируются как универсальное решение для любого (ну почти) случая. Типа, заморозил, скопировал дамп неспешно, отморозил. Но ведь в большинстве случаев нельзя уверенно сказать, что в момент заморозки данные на диске актуальные. При чём, для каждого сервиса способ сброса и приведения своих файлов данных в непротиворечивое целостное состояние - различный. Для mysql - flush & lock, для mcedit - save & sync и так далее. Кому-то достаточно sigusrN, а кто-то в принципе не умеет морозить файлы данных.
Соответственно, админ должен уметь не только делать снэпшоты, но и понимать, как их согласовывать с бегущими на сервере сервисами. Кроме того, если вдруг список сервисов меняется (программисты накатили апдейт и какой-то новый кусок апликации внезапно начал mmap'ить большие файлы данных) - нужно под всех их подстроиться.
Отсюда вопрос. Я прав? Снэпшоты не панацея и надо в любом случае делать всё аккуратно и согласованно с сервисами?
Я просто всю жизнь бэкапился rsync'ом. Обычно этого хватало. Всякие mysql старался бэкапить стандартными средствами (условно, mysqldump), когда это позволяли объемы баз данных. В общем-то, если я прав в предыдущих абзацах, то особой разницы с несогласованными снэпшотами нету. rsync даже выгоднее, потому что сильно экономит на передаче данных (бинарные дельты и вообще, файлы меньше дисков).
P.S. Речь идёт только о снимках дисков. Снимки виртуальных машин (единое согласование состояние процессора, памяти и дисков заведомо можно записать, это понятно) я не беру во внимание.