Мы используем NetBackup здесь, в Stack Exchange, и я работаю над обновлением нашей политики резервного копирования, чтобы сделать ее более эффективной.
В настоящее время мы используем SQL 2008 R2 и подготовили планы обслуживания SQL для резервного копирования данных в файл .bak. После того, как этот файл записан, мы создаем резервную копию каталога, в котором хранятся файлы .bak.
Мы не используем агент SQL для NetBackup, поскольку мы используем файлы .bak не только для простого резервного копирования, но и для других целей.
Я думал о составлении графика ротации Weekly / Diff / Cume, но с учетом того факта, что в каталогах будут большие файлы, которые гарантированно будут обновляться каждый день, и учитывая, что наша система автоматически удаляет резервные копии, которые старше определенного количества дней , Я думаю, что стандартный сценарий "офисного файлового сервера", вероятно, менее эффективен, чем другие методы.
Есть ли «наиболее эффективный» способ справиться с этим?
У меня очень мало опыта работы с резервными копиями SQL Server, поэтому отнеситесь ко всему этому с некоторой долей скепсиса и исследуйте агенты SQL Server на предмет различных технологий резервного копирования (Bacula утверждает, что у него есть один), прежде чем попробовать мою недоработанную схему ниже.
Мое решение для резервного копирования базы данных очень специфично для PostgreSQL: я зеркалирую подчиненное устройство, затем, когда наступает время резервного копирования, я выключаю это подчиненное устройство, позволяю Bacula выполнить резервное копирование каталога БД и перезапускаю подчиненное устройство, чтобы оно могло догнать репликацию.
Это дает преимущество быстрого восстановления и справедливого компромисса в отношении размеров резервных копий (резервное копирование выполняется только для файлов резервного копирования таблиц, но процесс резервного копирования захватывает все таблица, а не только дельта).
Что-то подобное может сработать и в вашем случае. Для начала я бы предложил:
Это очень похоже на то, что я делаю, за исключением того, что напрямую rsync
Имея свои данные, вы можете воспользоваться сканированием на уровне блоков rsync (и, надеюсь, отправить по сети пропорционально меньше данных, чем я получаю полные файлы поддержки таблиц).