Как вы проверяете восстановление?

Какой инструмент (ы) вы бы использовали для проверки целостности и целостности восстановленной файловой структуры? Моя среда - файловый сервер Windows Server 2008. (Мы используем ленту для резервного копирования, но это несущественно.)

Я специально ищу инструмент, который будет:

  • Запишите имена всех файлов и папок в указанном каталоге
  • Опционально рассчитать контрольные суммы каждого файла
  • Сохраните этот индекс в удобочитаемом формате
  • Сравните индекс с восстановленными данными и покажите различия

Немного предыстории: мне недавно пришлось заменить диски на нашем файловом сервере. Обновление должно было начаться через 36 часов после последней полной резервной копии, поэтому я создал дифференциальную резервную копию. Однако оказывается, что одно из наших приложений очищало бит архива для файлов, сохраненных на сервере, поэтому они не были включены в дифференциальную резервную копию. Я не знал об этом, пока мои пользователи не сообщили о пропаже некоторых файлов.

Помимо этого, есть ли другие распространенные методы для проверки целостности восстановления? Мне часто говорят, что тестирование резервных копий путем их восстановления - единственный способ узнать, что резервные копии работают, но как вы справляетесь со случаем, когда он работает правильно на 99%, а остальные 1% молча терпят неудачу?


Обновление: видимо, мне нужно уточнить несколько вещей.

  • Я уже использую полные резервные копии, когда это возможно, но иногда ситуация требует дифференциального резервного копирования. Когда это происходит, мне нужно убедиться, что каждый файл в исходных данных также находится в восстановленных данных.
  • Я уже использую функцию проверки в Backup Exec, но это только гарантирует, что все записанное на ленту может быть снова прочитано.
  • Я иногда выполняю выборочные восстановления, чтобы убедиться, что резервный носитель не поврежден.

Я уже знаком с распространенным мнением, что "лучший способ проверить резервную копию - это восстановить ее". Это необходимый шаг, но его НЕ достаточно. Возможность восстановления файлов, для которых вы создали резервную копию, НЕ гарантирует, что все нужные вам файлы были скопированы в первую очередь. Это проблема, которую мне нужно решить.

8 ответов

Решение

В Linux доступно множество инструментов, которые хорошо подходят для этой задачи. Вы можете использовать mount.cifs для монтирования общих папок Windows на хосте Linux или просто запустить Cygwin прямо на файловом сервере.

Перед началом резервного копирования используйте find Команда для рекурсивной итерации из указанного каталога и записи результатов в файл. Этот список может быть сохранен вместе с резервной копией для дальнейшего использования.

find /path/to/dir > list_before.txt

Если вы хотите, чтобы контрольные суммы вычислялись для каждого файла, просто передайте вывод через md5, Эта команда показывает только имена файлов, потому что папкам не нужны хэши.

find /path/to/dir -type f -print0 | xargs -0 md5 > md5_before.txt

После восстановления резервной копии создайте другой список файлов, используя ту же команду, а затем используйте diff чтобы найти различия между ними. В идеале эта команда не должна выводить.

diff list_before.txt list_after.txt

Не то, что вы хотите услышать, но я могу позволить себе роскошь использовать эталонные среды с соотношением 1:1 для всех моих платформ именно для таких тестов.

Извините, не могу оставить комментарий.)

Насколько я могу судить (я не специалист по Windows), решение Nic должно работать в Windows "изначально" (просто найдите и получите UnixUtils для win32 или любого другого подобного пакета).

Вы также можете diff каталоги напрямую (опционально с трейлингом > difffile):

diff -r /path/to/what-to-backup /path/to/restored-data

Лучший способ проверить резервную копию - это восстановить ее. Все остальное - это компромисс - нет ничего плохого в компромиссах, но вам действительно нужно восстановить данные для проверки.

В идеальном мире вы будете восстанавливать DR каждые 6–12 месяцев и чаще восстанавливать случайные файлы, но любая процедура, когда вы восстанавливаете хотя бы один сервер на виртуальную машину и проверяете его загрузку после этого, является хорошим началом,

Это то, что вы должны сделать в дополнение к любой процедуре проверки, которую имеет само программное обеспечение для резервного копирования.

Backup Exec (в последних версиях) должен проверять после резервного копирования по умолчанию. Дважды проверьте это, хотя, должен быть флажок в настройках.

Вы можете посмотреть опцию "Запись контрольных сумм на носитель", чтобы сохранять контрольные суммы после каждой резервной копии, и рассмотреть возможность сохранения журналов заданий для сравнения от запуска к запуску. Я не знаю формат этих файлов, но вы можете получить списки файлов или, по крайней мере, информацию о размере для сравнения, в качестве отправной точки.

Прежде всего, включите опцию "проверить" в выбранном вами приложении резервного копирования, а затем продолжайте выполнять резервное копирование, где это возможно.

Вы можете использовать дополнительные приложения для выполнения всех действий, которые вы хотите, но они будут длиться столько же, сколько и резервное копирование. Может быть, что-то добавить к нагрузке выходных ваших серверов?

Я использую комбинацию методов для резервного копирования. Я использую оперативное резервное копирование, а также получаю еженедельные образы своих производственных серверов. Я делаю тестовое восстановление ежемесячно случайных файлов, таких как базы данных SQL, и прикрепляю их и проверяю их работоспособность.

С моими образами я делаю резервное копирование P2V своих серверов с помощью SCVMM в большое SAN. Для тестирования DR я могу собрать их все в отдельной среде IP. Если сервер когда-либо физически выходит из строя, я могу вызвать виртуальную машину сервера, которой всегда меньше недели, и восстановить любые расхождения из оперативной резервной копии. У меня также есть одна машина XP, присоединенная к домену, которая находится в этой закрытой среде, где я могу тестировать все свои приложения и электронную почту. Я делаю это каждые 6 месяцев или около того, чтобы обеспечить хорошую среду DR.

Я бы восстановил файлы в тестовом месте и использовал бы такой инструмент, как Winmerge:

http://lifehacker.com/290657/compare-and-merge-files-and-folders-with-winmerge

сравнить их с первоисточником. Также есть Windiff:

http://www.computerperformance.co.uk/w2k3/utilities/windiff.htm

Я также рекомендую создавать резервные копии ваших ценных данных тремя различными способами, особенно если вы не проверяете резервные копии каждый день. Я бы предложил Backup Exec на магнитную ленту, внешнее резервное копирование файла rsnapshot и резервное копирование на диск:

http://backuppc.sourceforge.net/

работает локально. Попробуйте Backuppc, вы будете мне благодарны. Когда что-то пойдет не так, вы оцените разнообразие вариантов.

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