Клонирование очень удобно, если необходимо создать несколько идентичных систем. Но меня беспокоит следующее. Насколько мне известно, при форматировании файловой системы и даже во время ее использования плохой сектор диска может быть отмечен файловой системой как «плохой». Инструменты клонирования (такие как dd и подобные) не проверяют качество секторов и копируют все сектора так же, как на исходном носителе. Пожалуйста, поправьте меня, если я ошибаюсь в одном из этих предположений.
Итак, мои вопросы:
Есть ли риск, что на целевом носителе есть поврежденные сектора, которые при клонировании не будут помечены как «плохие» и приведут к повреждению или нестабильности системы?
Если такой риск существует, насколько он велик для HDD, SDD, SD Card?
Наконец, учитывая все, когда клонирование можно считать хорошей практикой?
Если ответы хорошо известны, направьте меня к нужным источникам информации, потому что я не могу найти удовлетворительный ответ на Serverfault или Google. Спасибо.
На современных дисках переназначение поврежденных секторов встроено в логику самого диска. Это означает, что функция файловых систем для маркировки сбойных секторов - это пережиток прошлого, который больше не служит цели.
Это не значит, что вы никогда не увидите ошибок чтения из-за плохих блоков. Попытка прочитать из плохого блока, который еще не был переназначен, приведет к ошибке чтения. Переназначение не может быть выполнено до тех пор, пока данные не будут успешно прочитаны или перезаписаны. Таким образом, сбойные сектора на целевом диске должны снова стать исправными (переназначенными) после записи образа на диск.
И количество блоков, помеченных как плохие на исходном диске, обычно равно нулю или, по крайней мере, слишком мало, чтобы о них беспокоиться.
По этим причинам я не считаю плохие блоки проблемой, которую необходимо учитывать при клонировании дисков.
Другими более важными проблемами являются следующие: - Достаточно ли велик целевой диск? Даже носители, которые согласно официальным спецификациям имеют одинаковый размер, могут иметь внутреннюю ревизию и из-за этого иметь немного разные размеры. - Могло ли какое-либо программное обеспечение запутаться из-за того, что две разные файловые системы имеют одинаковый идентификатор?
Вы можете избежать проблем, связанных с размером, оставив немного свободного места в конце носителя. И одинаковые идентификаторы файловой системы становятся проблемой только в том случае, если вы позже собираетесь использовать два клона на одной машине.
В большинстве случаев производственные диски не содержат плохих блоков, поскольку они выбрасываются при первом таком событии. На это есть логическая причина: сравните среднюю стоимость жесткого диска со средней зарплатой профессионального системного администратора. И вы даже не подсчитали, сколько данных на этом диске.
Но если мы видим гипотетическую ситуацию, когда диски с плохими блоками могут оставаться в своей профессиональной среде бизнес-серверов, есть также возможности для решения этих случаев.
Обычно на жестком диске есть только несколько плохих блоков по сравнению с количеством блоков без каких-либо проблем.
Существуют инструменты, способные клонировать образы дисков, обрабатывая ошибки чтения, вызванные поврежденными секторами. Очень хороший пример - инструмент ddrescue
в мире unix.
Риск события плохого блока, пока существует клон. В моей профессиональной карьере такое случалось 2 раза за 15 лет. Риск есть, но он невелик. Вам нужно всегда иметь резервную копию от всего!
Клонирование - это, как правило, хорошая вещь, хотя я клонирую в основном не путем копирования на уровне блоков, а просто путем переформатирования и копирования на уровне файлов. (mke2fs
, а потом cp -vfa
или tar -cvf - mountpoint/|nc targetserver
). Это обрабатывает плохие блоки и перемещает только использованные блоки. Нет необходимости также копировать пустые блоки, для систем ssd это даже очень плохое поведение, потому что это может привести к перезаписи пустых блоков ssd с нулями.