The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Клонирование дисков во FreeBSD (disk partition freebsd fdisk)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: disk, partition, freebsd, fdisk,  (найти похожие документы)
From: Bart Tapolsky Newsgroups: email Date: Mon, 29 Oct 2007 14:31:37 +0000 (UTC) Subject: Клонирование дисков во FreeBSD Любой из нас хорошенько задумывается над тем, как правильно разбить HDD при установке FreeBSD. Действительно, потом будет весьма проблематично изменить размер патриции при необходимости. Проблема заключается в том, что на жестком диске находятся, так называемые, слайсы, а уже в них инкапсулированы партиции. Это не всегда так, потому что есть еще и второй метод разметки HDD без слайсов, но в данной статье он не рассматривается. Популярные программы для работы с разделами HDD, такие как Partition Magic, Acronis могут удалить слайс, скопировать/переместить его посекторно, но никак не заглянуть внутрь и изменить размер той или иной партиции. Итак, есть система (далее, система - это установленная ОС FreeBSD, включающая в себя MBR, корневой раздел, SWAP, дополнительные разделы /tmp, /var и т.д.) на жестком диске объемом 80 ГБ. Задача: перенести систему на другой жесткий диск объемом 250 ГБ, увеличивая размеры партиций пропорционально увеличению объема HDD. В нашем случае это 250-80=170 ГБ. Вторая часть задачи: повторять эту процедуру автоматически, с определенным интервалом (для создания резервной копии системы). В обоих случаях, нужно скопировать систему полностью, т.е. не только файлы и каталоги, а и загрузочный сектор, загрузчик для сохранения возможности загрузки системы с полученной копии. Для выполнения задачи воспользуемся утилиткой CloneHDD. Взять ее можно здесь: http://sourceforge.net/projects/clonehdd Качаем дистрибутив последней версии и выполняем: tar -zxvf clonehdd-2.0.3.tar.gz -C /home/user/ Можно сделать проще - установить из портов: make install -C /usr/ports/sysutils/clonehdd После установки мы видим грозное предупреждение о том, что запуская clonehdd нужно семь раз отмерить а потом уже отрезать =)) Но все не так страшно, как кажется: программа изначально рассчитана так, что данные на исходном винте никогда и ни при каких условиях не подвергнутся записи. Это сообщение больше относится к нашему новому, чистому винту. Поэтому, если вы купили чистый винт и хотите на него переехать, то вряд ли clonehdd чем то сможет навредить. Работа с программой предельно проста. Для осуществления задуманного нам нужно всего один раз запустить утилиту с нужными параметрами. Вот о параметрах теперь поподробнее. -src=[device] Это исходный девайс на котором находится наша система. Чтобы узнать имя текущего винта, нужно выполнить команду "mount". Мы увидим таблицу, в первой колонке которой указаны имена примонтированных устройств. Вот, например, "/dev/ad0s1f". "/dev/" это папка, в которой находятся все устройства, "ad0" это нужное нам имя самого винта, "s1" слайс под номером 1, "f" имя партиции на слайсе. Вывод: значение этому параметру присваиваем "ad0" -dst=[device] Это девайс назначения. Именно сюда переедет ваша система. Узнать его можно, например, командой "cat /var/run/dmesg.boot". На экране появится список сообщений ядра при загрузке. Обычно, сообщения о найденных винтах находятся в самом конце. Ни одна партиция не должна быть примонтирована с этого винта, иначе CloneHDD выдасть ошибку. -swap=[size in MB] Размер будущего раздела SWAP. -freespace=[Required free space on dst partition] Если клонирование производится на винт меньшего размера, на DST винте после клонирования должен остаться небольшой кусочек свободного места, для того чтобы винт небыл на 100% заполнен после клонирования. По умолчанию - это 100МБ. Этим параметром его можно изменить. -safe [Required safe mode for `dump`] Включает режим безопасного копирования. В этом режиме сначала создается образ каждого раздела в папке .snap, а потом делается перенос. В "небезопасном" режиме, копирование производится на лету. Вся проблема в том что размер этого образа равен размеру данных на разделе. А т.к. образ будет записан на тот же раздел с которого производится копирование, на разделе долно быть минимум 50% свободного места. Вернемся к параметру -safe. Если параметр отсутствует, клонирование будет произведено в безопасном режиме если достаточно свободного места или в небезопасном режиме если этого места недостаточно. Если параметр задан, небезопасного копирования не будет, и разделы с недостатком свободного места склонированы не будут. -fstab=[Device name to write in fstab] После клонирования будет сгенерирован файл /etc/fstab на полученном винте. Параметр задает Имя девайса, который будет записан в этот файл. По умолчанию: девайс, заданный параметром -src. -force [Do not ask any questions] При выполнении второй части задачи, утилита будет выполняться из cron'а и нам не нужны лишние вопросы, в ходе выполнения программы. Данный параметр отключает интерактивный режим и вопрос "Are you sure?" задаваться не будет. Вернемся к нашей задаче. Мой исходный винт: ad0, новый винт: ad1. srv# clonehdd -src=ad0 -dst=ad1 -swap=1024 Clone parameters: Source partition: /dev/ad0 Dest partition: /dev/ad1 Swap size: 1024 MB Safe dumping: Disabled Free space on DST: 100 MB Fstab device name: ad0 --- [OK] Found devices for clone procedure [OK] DST partition is not in use --- Source partition /usr size: 64489MB, used: 10563MB /var size: 4958MB, used: 144MB / size: 1483MB, used: 82MB /tmp size: 1483MB, used: MB Total: 72415 MB, used: 10790 MB --- [OK] Device ad1 has enough free space 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: 1024 MB / size 1588 MB /tmp size 1588 MB /var size 5306 MB /usr size 69026 MB --- [INF] Last partition were increased for 3 blocks [OK] Partitions were created successfully --- [OK] Partition /tmp was formatted successfully Starting dump/restore procedure... [OK] [OK] Partition /var was formatted successfully Starting dump/restore procedure... [OK] [OK] Partition /usr was formatted successfully Starting dump/restore procedure... [OK] [OK] Partition / was formatted successfully Starting dump/restore procedure... [OK] [OK] file /etc/fstab generated successfully Видим сообщения об успешном клонировании. Теперь сделаем выполнение задачи по расписанию: выполнять каждый день в 2 часа ночи клонирование рабочего винта на запасной. Добавляем в файл /etc/crontab строку 0 2 * * * root clonehdd -src=ad0 -dst=ad1 -swap=1024 -force >/dev/null Обратите внимание, что >/dev/null убивает не все сообщения. Только обычные сообщения будут опущены. Все сообщения об ошибках отсылаются на выход STDERR, не попадают на /dev/null и будут отправлены cron'ом по почте системному администратору.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, lazy, 08:10, 30/10/2007 [ответить] [смотреть все]
  • –1 +/
    А вот интересно что лучше: копирование раздела (одинаковые винты) или зеркалный рейд винтов???
    У меня вот стоит gmirror, два винта по 250гб. и иногда после скочков электричества (когда упс несправляется) система не грузится, приходится ручками чекать основной винт и востанавливать рейд :(
    Но при простом копировании опять же бекап получается однодневной давности например.

    Что лучше?

     
     
  • 2.2, RedRat, 09:49, 02/11/2007 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Лучше будет отключить в gmirror автоматическую сборку зеркала, тогда при загрузк... весь текст скрыт [показать] [показать ветку]
     
  • 2.3, Bart Tapolsky, 19:07, 05/11/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если ты загонишь винты в РЕЙД и случайно удалишь что-то нужное, то ты не сможешь... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Haba, 11:58, 19/12/2007 [ответить] [смотреть все]  
  • +/
    А если я таким образом скину ide винт на sata, то потом с бекапа я смогу запустить новую рабочую систему?
     
     
  • 2.5, Bart Tapolsky, 12:01, 19/12/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, сможешь ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.47, risk, 10:35, 18/03/2013 [^] [ответить] [смотреть все]  
  • +/
    если подкорректировать fstab на -dst
     
  • 1.6, Антон, 14:42, 04/01/2008 [ответить] [смотреть все]  
  • +/
    А чем лучше воспользоваться, если я хочу не менять размеры разделов, либо менять так, чтобы осталось свободное (не размеченное) место на новом винте?
    Мне надо с 17Гб винта на 160Гб перелезть, а разделы у меня не все на одном винте...
     
  • 1.7, Vasil, 13:55, 31/01/2008 [ответить] [смотреть все]  
  • +/
    Млин... баги с клонированием.
    Сначала пишет [INF] Last partition where increased for 3 blocls
    line 10: :unknown disklabel field
    line 11: :unknown disklabel field
    line 12: :unknown disklabel field
    [OK] Partitions where created successfully

    newfs: /dev/ad2s1d: could not find special device

    [OK] Partition /tmp was formattend successfully
    mount: /dev/ad2s1d: No such file or directory
    Starting dump/restore procedure... [OK]
    umount: /mnt/clone: not a file system root directory
    ... Ну и т.д.

     
     
  • 2.19, Hatifnatt, 21:48, 21/10/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    gt оверквотинг удален Такая же проблема возникла, поставил из портов, начинает... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.26, zakat, 15:27, 09/07/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален По моим наблюдениям, эта ошибка возникает если на диске ... весь текст скрыт [показать]
     
  • 1.8, nowice, 15:44, 07/07/2008 [ответить] [смотреть все]  
  • +/
    не получается! несколько раз пробовал!
    При загрузке с клона, вылетает:

    can't load 'kernel'

    Винты одинаковые (SATA 80Gb)

    В чем проблема?

     
     
  • 2.10, Bart Tapolsky, 16:34, 19/08/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Версия ОС?
    Параметры clonehdd в студию!
     
  • 1.9, Bart Tapolsky, 16:33, 19/08/2008 [ответить] [смотреть все]  
  • +/
    Версия ОС?
    Параметры clonehdd в студию
     
  • 1.11, zakat, 00:53, 20/08/2008 [ответить] [смотреть все]  
  • +/
    Здравствуйте, Антон Искал возможность клонирования диска под FreeBSD Неожиданн... весь текст скрыт [показать]
     
     
  • 2.12, Bart Tapolsky, 13:37, 22/08/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, и при этом будет выдана ошибка, если необходимое место отсутствует Также не... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, nn_khv, 10:31, 16/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Антон, спасибо большое за очень полезную утилиту У меня такой вопрос Система... весь текст скрыт [показать]
     
     
  • 4.14, lazy, 11:54, 16/09/2008 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален Если я неошибаюсь, Вам нужно больше свободного места в ... весь текст скрыт [показать]
     
     
  • 5.15, nn_khv, 04:30, 17/09/2008 [^] [ответить] [смотреть все]  
  • +/
    спасибо большое, действительно, почистила логи и всё заработало.
     
  • 1.16, Дмитрий Донченко, 19:53, 29/09/2008 [ответить] [смотреть все]  
  • +/
    Спасибо за столь полезную утилитку, очень пригодилась.
     
  • 1.17, Azudim, 23:35, 09/10/2008 [ответить] [смотреть все]  
  • +/
    Пытаюсь на VWware клонировать подключенный физический диск с которого поднята гостевая FreeBSD на второй Виртуальный дис, CloneHDD ругается:
    You are working from backup device. Please stop clone script usage!!!

    Кто пытался подобную задачу решить?

     
     
  • 2.18, Anton Lysenok, 10:14, 10/10/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    После клонирования, на DST диске создается файл backup-mode, для того чтобы случ... весь текст скрыт [показать] [показать ветку]
     
  • 1.20, Anton Lysenok, 13:39, 10/11/2008 [ответить] [смотреть все]  
  • +/
    Другие полезные статьи вы сможете найти на http://unixpages.net/
     
  • 1.21, Андрей, 18:17, 17/11/2008 [ответить] [смотреть все]  
  • +/
    Скажите пожалуста, а новый диск на который я хочу сбросить образ ситемы нужно сначало примонтировать к FREEBSD (7.0) если можно описать с самого начала (Типо берем диск, подключаем в системный блок, включаем комп.... пошаговую мини инструкцию с остановками на монтовании и командах поподробнее) Я бы был примного благодарен! Заренее спосибо...
     
     
  • 2.22, Anton Lysenok, 19:00, 17/11/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Новый диск не должен быть примонтированным иначе программа выдаст ошибку Подклю... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, fucktor, 17:38, 17/02/2009 [^] [ответить] [смотреть все]  
  • +/
    можно ли этой утилитой клонировать диск с бэдами?
     
     
  • 4.24, Anton Lysenok, 13:20, 18/02/2009 [^] [ответить] [смотреть все]  
  • +/
    если содержимое диска читается, тогда можно ... весь текст скрыт [показать]
     
  • 1.25, Vitaliy, 13:03, 05/06/2009 [ответить] [смотреть все]  
  • +/
    Можно ли скопировать так, чтобы на целевом диске слайсы заняли место, меньше его полного объема? Можно ли скопировать на свободное место целевого диска, если там уже есть Free (или не Free)? Можно ли скопировать на свободное место исходного диска? Такие возможности (если их нет), были бы очень полезны.
    Лично мне так каэтся. А вообще софтинка - супер!
     
  • 1.27, Spectr, 19:39, 12/07/2009 [ответить] [смотреть все]  
  • +/
    Да. Но если бы была возможность указывать размеры слайсов на -dst диске. Вещь была бы вообще незаменимой. Например в случаях когда делается клонхдд на больший диск но нужно увеличить к примеру только раздел /usr, при этом остальные разделы должны остаться в прежнем размере...
     
     
  • 2.28, ale, 14:30, 08/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    подскажите, клонирую хард 400 Gb по времени уже часа три прошло, это нормально ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.29, wee1, 21:01, 09/08/2009 [^] [ответить] [смотреть все]  
  • +/
    Судя по вашей табличке, занятое пространство used составляет более 30 гиг В за... весь текст скрыт [показать]
     
  • 1.30, XDriver, 04:09, 20/08/2009 [ответить] [смотреть все]  
  • +/
    А если подключить к серверу по USB внешний HDD? Он клонирует на него? Кто-нибудь пробовал?

     
     
  • 2.31, XDriver, 04:34, 31/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если кому интересно, то клонирует на внешний HDD безо всяких проблем
     
     
  • 3.32, 4ita4ok, 12:33, 02/02/2010 [^] [ответить] [смотреть все]  
  • +/
    Народ помогите может я криворукий 1 есть два винта донор 40Гиг Сигейт барак... весь текст скрыт [показать]
     
     
  • 4.33, XDriver, 01:48, 03/02/2010 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален В BIOS какой порядок загрузки выставлен Там может быть ... весь текст скрыт [показать]
     
     
  • 5.34, 4ita4ok, 19:02, 03/02/2010 [^] [ответить] [смотреть все]  
  • +/
    В биосе все перепробовалотказывается Только есть при клонировании строчка что ... весь текст скрыт [показать]
     
     
  • 6.35, XDriver, 01:44, 04/02/2010 [^] [ответить] [смотреть все]  
  • +/
    Это нормально
    А если снять винт-донор и на его место вставить клон?

     
     
  • 7.36, 4ita4ok, 09:38, 04/02/2010 [^] [ответить] [смотреть все]  
  • +/
    DISK BOOT FAILURE INSERT SYSTEM DISK AND PRESS ENTER эта надпись меня уже вымор... весь текст скрыт [показать]
     
  • 1.37, napTu1, 10:23, 05/08/2010 [ответить] [смотреть все]  
  • +/
    сделал клонирование по сети:
    cd /usr
    dump -0aLf - /usr | gzip -2 | ssh -c blowfish \root@192.168.10.7 "cd /part2/usr && dd | gunzip --to-
    stdout | restore -rf -"

    но сначала настраиваются разделы и доступ по ssh

     
  • 1.38, cuc, 20:39, 24/10/2010 [ответить] [смотреть все]  
  • +/
    Програмка класная, но хотелось бы узнать чем определяется порядок слонирования разделов и нельзя ли его изменить, а то он начинает слонировать /var, например, а корень клонирует в конце, в результате если при клонировании происходит сбой, а такое у меня было с винтом где есть сбойные сектора (машина при этом првисает наглухо) корневая файловая система оказывается отсутствоющей, dist винт не способен к загрузке, начинать надо сначало, или производить закат солнца вручную, а так если бы можно было задавать порядок клонирования файловых систем, (а может быть и пропуска сбойных) можно было бы работать и со сбойными винтами
     
  • 1.39, Михаил, 18:58, 20/01/2011 [ответить] [смотреть все]  
  • +/
    Клонировал диски clonehdd -src=ad0 -dst=ad2 -swap=2048. Исходный винт 20Гб Диск на который клонирую 40Гб. После загрузки с клона пишет can't load kernel. Подскажите в чем дело?...ну очень надо На другом сервере клонировал все нормально.
     
  • 1.40, Михаил, 19:00, 20/01/2011 [ответить] [смотреть все]  
  • +/
    Версия FreeBSD 6.1
     
  • 1.41, Volkov Andrey, 18:28, 18/06/2011 [ответить] [смотреть все]  
  • +/
    Классная утилитка, вот только воспользоваться не получается ((

    Destination device partitions:
    SWAP size: 1024 MB
    Illegal division by zero at ./clonehdd line 240, <STDIN> line 1.

     
     
  • 2.42, Vitaliy, 12:43, 21/06/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Классная утилитка, вот только воспользоваться не получается ((
    > Destination device partitions:
    > SWAP size: 1024 MB
    > Illegal division by zero at ./clonehdd line 240, <STDIN> line 1.

    Не уверен на 100%. У меня так ругалось, когда брал права админа пользователем (хоть и weel). Когда зашел как root - заработало.

     
  • 1.43, Volkov Andrey, 17:58, 21/06/2011 [ответить] [смотреть все]  
  • +/
    Этот вопрос решил так:
    в файле: /conf/base/etc/fstab
    изменил строки:
    /dev/ufs/FreeNASs1a / ufs ro 1 1           на: /dev/ada0s1a / ufs ro 1 1
    /dev/ufs/FreeNASs3a /cfg ufs rw,noauto 2 2 на: /dev/ada0s3 /cfg ufs rw,noauto 2 2
    /dev/ufs/FreeNASs4 /data ufs rw 2 2        на: /dev/ada0s4 /data ufs rw 2 2

    NAS грузится нормально.
    утилита начала работать. но не долго ((
    создает папку /mnt/clone, что-то в нёё пишет. а потом сообщает:
    umount: /mnt/clone: not a file system root directory
    [WARN] Partition /data was unmounted 300 times
    Cannot unmount /mnt/clone on /data. Clone script aborted.

    на форуме http://forums.freenas.org/showthread.php?72-Using-the-full-USB-Drive&highligh
    много интересного написано, но мало что понятно (((

     
     
  • 2.44, Volkov Andrey, 13:12, 22/06/2011 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Оказалось - сам дурак )) dist указал не тот. стоит 3-и диска. путаницу внесла утилита, сказав на ada2, что он свободен. Когда всё правильно указал, сработало! Но цель не достигнута, дальше заморочки FreeNAS, с нового диска не грузится (((
    Еще раз спасибо за утилиту.
     
  • 1.45, Аццкий Герман, 13:20, 15/01/2012 [ответить] [смотреть все]  
  • +/
    От имени всех ламеров выражаю вам благодарность за  простую и понятную утилиту, не слишком перегруженную функциями.

    При загрузке с DST диска выскочила ошибка
    can't load 'kernel'
    Интуитивно решил эту "проблему" с помощью установки стандартного загрузчика FreeBSD.

     
  • 1.46, Alek, 16:26, 20/02/2012 [ответить] [смотреть все]  
  • +/
    Копирую с 80-ки на 40-ку...Где то час копирует и тупо останавливается...Жесткий не грузит(бедов нет).
    И ошибку постоянно выдаёт:
    /mnt/clone: write failed, filesystem is full

    Filesystem     Size    Used   Avail Capacity  Mounted on
    /dev/ad0s1a    4.7G    272M    4.1G     6%    /
    devfs          1.0K    1.0K      0B   100%    /dev
    /dev/ad0s1d    4.7G    662K    4.3G     0%    /tmp
    /dev/ad0s1e    9.4G    6.3G    2.4G    73%    /var
    /dev/ad0s1f     50G    2.7G     43G     6%    /usr
    /dev/ad2s1e    4.8G    4.8G   -396M   109%    /mnt/clone

     
  • 1.48, Михаил, 05:56, 28/03/2013 [ответить] [смотреть все]  
  • +/
    В связи с тем, что делаю вторую резервную копию диска с фряхой (FREEBSD 6.4) смонтировал диски на машине, отключенной от сети. Убил все лишние процессы, но, тем не менее, каждые 5 минут происходит обращение к сети
    Mart 28 08:30:02 mail postfix/sendmail[1074] fatal:parametr inet_interface:no local interface found for (мой ip)
    Собссно, вопрос:
    Процесс 1074 не отображается в топе (# top). Можно ли как-нибудь убить и его?
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor