FreeBSD: Перенос рабочей системы
Сегодня в моей жизни свершилось радостное событие. Наконец-то выклянчил себе новехонький системный блок для своего десктопа. И сразу столкнулся с проблемой переноса ОС со старого компутера на новую железку.
Вообщем-то вариантов приглянулось два. В обеих случаях, если аппаратное обеспечение новой системы не аналогично текущему, то весьма желательно предварительно собрать ядро с поддержкой нового железа. Также после переноса скорее всего придется подкорявить файлы конфигурации.
Итак, первый вариант — прицепить винчестер с нового компа к старому системнику и зазеркалить винчестер.
Дело, в общем-то, нехитрое. Прицепив новый жесткий диск нужно предварительно его разбить. Сама процедура разбивки хорошо описана в .
После того, как на новом винчестере созданы слайсы, создадим временное поддерево в файловой системе и монтируем их туда (в данном случае новый hdd у нас /dev/ad1):
oldhost# mkdir /newhdd oldhost# mkdir /newhdd/root oldhost# mkdir /newhdd/usr oldhost# mkdir /newhdd/var oldhost# mount /dev/ad1s1a /newhdd/root oldhost# mount /dev/ad1s1f /newhdd/usr oldhost# mount /dev/ad1s1d /newhdd/var
Далее осуществляем непосредственный перенос данных:
oldhost# rdump -0f - / (cd /newhdd/root && rrestore -uyrf - ) oldhost# rm /newhdd/root/restoresymtable oldhost# rdump -0f - /usr (cd /newhdd/usr && rrestore -uyrf - ) oldhost# rm /newhdd/usr/restoresymtable oldhost# rdump -0f - /var (cd /newhdd/var && rrestore -uyrf - ) oldhost# rm /newhdd/var/restoresymtable
Выключаем систему, цепляем новый винчестер в новый системный блок (или просто отключаем старый, в зависимости от наших целей), и наслаждаемся жизнью.
Второй вариант немного сложнее и продолжительнее по времени. Но в ряде случаев, как-раз он и будет предпочтительным. Например, мы имеем опломбированный системный блок или хотим перенести систему на SCSI-диск, а в старом системнике нет контроллера.
В данном случае нам понадобится предустановленная система на новой железке. Заводим на ней пользователя и поднимаем sshd.
Далее выполняем дамп файловых систем по сети. Предварительно на новом хосте нужно создать файлы, в которые будет писаться дамп.
srn@newhost >> touch root.dump usr.dump var.dump oldhost# setenv RSH /usr/bin/ssh oldhost# rdump -0uLB 104857600 -f srn@newhost.domain.com:/home/srn/root.dump / oldhost# rdump -0uLB 104857600 -f srn@newhost.domain.com:/home/srn/usr.dump /usr oldhost# rdump -0uLB 104857600 -f srn@newhost.domain.com:/home/srn/var.dump /var
Маленькое замечание. Ключ -B служит для указания размера ленты на удаленном хосте (в килобайтах). В нашем случае необходимо указать размер, заведомо больший, чем файл дампа.
Далее восстанавливаем систему из созданных файлов.
newhost# cd / ; rrestore -uyrf /home/srn/root.dump ; rm /restoresymtable newhost# cd /usr ; rrestore -uyrf /home/srn/usr.dump ; rm /restoresymtable newhost# cd /var ; rrestore -uyrf /home/srn/var.dump ; rm /restoresymtable
Если нужно, то корректируем файлы конфигурации системы и перезагружаемся.
Популярность: 4%
Похожие заметки
Монтирование usb flash от юзера в FreeBSDPF в NetBSD 5.0 domU не работает!
FreeBSD: SNMP для mrtg за 5 минут
Netscape Messaging Server. Перенос пользовательских ящиков
FreeBSD: Журналирование UFS в 7-ке
Roman Shramko