URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 14735
[ Назад ]

Исходное сообщение
"Как перенести FreeBSD на новый винт"

Отправлено kot , 24-Окт-07 19:49 
Всем доброго времени суток! У нас имеется роутер поднятый на FreeBSD, суть проблемы такова, ось установлена на старом 10 Гб винте, который вот-вот рассыпиться. Хотим перенести систему на новый винт. Имеется чистый не отформатированный винт. Надо подключить его к компу с FreeBSD, отформатировать, создать загрузчик и перенести саму систему. Как это сделать? Будь те добры как можно подробнее (шаг за шагом), потому что я FreeBSD не знаю.

Содержание

Сообщения в этом обсуждении
"Как перенести FreeBSD на новый винт"
Отправлено Answer , 24-Окт-07 20:11 
Лучше эту задачу поручить знающему человеку, т.к. могут возникнуть внештатные ситуации и/или есть какие-то особенности. Однако общий план переноса:
1) разбиваете новый хард
2) загрузившись с какого-нибудь freebsd ливецд
3) Монтируете все разделы старого и нового хардов
4) Копируете все со старого харда на новый
3) редактируете /etc/fstab на новом харде - в соответствии с новыми разделами.

ПС. Очень информативный вопрос, аш 3.14з##ц - даже версию оси не удосужились указать.


"Как перенести FreeBSD на новый винт"
Отправлено kot , 24-Окт-07 20:15 
>[оверквотинг удален]
>есть какие-то особенности. Однако общий план переноса:
>1) разбиваете новый хард
>2) загрузившись с какого-нибудь freebsd ливецд
>3) Монтируете все разделы старого и нового хардов
>4) Копируете все со старого харда на новый
>3) редактируете /etc/fstab на новом харде - в соответствии с новыми разделами.
>
>
>ПС. Очень информативный вопрос, аш 3.14з##ц - даже версию оси не удосужились
>указать.

Версия FreeBSD 6.1

Насчёт "разбиваете новый хард" можно по подробнее?
как именно это сделать?
Какие комнды для этого нужны и тд?
Пожалуйста, если можно, то можете привести пример разбивки харда под FreeBSD.


"Как перенести FreeBSD на новый винт"
Отправлено Answer , 24-Окт-07 21:19 
Вы пробывали обраться к документации? На офсайте в разделе хэндбук пошагово с пояснениями все расписано: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/di...

"Как перенести FreeBSD на новый винт"
Отправлено kot , 24-Окт-07 22:19 
Мне понятен тот момент, когда мы подключаем новый, уже отформатированный и разбитый, винт к системе и начинаем перемещать содержимое старого. Извините за ламерский вопрос, но как новый жёсткий диск форматнуть и разбить на нужные разделы. Как я понимаю для этого есть такие команды как sysinstall и fdisk. Не могли бы вы на примере показать? Допустим я подключил новый диск и система его определила как ad2. Какие дальнейшие мои действия?



"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 09:24 
>Мне понятен тот момент, когда мы подключаем новый, уже отформатированный и разбитый,
>винт к системе и начинаем перемещать содержимое старого. Извините за ламерский
>вопрос, но как новый жёсткий диск форматнуть и разбить на нужные
>разделы. Как я понимаю для этого есть такие команды как sysinstall
>и fdisk. Не могли бы вы на примере показать? Допустим я
>подключил новый диск и система его определила как ad2. Какие дальнейшие
>мои действия?

Вопервых смотришь сколько текущие разделы занимают места, переписываешь на бумажку, вместе с  наименованиями девайсов и точками монтирования.
root# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a    248M    142M     86M    62%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/da0s1d    496M     26K    456M     0%    /tmp
/dev/da0s1e     24G     12G     11G    52%    /usr
/dev/da0s1f     39G     25G     11G    69%    /var
devfs          1.0K    1.0K      0B   100%    /var/named/dev

