Friday January 05 2018 02:59, Eugene Grosbein wrote to Andrew Kant:
AK>>>> Hа счёт бэкапов живых файловых систем - как обычно, если нет AK>>>> средств у приложений как-то подготовиться, то можешь получить AK>>>> неконсистентное состояние. Hо здесь тебя ничего не спасёт - разве AK>>>> bsd-шный dump сможет тебе красиво сдампить файлы mysql если в них AK>>>> в этот момент что-то меняется? VS>>> Ответ, насколько я понимаю, скорее положительный: сможет. Потому VS>>> что dump использует ufs snapshots, а они создаются с учетом VS>>> операций записи в файлы, т.е. snapshot is FS-aware. Или он даже VS>>> приостанавливает запись на диск на момент создания снэпшота, я не VS>>> помню. Побочным следствием этого является тот факт, что при VS>>> активной записи на диск можно очень долго дожидаться окончания VS>>> создания снэпшота, у меня такое бывало. AK>> И откуда FS знает, что приложение записало всё что нужно на диск, а AK>> не оставило где-то в буферах?
EG> Это называется "crash-consistent backup", то есть бекап, EG> восстанавливающий файлов файлы к тому же состоянию, в каком они были бы EG> при аварийном ребуте системы в момент (начала) создания снапшота/бекапа.
Спасибо, кэп :)
EG> Обязанностью приложений (типа mysqld) является модификация своих EG> файлов EG> таким образом, чтобы минимизировать потери данных при авариях системы EG> и если приложение это делает (а СУБД обычно делают), то и такой бекап EG> тоже получится юзабельным.
Опять-же, с определённой долей вероятности. И на промышленных бд обычно никто не станет копировать базу снэпшотом, вместо этого воспользуются средствами самой субд, которые гарантируют консистентность.