Если команда завершилась успешно, то резервное копирование корректно, запрещая аппаратный отказ (который мог одинаково влиять на любую проверку, которую Вы могли бы выполнить). Может позже стать неправильным, если оборудование неисправно, но большая часть оборудования систем хранения обнаруживает повреждение.
Здесь существует один протест: в конвейере оболочка не сообщает об ошибках с левой стороны. (Это из-за довольно общего сценария, где правая сторона не должна считывать все данные, например. some_command | head
, и левая сторона умирает, потому что ее вывод больше не требуется.) Так здесь ошибка чтения от dd
был бы проигнорирован. В ударе, набор pipefail
опция сообщить об ошибках от всех частей конвейера.
Кроме того, остерегайтесь этого dd bs=…
игнорирует некоторые ошибки и dd
часто медленнее, чем альтернативы. Я рекомендую не использовать dd
вообще: это не обладает никакими преимуществами, чтобы просто скопировать целый файл. Вопреки тому, что Вы, возможно, считали где-нибудь, dd
не команда доступа к диску низкого уровня со специальным свойством, нет абсолютно никакого волшебства в dd
, волшебство находится в /dev/hda
.
shopt -s pipefail
set -e
</dev/hda buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
Тем не менее, если Вы хотите проверить резервное копирование, лучший способ состоит в том, чтобы взять криптографическую контрольную сумму на каждой стороне и сравнить их. Например:
ssh myuser@myhost "sha1sum image.img" &
sudo sha1sum /dev/hda
Проверьте, что эти две контрольных суммы идентичны.
Обратите внимание, что это тестирует, идентичны ли резервное копирование и оригинал во время проверки. Что-либо Вы изменяетесь на /dev/hda
, включая монтирование и размонтирование файловой системы даже, не внося изменения (который обновит последнюю дату монтирования во многих файловых системах), изменит контрольную сумму. Если Вы хотите проверить целостность позже, запишите контрольную сумму диска во время резервного копирования где-нибудь.
Как штопальщик и Giles упомянули, лучшая вещь сделать выполняется криптографические хеши сразу после того, как спина, прежде чем что-либо было изменено на Вашем исходном диске. Однако, при использовании диска с тех пор, хеши не будут, скорее всего, соответствовать. Даже изменение на один байт на диске приведет к совершенно другому хешу.
Хотя это - намного меньше, чем идеал, можно определить, проверяют изображение путем монтирования его. В системе, где образ диска, работает, следующее (создать /mnt/disk
если это не существует или нас альтернативное местоположение):
mount -o loop image.img /mnt/disk
Можно затем просмотреть вокруг в /mnt/disk
и посмотрите все файлы. Проверьте sha1 хеши критических файлов в изображении против оригиналов для проверки их целостности.
/dev/hda
изменился, так как спина была сделана, хеши не будут соответствовать. – bahamat 20.08.2012, 07:39