Тема: GPT vs dd
Доброго времени суток.
Всю сознательную молодость использовал в качестве резервного диска в системе диск, склонированный средствами dd. Это позволяло в случае смерти первого просто переставить шлейф во второй и продолжить жизнь. Скрипт такого вида срабатывал каждую ночь:
#!/bin/sh
in=ad0
out=ad1
dd if=/dev/$in of=/dev/$out bs=1m
Неожиданностью стало что этот номер не проходит во FreeBSD 9...
через пару минут после запуска dd возникает вот такая ошибка:
dd: /dev/ada0: Input/output error
3007+0 records in
3007+0 records out
3153068032 bytes transferred in 62.043828 secs (50820011 bytes/sec)
В messages следующая запись:
kernel: GEOM: ada1: the secondary GPT table is corrupt or invalid.
kernel: GEOM: ada1: using the primary only -- recovery suggested.
Как я понимаю в процессе посекторного копирования переносится GPT, но не вся сразу и в какой-то момент ядро регистрирует состояние CORRUPT и сбивает dd...
# gpart status
Name Status Components
ada0p1 OK ada0
ada0p2 OK ada0
ada0p3 OK ada0
ada0p4 OK ada0
ada0p5 OK ada0
ada0p6 OK ada0
ada1p1 CORRUPT ada1
ada1p2 CORRUPT ada1
ada1p3 CORRUPT ada1
ada1p4 CORRUPT ada1
ada1p5 CORRUPT ada1
ada1p6 CORRUPT ada1
Как правильно клонировать один винт на другой, чтобы система не вмешивалась?