заходишь в sysinstall, там Configure->fdisk
выбираешь новый винт из списка, говоришь, что хочешь весь винт под фрю (кнопка A), если винт пустой, если не пустой, то удаляешь разделы, если надо оставить разделы... ну раз это тебе не надо, не буду отвлекаться. Давишь W шоб сохранить и Q шоб выйти. Тебя спросят какой загрузчик поставить, выбери стандартный например. Затем идешь в Label. Там создаешь слайсы. Создаешь рутовый, свап, и прочие, с бумажки. Точки монтирования задай например в /mnt/root, /mnt/var и т.п., размеры как в бумажке + если винт больше старого, можешь увеличить разделы как хочешь, по потребности.
В итоге у тебя появятся девайсы ad2s1a, ad2s1b, ad2s1c и т.д., раздел ad2s1c это спецраздел, покрывающий весь диск, на него не обращай внимания. Раздел ad2s1b это под свап, при его создании задай размер в два-три раза превышающий объем оперативки, при переносе системы тоже на него внимания не обращай.
я перенос системы (и клонирование тоже) делаю dump'ом и restore. Простое копирование не всегда работает, скорее всегда не работает. Еще можно tar'ом, но расскажу как я знаю.
Лучше копирование делать в сингл режиме, когда дисковая активность минимальна и никакие службы не работают. грузишься в сингл, mount -a, sh -E, говоришь:
dump -0 -a  -L -f - / | (cd /mnt/root; restore -rf -)
dump -0 -a  -L -f - /var | (cd /mnt/var; restore -rf -)
и т.д.
по окончании этого процесса, идешь в корень системы на новом диске, если монтировал  ad2s1a в /mnt/root, то туда и идешь, редактируешь файл etc/fstab (полный путь /mnt/root/etc/fstab), там прописываешь все как надо, лишнее убираешь.

в общих чертах так. в деталях мог что-то упустить - пробуй, вникай в суть происходящего


"Как перенести FreeBSD на новый винт"
Отправлено kot , 25-Окт-07 14:48 
Я хотел бы уточнить такие моменты:как загрузиться в "сингл режиме", допустим я разбил винт как мне надо через sysinstall, мне же надо как-то его подключить к системе, может выражаюсь не очень корректно, например в Linux это так: mount -t ext3 /dev/hda2 /mnt, затем я создаю в /mnt папки и туда копирую что мне надо, а как это выглядит во FreeBSD? Мне кажется должно быть аналогично Linux, например mount -t "файловая система" /dev/"мой отформатированный винт". Вопрос такой: Как называется файловая система во FreeBSD (в Линуксе ext3), и что писать в "мой отформатированный винт", если винт определяется как ad2?

После того как я это сделаю,то на старом диске в /mnt, мне нужно ручками создать папки /usr, /var, /root , только эти три и больше никаких папок не надо создавть?

Если да, тогда в командной строке пишу так:

root# mount -a
root# sh -E
root# dump -0 -a  -L -f - / | (cd /mnt/root; restore -rf -)
root# dump -0 -a  -L -f - /var | (cd /mnt/var; restore -rf -)
root# dump -0 -a  -L -f - /usr | (cd /mnt/usr; restore -rf -)

Затем правлю файлик /mnt/root/etc/fstab как мне надо и все?

Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.


"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 15:13 
>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.

ты покажи сюда df -h
будем предметно советы давать


"Как перенести FreeBSD на новый винт"
Отправлено kot , 25-Окт-07 15:26 
>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>
>ты покажи сюда df -h
>будем предметно советы давать

Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    496M     76M    380M    17%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1e    496M    908K    455M     0%    /tmp
/dev/ad0s1f    6.5G    3.1G    2.9G    51%    /usr
/dev/ad0s1d    1.2G    882M    246M    78%    /var
devfs          1.0K    1.0K      0B   100%    /var/named/dev


"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 15:35 
>>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>>
>>ты покажи сюда df -h
>>будем предметно советы давать
>
>Filesystem     Size    Used  
>Avail Capacity  Mounted on

новй винт какого размера?


"Как перенести FreeBSD на новый винт"
Отправлено kot , 25-Окт-07 15:39 

>
>новй винт какого размера?

60Gb



"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 15:54 
>>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>>
>>ты покажи сюда df -h
>>будем предметно советы давать
>
>Filesystem     Size    Used  
>Avail Capacity  Mounted on

