У меня есть несколько клиентских машин OSX, которые выполняют резервное копирование через TimeMachine в общие папки AFP на сервере Ubuntu Linux, экспортированные с помощью netatalk/afpd. Эти клиенты выполняют резервное копирование в любое время дня, каждый день. На сервере также есть другие важные не-TimeMachine AFP-ресурсы.
На сервере резервные копии TimeMachine представлены в виде разреженных пакетов - формата хранения данных, включающего множество «полос», - хранящихся в стандартной файловой системе EXT4. В этом sparsebundle скрыта файловая система HFS+, которую использует TimeMachine, но со стороны сервера это просто набор файлов диапазонов.
У меня есть rsnapshot, работающий каждые 4 часа на сервере, который выполняет резервное копирование всего сервера на съемный жесткий диск (который я часто заменяю). Поэтому rsnapshot также поддерживает эти разреженные полосы в определенное время дня.
Проблема заключается в том, что если rsnapshot запускается, когда на клиентском компьютере смонтирован sparsebundle, возможно, что rsnapshot перехватит несовместимое состояние sparsebundle, поскольку полосы могут измениться в процессе резервного копирования. Понятно, что это не способствует восстановлению резервной копии!
Я пытаюсь придумать способы обойти эту проблему. Кажется важным, чтобы sparsebundle не был смонтирован в тот момент, когда rsnapshot пытается сделать резервную копию. Со стороны сервера, единственный способ, которым я сейчас могу это сделать, - это отключить демон aftp, возможно, после ожидания размонтирования sparsebundle клиентом OSX. Недостатком этого является то, что он также переводит другие не связанные с TimeMachine экспорты AFP. Насколько я могу судить, afpd не позволяет (легко) добавлять / удалять экспорты - одна из опций - это сложная перезапись конфигурационных файлов afpd для отключения экспорта TM, но это все равно приводит к сокращению общих ресурсов AFP. время.
Есть ли способ лучше?