Всем доброго времени суток! У нас имеется роутер поднятый на FreeBSD, суть проблемы такова, ось установлена на старом 10 Гб винте, который вот-вот рассыпиться. Хотим перенести систему на новый винт. Имеется чистый не отформатированный винт. Надо подключить его к компу с FreeBSD, отформатировать, создать загрузчик и перенести саму систему. Как это сделать? Будь те добры как можно подробнее (шаг за шагом), потому что я FreeBSD не знаю.
Лучше эту задачу поручить знающему человеку, т.к. могут возникнуть внештатные ситуации и/или есть какие-то особенности. Однако общий план переноса:
1) разбиваете новый хард
2) загрузившись с какого-нибудь freebsd ливецд
3) Монтируете все разделы старого и нового хардов
4) Копируете все со старого харда на новый
3) редактируете /etc/fstab на новом харде - в соответствии с новыми разделами.ПС. Очень информативный вопрос, аш 3.14з##ц - даже версию оси не удосужились указать.
>[оверквотинг удален]
>есть какие-то особенности. Однако общий план переноса:
>1) разбиваете новый хард
>2) загрузившись с какого-нибудь freebsd ливецд
>3) Монтируете все разделы старого и нового хардов
>4) Копируете все со старого харда на новый
>3) редактируете /etc/fstab на новом харде - в соответствии с новыми разделами.
>
>
>ПС. Очень информативный вопрос, аш 3.14з##ц - даже версию оси не удосужились
>указать.Версия FreeBSD 6.1
Насчёт "разбиваете новый хард" можно по подробнее?
как именно это сделать?
Какие комнды для этого нужны и тд?
Пожалуйста, если можно, то можете привести пример разбивки харда под FreeBSD.
Вы пробывали обраться к документации? На офсайте в разделе хэндбук пошагово с пояснениями все расписано: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/di...
Мне понятен тот момент, когда мы подключаем новый, уже отформатированный и разбитый, винт к системе и начинаем перемещать содержимое старого. Извините за ламерский вопрос, но как новый жёсткий диск форматнуть и разбить на нужные разделы. Как я понимаю для этого есть такие команды как sysinstall и fdisk. Не могли бы вы на примере показать? Допустим я подключил новый диск и система его определила как ad2. Какие дальнейшие мои действия?
>Мне понятен тот момент, когда мы подключаем новый, уже отформатированный и разбитый,
>винт к системе и начинаем перемещать содержимое старого. Извините за ламерский
>вопрос, но как новый жёсткий диск форматнуть и разбить на нужные
>разделы. Как я понимаю для этого есть такие команды как 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), там прописываешь все как надо, лишнее убираешь.в общих чертах так. в деталях мог что-то упустить - пробуй, вникай в суть происходящего
Я хотел бы уточнить такие моменты:как загрузиться в "сингл режиме", допустим я разбил винт как мне надо через 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 как мне надо и все?
Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.ты покажи сюда df -h
будем предметно советы давать
>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>
>ты покажи сюда 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
>>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>>
>>ты покажи сюда df -h
>>будем предметно советы давать
>
>Filesystem Size Used
>Avail Capacity Mounted onновй винт какого размера?
>
>новй винт какого размера?60Gb
>>>Я правильно вас понимаю? Если что ни так написал поправьте пожалуйста.
>>
>>ты покажи сюда 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
грузиться с нового винта
>монтируем
>mount /dev/ad2s1a /mnt/a
>mount /dev/ad2s1a /mnt/d
>mount /dev/ad2s1a /mnt/e
>mount /dev/ad2s1a /mnt/fтут я прогнал конечно слегка, подставь буковки правильно
Спасибо за инфу, вроде бы всё прояснилось. ))) Сегодня ночью буду пробовать перенести систему на новый винт. Завтра отпишусь о результатах )))
Забыл спросить, 4.2BSD - эт версия Фри? То есть мне писать вместо 4.2BSD -> 6.1BSD?
>Забыл спросить, 4.2BSD - эт версия Фри? То есть мне писать вместо 4.2BSD -> 6.1BSD?это тип файловой системы, не трогай
Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно. Я успешно перенёс систему на только купленный винт в магазине и большего объёма. Теперь система работает стабильно и без глюков. )))))
.
>Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно.
>Я успешно перенёс систему на только купленный винт в магазине и
>большего объёма. Теперь система работает стабильно и без глюков. )))))отлично
>>Спасибо, за помощь. Вы очень помогли и описали этот процесс очень доступно.
>>Я успешно перенёс систему на только купленный винт в магазине и
>>большего объёма. Теперь система работает стабильно и без глюков. )))))
>
>отличноИ от меня, спасибо огромное.
Следуя Вашим советам, все перенес на новый диск.
Еще раз, спасибо