Каков наиболее эффективный способ сделать резервную копию каталога, заполненного большими файлами резервных копий базы данных?

Мы используем NetBackup здесь, в Stack Exchange, и я работаю над обновлением нашей политики резервного копирования, чтобы сделать ее более эффективной.

В настоящее время мы используем SQL 2008 R2 и у нас есть планы обслуживания SQL для резервного копирования данных в файл.bak. Как только этот файл записан, мы создаем резервную копию каталога, в котором хранятся файлы.bak.

Мы не используем агент SQL для NetBackup, поскольку мы используем файлы.bak для других целей, помимо простых резервных копий.

Я думал о планировании ротаций Еженедельно / Различно /Cume, но учитывая тот факт, что каталоги будут иметь большие файлы, которые гарантированно будут обновляться каждый день, и учитывая, что наша система автоматически устаревает резервные копии, которые старше определенного количества дней Я думаю, что стандартный сценарий "офисный файловый сервер", вероятно, менее эффективен, чем другие методы.

Есть ли "самый эффективный" способ справиться с этим?

1 ответ

У меня очень мало опыта работы с резервными копиями SQL Server, поэтому возьмите все это с толку соли и исследуйте агенты SQL Server для различных технологий резервного копирования ( Bacula утверждает, что у них есть такая возможность), прежде чем пытаться использовать мою полусгоревшую схему ниже.


Мое решение для резервных копий баз данных очень сильно зависит от PostgreSQL: я зеркалирую на ведомое устройство, затем, когда приходит время резервного копирования, я закрываю это ведомое устройство, позволяю Bacula создать резервную копию каталога DB и перезапустить ведомое устройство, чтобы оно могло нагнать репликацию.
Это дает преимущество быстрого восстановления и справедливого компромисса по размерам резервных копий (резервное копирование выполняется только для файлов резервной копии, которые были изменены, но процесс резервного копирования захватываетвсю таблицу, а не только дельту).

Нечто подобное может работать в вашем случае. На первую кисть я бы предложил:

  1. Настройте подчиненный сервер
  2. Настройте компьютер на удаленном сайте, на котором запущен демон rsync для команды rsync.
  3. Каждую ночь во время резервного копирования выключайте ведомое устройство и выполняйте синхронизацию файлов базы данных с удаленным сайтом, затем перезапускайте ведомое устройство и дайте ему нагнать репликацию.

Это очень похоже на то, что я делаю, за исключением того, что напрямую rsyncВ ваших данных вы можете воспользоваться преимуществами сканирования на уровне блоков rsync (и, надеюсь, по сети передадите пропорционально меньше данных, чем я, получая файлы с полной поддержкой таблиц).

Другие вопросы по тегам