Rose debug info
---------------

Перенос FreeBSD на другой жесткий диск с помощью clonehdd.

В моей домашней файлопомойке-торрентокачалке в один прекрасный день smartctl показал, что диск «помирает». Соответственно диск пришлось менять. А т.к raid’а там нет, то вариантов было 2: либо полностью устанавливать и настраивать систему на новом диске, либо каким-то образом попытаться перенести ОС с неисправного диска на новый. Естественно я стал искать решения по второму варианту, т.к настраивать все заново мне не хотелось.
Для переноса я использовал утилиту clonehdd, огромным плюсом этой утилиты является, то что она может перенести полностью установленную freebsd даже на диск другого размера. Для меня это было критично, т.к для замены в «закромах» мной был найден диск меньшего размера, чем стоял изначально. Т.к изначально скриншоты я не делал, скриншоты для статьи пришлось делать в виртуалке.
Установим clonehdd. Утилита есть в портах, установим

# whereis clonehdd
clonehdd: /usr/ports/sysutils/clonehdd
# cd /usr/ports/sysutils/clonehdd
# make install clean

Или устанавливаем из пакетов
Для старых версий freebsd:

# pkg_add -r clonehdd

Для новых версий:

# pkg install clonehdd

Затем выключаем тачку, подключаем новый диск и загружаемся. Теперь у нас подключено 2 диска:

ada0 - диск с системой
ada1 - новый диск на который нужно перенести нашу ОС

Перенести все довольно просто одной командой. Правда процесс довольно длительный(у меня он занял около 12 часов) и если работа ведется по ssh, то запускать лучше в screen. Запустим клонирование диска:

# clonehdd -src=ada0 -dst=ada1 -swap=1024 -force
-src - исходный диск
-dst - новый диск
-swap - сколько места выделить под своп
-force - не задавать лишних вопросов

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

P.S.: Если впоследствии новый диск также выйдет из строя и потребуется снова переносить ОС на другой диск, то удалите в корне файл backup-mode. Иначе clonehdd будет завершаться с сообщением «You are working from backup device. Please stop clone script usage!!!» и ОС перенесена не будет.

Поделиться
Отправить
2014   clonehdd   Freebsd   hdd
7 комментариев
Юрий 2019

А как перенести на уже размеченный диск, где и схема разметки другая (было BSDlabel, а на новом GPT) и размеры SWAP и / ?

Владимир 2020

а как подключали новый диск? например если новый SSD-диск, то через usb кабелем или как?

Петр Аникин 2020

В соседний sata слот. После переноса старый диск убирается.

Вадим 2020

ssd 128gb переносится на ssd 512gb минут за 20

Вадим 2020

не совсем верно написал — занятые 65гб на 128 ссд перенеслись на 512 ссд за 20-25 мин

Вадим 2020

и! если у вас на исходном диске меньше 50% свободного места не удивляйтесь сообщению
[WARN] Partition / moving in unsafe mode!
это не страшно, бэкап проходит «на лету», но также работоспособен

Артём 2020

Добрый день, у меня на Фряхе 11.3 zfs так не получилось... Хотел склонировать ссд 56 гб на 48 гб, пишет illegal operation!

Константин Фалин 2021

Народ подскажите как перенести диск на машину с другим контроммером. Есть 2 разные системы виртуализации esxi и proxmox. У них разные контроллеры по своей реализации. Когда переносешь диск на proxmox система не загружается.