Вопрос или проблема
Я хотел клонировать внешний жесткий диск объёмом 4 ТБ (sda) на внутренний жесткий диск объёмом 12 ТБ с хабом (sdb1) и настроить всё правильно, но при запуске dd в Putty с помощью команды ниже после примерно 20 минут Putty выдал сообщение об ошибке, когда отключился, вместе с множеством сообщений о секторах, которые я не скопировал (надо было сделать скриншот). Когда я снова вошёл в Putty, оба внешних диска отсутствовали в fdisk, lsusb не обнаружил их, и они отсутствовали на странице дисков в OpenMediaVault (я использовал его как NAS). Я подумал, что у меня нет выбора, кроме как перезагрузить систему, это был RasPi, и файловая система оригинального диска вернулась в OMV, но была очищена, а на новом диске отсутствовала файловая система. Я потерял только несколько видео, но всё равно очень расстроен. Что я сделал не так? Разве нельзя клонировать диск на раздел? Была ли ошибкой использование Putty с таймаутом? Или что-то другое?
dd if=/dev/sda of=/dev/sdb1 bs=4K conv=noerror,sync
Ответ или решение
Клонирование дисков с использованием команды dd
может быть рискованным, особенно если не соблюдаются некоторые основные правила. Позвольте мне объяснить, что могло пойти не так в вашем случае и как избежать подобных проблем в будущем.
Ошибки в вашем подходе:
-
Клонирование в раздел:
Вы использовали командуdd
для клонирования данных из одного диска (/dev/sda
) в раздел другого диска (/dev/sdb1
). Это не является правильным подходом, так какdd
работает с целыми дисками, а не с отдельными разделами. Вместо этого, вам следует клонироватьsda
вsdb
(без указания на раздел), что приведёт к копированию всей структуры разделов и данных. Правильная команда будет выглядеть так:dd if=/dev/sda of=/dev/sdb bs=4K conv=noerror,sync
-
Прерывание процесса:
Если сессия в Putty прерывается при выполнении командыdd
, это может привести к некоему повреждению или неполной записи. Так как клонирование – это интенсивная операция, лучше делать её с подключённым монитором и, возможно, без использования SSH. -
Неиспользование свопа или других процессов:
Raspberry Pi, как и любой другой компьютер, может испытывать проблемы с памятью или другими ограничениями ресурсов. Убедитесь, что используется достаточное количество оперативной памяти и процессорной мощности для выполнения операций сdd
.
Потеря данных:
К сожалению, если вы уже перезаписали или повредили файловую систему на обоих дисках, восстановить данные будет довольно сложно. Вам, возможно, придётся использовать специализированные инструменты для восстановления данных, такие как TestDisk
или PhotoRec
, хотя успех не гарантирован.
Рекомендации по улучшению процесса:
-
Используйте полный диск:
Всегда клонируйте один диск (или раздел) в другой полный диск. Убедитесь, что целевой диск (или раздел) пуст. -
Создание резервных копий:
Перед выполнением операций на таких больших объёмах всегда делайте резервные копии важных данных, чтобы избежать потери. -
Используйте безопасные методы:
Рассмотрите возможность использования других инструментов, таких какrsync
для синхронизации данных между дисками, что может быть более безопасным и менее рискованным способом. -
Избегайте длинных сессий через SSH:
Если вы используете Putty, убедитесь, что у вас стабильное соединение, или выполняйте команды непосредственно из терминала Raspberry Pi. -
Мониторинг процесса:
Будьте внимательны и следите за процессом клонирования, чтобы избежать потери данных из-за отключения или ошибок.
Следуя этим рекомендациям, вы сможете более безопасно клонировать диски в будущем и, возможно, минимизировать риск потери данных.