Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Файловая система —> clonehdd

clonehdd - копирование разделов жесткого диска на другой.

Автор: Morty.


Инструмент для копирования разделов жесткого диска на другой. FreeBSD хранит свои данные о  разделах, которые представлены как «партишены». Такое ПО , как, например, Partition Magic, Acronis и т.д. определяет лишь слайсы FreeBSD, а не реальные размеры «партишенов» на разделе(слайсе). CloneHDD являеться фронтендом написанном на перле к штатным инструментам системы , а именно к dump/restore.
Поэтому и работает данный инструмент на уровне файловой системы, а не на уровне разделов(слайсов) и соответсвтенно дает больше возможностей по переносу(бэкапированию) вашего HDD. Тоесть возможно переносить информацию с хардов разных размеров – с большего на меньший и наоборот, главное чтобы на харде было предостаточно свободного места для всей той информации которая будет перноситься.

Хотел было перевести ключи которые приведены в мане, но передумал, в интеренете  попал на ОпенНет, а там уже все это есть. Так что не стал этого делать , а то скажут что украл статью :-D

Ссылки на ман по clonehdd и на OpenNet
1)man clonehdd
2)http://www.opennet.ru/base/sys/clonehdd.txt.html

Програмка очень проста в использовании, чем и привлекает.
Устанавливаем
cd /usr/ports/sysutils/clonehdd 
make install clean

либо
pkg_add -r clonehdd

Дело вкуса, ставим кому как нравиться.
Далее делаем копию винчестра ad0 на ad1
clonehdd -src=ad0 -dst=ad1 -swap=512

По умолчанию програмка спрашивает, yes/no ? Если это будет мешать в работе
либо планируеться использовать в кроне можно использовать ключ
-force

И никаких вопросов не будет.
Далее наблюдаем такую картину. Либо если бэкапите по крону с ключом
-force читаем файлик в который был направлен вывод.
Clone parameters:
Source partition: /dev/ad0
Dest partition: /dev/ad1
Swap size: 512 MB
Safe dumping: Disabled
Free space on DST: 100 MB
Fstab device name: ad0
---
[OK] Found devices for clone procedure
[OK] DST partitions are not in use
---
Source partition
/usr size: 3872MB, used: 401MB
/var size: 1936MB, used: 23MB
/ size: 247MB, used: 38MB
/home size: 1749MB, used: MB
Total: 7806 MB, used: 464 MB
---
[OK] Device ad1 has enough free space
DATA ON DEVICE ad1 WILL BE DESTROYED NOW!
Wait 10 seconds before start: 10 9 8 7 6 5 4 3 2 1
[OK] Device /dev/ad1 made clean
[OK] New slice created
---
Destination device partitions:
SWAP size: 512 MB
/ size 568 MB
/var size 4444 MB
/usr size 8889 MB
/home size 4016 MB
---
[INF] Last partition were increased for 1 blocks
[OK] Partitions were created successfully
---

[OK] Partition /var was formatted successfully
Starting dump/restore procedure...      [OK]

[OK] Partition /usr was formatted successfully
Starting dump/restore procedure...      [OK]

[OK] Partition /home was formatted successfully
Starting dump/restore procedure...      [OK]

[OK] Partition / was formatted successfully
Starting dump/restore procedure...      [OK]
[OK] file /etc/fstab generated successfully

Всё, теперь у вас есть HDD - ad1 , который являеться полной копией ad0



размещено: 2008-08-30,
последнее обновление: 2008-08-30,
автор: Morty


m0ps, 2008-08-30 в 20:49:22

спасибо, думаю это может пригодиться в будущем...

lisergey, 2008-08-31 в 11:28:05

у clonehdd есть неприятный момент - он меняет последовательность разделов на втором винте
то есть на оригинальном
ad0s1a /
ad0s1d /usr
ad0s1e /var

а на втором получается
ad2s1a /
ad2s1d /var
ad2s1e /usr

несмертельно, но достаточно неприятно.

abigor, 2008-09-01 в 6:34:08

dd ни чего не меняет :)

OLD, 2008-09-01 в 12:43:38

Будьте внимательны. clonehdd не делает dst загрузочным. Это нужно сделать вручную.

KrivoSoft, 2008-09-02 в 11:26:05

В дополнение к статье, как альтернатива dd,clonehdd,dump/restore:

Под пользователем root выполняем серию из команды pax (по одной на каждую файловую систему), например:
# cd / ; pax -p eme -X -rw . /mnt/root
# cd /var; pax -p eme -X -rw . /mnt/var
# cd /usr; pax -p eme -X -rw . /mnt/usr

