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

Исходное сообщение
"Перенос и обновление FreeBSD"

Отправлено TePPoPucT , 29-Ноя-13 09:29 
Приветствую всех участников!
Собственно, проблема. Имеется FreeBSD 7.1 на которой вертится sendmail в связке с Kaspersky Anti Spam 3.0.
Недавно касперским стукнуло в голову снять поддержку с этого продукта и заставить всех перейти на 8.0. Проблема в том что для работы восьмой версии нужна FreeBSD 8.2 или выше.
Т.к. организация большая - отлючение фряхи надолго недопустимо и все нужно делать "на лету". Клонирование - потому что именно эту фрю настраивал неизвестно кто и неизвестно когда и нужно чтобы все конфиги сохранились.
Решили склонировать диск с системой, накатить на него обновления и подключить новый винт на сервер.
Т.к. раньше не работал с FreeBSD - поднял у себя новую машину и на ней обкатываю возможность клонирования. Попробовал использовать clonehdd (брал инфо отсюда http://www.opennet.me/base/sys/clonehdd.txt.html), но после клонирования диск с клоном не видит загрузчика (выдает Mountroot>), различные пляски с бубном вроде
ufs:/dev/adXs1/boot/loader не помогают.

При вводе ufs:/dev/adXs1a пишет enter full path name of shell or RETURN for /bin/sh после ввода mount -a пишет can't exec mount -a for single user: no such file or directory

Клонировал с винта 500Gb на 500Gb, основное клонирование будет производиться с 40Gb на 500Gb.

Отсюда три вопроса.
1. Как примонтировать склонированный диск?
2. Чем еще можно склонировать чтобы таких проблем не было и если можно ссылку на инструкцию?
3. Может есть еще какие-либо способы решить основную проблему с переносом ОС по типу копирования папки /home чтобы все конфиги сохранились? К примеру, я копирую файлы конфигов на установленную FreeBSD 8.2 и они работают.

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Перенос и обновление FreeBSD"
Отправлено Сергей , 29-Ноя-13 10:09 
Ну переносить лучше через dump/restore, а поскольку исходный диск у вас маленький, я рекомендую его его слить в файл через dd, а полученный образ задействовать в виртуалке, например в VirtualBox'е, и уже там извращаться и отлаживать весь процесс миграции/обновления...

"Перенос и обновление FreeBSD"
Отправлено TePPoPucT , 29-Ноя-13 10:16 
>  Ну переносить лучше через dump/restore, а поскольку исходный диск у вас
> маленький, я рекомендую его его слить в файл через dd, а
> полученный образ задействовать в виртуалке, например в VirtualBox'е, и уже там
> извращаться и отлаживать весь процесс миграции/обновления...

Через dd нужно сливать вот так или же для разных, по объему, жестких дисков это не подойдет?

dd if=/dev/adX of=/dev/adY conv=noerror,sync bs=16k (диск-в-диск)


"Перенос и обновление FreeBSD"
Отправлено TePPoPucT , 29-Ноя-13 11:53 
>  Ну переносить лучше через dump/restore, а поскольку исходный диск у вас
> маленький, я рекомендую его его слить в файл через dd, а
> полученный образ задействовать в виртуалке, например в VirtualBox'е, и уже там
> извращаться и отлаживать весь процесс миграции/обновления...

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


"Перенос и обновление FreeBSD"
Отправлено aurved , 29-Ноя-13 10:22 
mount -a скорее всего не отрабатывает из-за того, что в /etc/fstab старые (неправильные) имена разделов.

Можно сделать cat /etc/fstab, потом руками примонтировать все диски, потом ^D (или exit), загрузиться в обычном режиме и потом уже поправить /etc/fstab


"Перенос и обновление FreeBSD"
Отправлено TePPoPucT , 29-Ноя-13 11:40 
> mount -a скорее всего не отрабатывает из-за того, что в /etc/fstab старые
> (неправильные) имена разделов.
> Можно сделать cat /etc/fstab, потом руками примонтировать все диски, потом ^D (или
> exit), загрузиться в обычном режиме и потом уже поправить /etc/fstab

Спасибо огромное, помогло. Перемонтировал диски в соответствии с данными fstab и запахалоооо!!


"Перенос и обновление FreeBSD"
Отправлено TePPoPucT , 29-Ноя-13 11:59 
>> mount -a скорее всего не отрабатывает из-за того, что в /etc/fstab старые
>> (неправильные) имена разделов.
>> Можно сделать cat /etc/fstab, потом руками примонтировать все диски, потом ^D (или
>> exit), загрузиться в обычном режиме и потом уже поправить /etc/fstab
> Спасибо огромное, помогло. Перемонтировал диски в соответствии с данными fstab и запахалоооо!!

Делал все следующим образом (вдруг кому пригодится).

Выполнил mountroot> ufs: /dev/adXs1a (где X цифра вашего текущего диска, можно увидеть при загрузке ОС)

Просмотрел через cat /etc/fstab как назначены диски

Примонтировал

mount /dev/adXs1f /usr нажмите ввод
mount /dev/adXs1d /var нажмите ввод
mount /dev/adXs1e /tmp нажмите ввод
swapon /dev/adXs1b нажмите ввод

Перемонтировал диски в режиме записи

mount -u -w / нажмите ввод
mount -u -w /dev/adXs1f /usr нажмите ввод
mount -u -w /dev/adXs1d /var нажмите ввод
mount -u -w /dev/adXs1e /tmp нажмите ввод

После чего fstab стала доступна и я смог поправить

ee /etc/fstab

После перегружаемся и все работает.


"Перенос и обновление FreeBSD"
Отправлено Ingoa , 29-Ноя-13 10:49 
1. Новый диск размечаешь gpart-ом, обязательно создаешь раздел freebsd-boot навроде вот так
другие разделы по-вкусу
# gpart show
=>       34  490350605  ada0  GPT  (233G)
         34        128     1  freebsd-boot  (64k)
        162  480247680     2  freebsd-ufs  (229G)
  480247842    8388608     3  freebsd-swap  (4.0G)
  488636450    1714189        - free -  (837M)

2. Прописываешь загрузчик
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0

3. dump/restore на новый диск со старого, правишь /etc/fstab
4. reboot
5. Если ядро не менялось, то freebsd-update upgrade до желаемой версии


"Перенос и обновление FreeBSD"
Отправлено TePPoPucT , 29-Ноя-13 11:42 
>[оверквотинг удален]
>    2  freebsd-ufs  (229G)
>   480247842    8388608     3
>  freebsd-swap  (4.0G)
>   488636450    1714189      
>   - free -  (837M)
> 2. Прописываешь загрузчик
> # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
> 3. dump/restore на новый диск со старого, правишь /etc/fstab
> 4. reboot
> 5. Если ядро не менялось, то freebsd-update upgrade до желаемой версии

Спасибо, а у FreeBSD есть такая возможность - обновиться с компакт диска???
Чтобы я скачал новый дистрибутив, записал на диск и с этого диска обновления подтянул???
Если такая возможность есть - как правильно сделать?


"Перенос и обновление FreeBSD"
Отправлено Ingoa , 29-Ноя-13 12:34 
>[оверквотинг удален]
>>   - free -  (837M)
>> 2. Прописываешь загрузчик
>> # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
>> 3. dump/restore на новый диск со старого, правишь /etc/fstab
>> 4. reboot
>> 5. Если ядро не менялось, то freebsd-update upgrade до желаемой версии
> Спасибо, а у FreeBSD есть такая возможность - обновиться с компакт диска???
> Чтобы я скачал новый дистрибутив, записал на диск и с этого диска
> обновления подтянул???
> Если такая возможность есть - как правильно сделать?

Сам не делал, но ссылки на это имеются. Нагуглено- https://forums.freebsd.org/viewtopic.php?&t=22800


"Перенос и обновление FreeBSD"
Отправлено Сергей , 29-Ноя-13 12:49 
>>[оверквотинг удален]
> Спасибо, а у FreeBSD есть такая возможность - обновиться с компакт диска???
> Чтобы я скачал новый дистрибутив, записал на диск и с этого диска
> обновления подтянул???
> Если такая возможность есть - как правильно сделать?

лучше обновляться, как описано в хендбуке, если есть есть сд с новым дистрибутивом, то исходники с него и поставить, а не качать из инета.
Бинарное обновление (freebsd-update ...) обычно проходит без плясок с бубнами, если у вас ядро generic...