допустим у тебя новый винт ad2:
ты сисинсталом сделал ему fdisk, как я описывал
у тебя появися девайс ad2s1 что означает IDE,secondary,master, первый раздел (по PC стндарту)
теперь его надо порезать на слайсы.
можно сделать так:
создать текстовый файл /var/tmp/mylabel с таким содержимым:
#####################################
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a: 512M            *    4.2BSD        0     0         # root
  b: 1G              *    swap                          # swap
  c: *               0    unused        0     0         # "raw" part, don't edit
  d: 2G              *    4.2BSD        0     0         # /var
  e: 512M            *    4.2BSD        0     0         # /tmp
  f: *               *    4.2BSD        0     0         # /usr
####################################
где размеры скорректируй сам, по потребностям, * означает использовать оставшееся место
более подробно читай man bsdlabel
теперь эти слайсы можно создать так:
bsdlabel -B -R ad2s1 /var/tmp/mylabel

проверить: bsdlabel ad2s1

теперь можно эти слайсы отформатировать, т.е. создать на них файловые системы
newfs /dev/ad2s1a
newfs -U /dev/ad2s1d
newfs -U /dev/ad2s1e
newfs -U /dev/ad2s1f

теперь перегружаем систему
reboot
при загрузке просимся в single user mode, 4 по моему
в сингле давим ентер, когда спросят про шелл
потом mount -a
потом можно шелл любимый запустить, например tcsh
tcsh
можно любой другой, в том числе можно и остаться под sh
создаем точки монтирования
mkdir /mnt/a
mkdir /mnt/d
mkdir /mnt/e
mkdir /mnt/f

монтируем
mount /dev/ad2s1a /mnt/a
mount /dev/ad2s1a /mnt/d
mount /dev/ad2s1a /mnt/e
mount /dev/ad2s1a /mnt/f

копируем

dump -0 -a  -L -f - / | (cd /mnt/a; restore -rf -)
dump -0 -a  -L -f - /var | (cd /mnt/d; restore -rf -)
dump -0 -a  -L -f - /tmp | (cd /mnt/e; restore -rf -)
dump -0 -a  -L -f - /usr | (cd /mnt/f; restore -rf -)

далее, если ты винт поставишь заместо старого, праймари мастером, то fstab трогать не надо
если оставишь секондари мастером то надо ad0 заменить на ad2 в /mnt/a/etc/fstab

после этого можно отмонтировать новые разделы:
umount /mnt/a
umount /mnt/d
umount /mnt/e
umount /mnt/f

и shutdown
грузиться с нового винта


"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 15:57 
>монтируем
>mount /dev/ad2s1a /mnt/a
>mount /dev/ad2s1a /mnt/d
>mount /dev/ad2s1a /mnt/e
>mount /dev/ad2s1a /mnt/f

тут я прогнал конечно слегка, подставь буковки правильно


"Как перенести FreeBSD на новый винт"
Отправлено kot , 25-Окт-07 16:22 
Спасибо за инфу, вроде бы всё прояснилось. ))) Сегодня ночью буду пробовать перенести систему на новый винт. Завтра отпишусь о результатах )))



"Как перенести FreeBSD на новый винт"
Отправлено kot , 25-Окт-07 16:42 
Забыл спросить, 4.2BSD - эт версия Фри? То есть мне писать вместо 4.2BSD -> 6.1BSD?



"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 25-Окт-07 20:31 
>Забыл спросить, 4.2BSD - эт версия Фри? То есть мне писать вместо 4.2BSD -> 6.1BSD?

это тип файловой системы, не трогай


"Как перенести FreeBSD на новый винт"
Отправлено kot , 26-Окт-07 14:58 
Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно. Я успешно перенёс систему на только купленный винт в магазине и большего объёма. Теперь система работает стабильно и без глюков. )))))
.


"Как перенести FreeBSD на новый винт"
Отправлено ShyLion , 26-Окт-07 15:11 
>Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно.
>Я успешно перенёс систему на только купленный винт в магазине и
>большего объёма. Теперь система работает стабильно и без глюков. )))))

отлично


"Как перенести FreeBSD на новый винт"
Отправлено tros , 04-Ноя-07 19:55 
>>Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно.
>>Я успешно перенёс систему на только купленный винт в магазине и
>>большего объёма. Теперь система работает стабильно и без глюков. )))))
>
>отлично

И от меня, спасибо огромное.
Следуя Вашим советам, все перенес на новый диск.
Еще раз, спасибо