Ессно что разбвать разделы нового диска придется руками, но довольно часто как раз это и нужно, и никакая "автоматизация" не катит.
Пользую этот способ достаточно давно, для себя считаю самым удобным.

подробно тут: http://freebsd.web.am/how-to/w2w.html

Anton Lysenok, 2008-09-17 в 14:48:00

>Будьте внимательны. clonehdd не делает dst загрузочным. Это нужно сделать вручную.

DST отлично загружается. Почитай внимательно код.

Morty, 2008-09-17 в 21:22:21

Сам maintainer порта прокоментировал -)
так что думаю - прочь сомнения -)

kozlov_ao, 2008-10-06 в 8:33:33

Все там нормально переноситься.. только если клонировать винт с целью установки конечного вина на другую машину, скорее всего придется поправить fstab

Anton Lysenok, 2008-10-15 в 11:38:02

Изначально в новом fstab'e прописан девайс, который равен значению SRC (что-то типа /dev/${src}s1a и т.д.) если нужно это значение изменить, то задай -fstab=[..] Но это если ты заранее знаешь как этот винт определится.

Sergafan, 2009-02-12 в 14:36:19

Внимание!!! Если в системе установлен массив, то в качестве параметра src нужно указать имя массива ar0(ar1,....). А лучше, на мой взгляд, предварительно прибить массив и заниматься клонированием после этого. Сам не пробовал, такая мысль посетила после последующих шаманских танцев.

barsykoff, 2009-06-10 в 12:05:15

Подтверждаю тот факт, что DST не делается загрузочным.
Приходится править через fdisk, предварительно выполнив:
# sysctl kern.geom.debugflags=16

MASiK, 2009-11-22 в 9:12:05

Оправергаю тот факт что DST не делается загрузочным.
У меня всё работает, и уже был совет почитать код

alegor, 2009-11-26 в 3:39:45

После того как, был сделан клон и заменен старый диск, при попытке сделать клон с клона ругается вот так
#clonehdd -src=ad0 -dst=ad1 -swap=512 -force
Clone parameters:
Source partition: /dev/ad0
Dest partition: /dev/ad1
Swap size: 512 MB
Safe dumping: Disabled
Free space on DST: 100 MB
Fstab device name: ad0
---
You are working from backup device. Please stop clone script usage!!!

Anton Lysenok, 2009-11-26 в 13:32:59

alegor: Это защита от случайного "перепутывания" src и dst. Удалите в корне файл backup-mode. При его наличии программа отключается

alegor, 2009-11-27 в 3:25:40

я не до конца ман прочитал :), но все равно спасибо...
вернее пропустил раздел использование архивного диска.

gurov, 2010-11-07 в 19:49:57

Сделал по статье все работает. После выполнения клонирования поставил новый винт на место старого и все запустилось без проблем!

serg, 2012-02-15 в 9:31:01

на FreeBSD 9 не работает clonehdd-2.0.3

T_T, 2012-11-21 в 0:41:01

$ dmesg | grep ada

ada0 at ata3 bus 0 scbus3 target 0 lun 0
ada0: <WDC WD800JD-00JNC0 05.01C05> ATA-6 SATA 1.x device
ada0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes)
ada0: 76318MB (156299375 512 byte sectors: 16H 63S/T 16383C)
 -->  ada0: Previously was known as ad10 <--
ada1 at ata4 bus 0 scbus4 target 0 lun 0
ada1: <WDC WD5000AAKX-083CA1 19.01H19> ATA-8 SATA 3.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C)
 -->> ada1: Previously was known as ad12 <--
Trying to mount root from ufs:/dev/ada0p2 [rw]...

Alexandr, 2013-10-06 в 10:55:18

Статус: новичок.
На 9.1 не заработало. После установки Sams+Squid+Samba+IPFW+...+MC захотелось иметь зеркало. Клонировал диск Акронисом. После перезагрузки выдало boot image too large. Загрузил рабочую систему вместе с клонированным диском без его монтирования (поменялись местами ada0 <--> ada1). Набрал gpart show, нашел диск (ada0) у которого загрузочный сектор был равен 1Мб. Посмотрел его индекс - 2. У рабочего диска был 1, ну это Акронис что-то от себя навалял. Набрал gpart resize -i 2 -s 545K ada0. И получил нормальный размер загрузочного сектора. Только потом fstab нужно поправить на +1.

victorp, 2017-10-04 в 9:10:26

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



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0375 секунд
Из них PHP: 24%; SQL: 76%; Число SQL-запросов: 77 шт.
Исходный размер: 29813; Сжатая: 8390