Перенос 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!!!» и ОС перенесена не будет.
А как перенести на уже размеченный диск, где и схема разметки другая (было BSDlabel, а на новом GPT) и размеры SWAP и / ?
а как подключали новый диск? например если новый SSD-диск, то через usb кабелем или как?
В соседний sata слот. После переноса старый диск убирается.
ssd 128gb переносится на ssd 512gb минут за 20
не совсем верно написал — занятые 65гб на 128 ссд перенеслись на 512 ссд за 20-25 мин
и! если у вас на исходном диске меньше 50% свободного места не удивляйтесь сообщению
[WARN] Partition / moving in unsafe mode!
это не страшно, бэкап проходит «на лету», но также работоспособен
Добрый день, у меня на Фряхе 11.3 zfs так не получилось... Хотел склонировать ссд 56 гб на 48 гб, пишет illegal operation!
Народ подскажите как перенести диск на машину с другим контроммером. Есть 2 разные системы виртуализации esxi и proxmox. У них разные контроллеры по своей реализации. Когда переносешь диск на proxmox система не загружается.