Документация по ОС FreeBSD Пятница, 07.02.2025, 00:27
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Удаленная переустановка FreeBSD со сменой архитектуры с i386 на amd64 [2009]
Полная переустановка ОС FreeBSD со сменой архитектуры на удаленном сервере.

скачать archive.sh
скачать update.sh

Постановка задачи. Имеется сервер с ОС FreeBSD i386 (далее реальный сервер). Физического доступа к серверу нет, только SSH. Требуется переустановить систему на последнюю версию ОС FreeBSD с архитектурой amd64. С первого взляда задача проста, но т.к. при этом нужно не уронить систему, права на ошибку у нас нет.

ШАГ 1. Подготовка новой системы. Берем любой эмулятор виртуальной машины (WMware, qemu итд), создаем конфигурацию виртуальной машины (в WMware с помощью визарда, в qemu — настройками и опциями), максимально приближенную к вашей реально работающей системе (идентичную дисковую подсистему, сетевой интерфейс и т.д.). Устанавливаем последнюю версию ОС FreeBSD amd64 в эмуляторе (далее виртуальный сервер). Дерево портов пока можно не ставить. 

ШАГ 2. Проверка пригодности. Настраиваем на виртуальном сервере ip адрес, шлюз по умолчанию идентичные реальному серверу, не забываем настроить ssh сервер. Проверяем: возможность входа по ssh, совпадение имен сетевых интерфейсов. Если имена интерфейсов на реальном хосте и на виртуальном получились разные, то обязательно добавьте в rc.conf виртуального блок настроек с именем интерфейса как на реальном сервере, пусть временно будет 2 блока, после завершения ненужный удалите.

ШАГ 3. Проверка загрузки. Просматриваем опции загрузки ядра, опции загрузчика, файл /etc/fstab реальной системы и делаем соответствующие дописки/изменения в нашей виртуальной, чтобы сервер беспрепятственно загрузился после обновления. 

ШАГ 4. Паковка данных. Я приверженец стандартной для FreeBSD разбивки файловой системы (отдельные разделы для корня, /tmp, /usr, /var.). Ниже приведен скрипт, который пакует новую систему автоматически, требуется только свободное место на разделе, подмонтированном к /usr. ВНИМАНИЕ! Скрипт необходимо разместить в папке /usr/archive/, предварительно её создав.
 Итак, если все шаги проделанны и конфигурация виртуальной системы соотвествует реальному серверу (что не помешает ещё раз перепроверить), пускаем скрипт:

virtualserver# cd /usr/archive/
virtualserver# sh ./update.sh


На моем компьютере это заняло 5 минут. Пока идет паковка, переходим к следующему шагу. 

ШАГ 5. Сохранение данных реального сервера. ВСЕ СТАРЫЕ ДАННЫЕ БУДУТ УДАЛЕНЫ! В связи с чем прошу грамотно заранее всё сохранить, запаковать, и положить либо в папку /usr/update, которая не удаляется в процессе обновления, либо временно скопировать ваши данные на другой сервер. Моя процедура сохранения данных выглядела следующим образом:

realserver# mkdir -p /usr/update/rescue
realserver# cd /
realserver# cp -rf etc usr/local/etc boot usr/home var /usr/update/rescue/


Пока идет копирование, запускаем закачку полученных архивов usr.tar.gz, var.tar.gz, root.tar.gz на переустанавливаемый сервер:

virtualserver# cd /usr/archive
virtualserver# scp *.tar.gz
hash@realserver.ru Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript :~/

realserver# cd /home/hash
realserver# mv usr.tar.gz var.tar.gz root.tar.gz /usr/update/


ШАГ 6. Итак, мы получили 3 архива usr.tar.gz, var.tar.gz, root.tar.gz в папке /usr/update.

ВНИМАНИЕ! В Процессе обновления в цикле будут удалены все лишние папки корневой структуры реального сервера, и если к некой папке будет примонтированны дополнительные разделы — все данные в них тоже будут удалены! С связи с чем нужно выполнить:

realserver# mount 

и убедиться что все лишнее отмонтированно!

Копируем скрипт обновления в папку /usr/update/ и запускаем его:

realserver# ./update.sh

после его отработки, и если всё прошло без критических ошибок, пускаем команду 

realserver# /tmp/rescue/reboot

Внимание! Если вы что-то забыли исправить, и после выполнения скрипта update.sh заметили, вы можете отредактировать файлы и после отработки скрипта обновления копиями резервных утилит, которые теперь находятся в папке /tmp/rescue. Например для редактирования /etc/fstab нужно написать:

realserver# /tmp/rescue/vi /etc/fstab

Ждем несколько секунд затаив дыхание

[root@hash disk]# ping 192.168.0.99
PING 192.168.0.99 (192.168.0.99) 56(84) bytes of data.
From 192.168.0.15 icmp_seq=15 Destination Host Unreachable
From 192.168.0.15 icmp_seq=16 Destination Host Unreachable
64 bytes from 192.168.0.99: icmp_seq=17 ttl=64 time=1001 ms
64 bytes from 192.168.0.99: icmp_seq=18 ttl=64 time=1.45 ms
64 bytes from 192.168.0.99: icmp_seq=19 ttl=64 time=0.236 ms


Заходим по ssh, проверяем

server# uname -a
FreeBSD server.is 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 08:58:24 UTC 2009
root@driscoll.cse.buffalo.edu Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript :/usr/obj/usr/src/sys/GENERIC amd64

Теперь можно приступить к выкачиванию последней версии портов (рекомендуем утилиту portsnap) и настройке системы.

Заключение. Проверяя данный метод я достиг результат за 2 часа 34 минуты. Изложенный в данной статье способ безусловно может быть подвержен критике, т.к. многие специалисты посоветую многоэтапное обновление, с выкачиванием последних исходников по cvs, пересборкой их под другую архитектуру и т.д, мотивируя что «так будет правильно». Мое личное мнение — правильно то, что эффективно, быстро и надежно, а усовершенствовать систему путем пересборки спокойно можно после смены архитектуры. Обсуждение статьи на форуме в соответствующем разделе.


Источник: http://ww.inf-sys.ru/index.php/it-operating/144
Категория: Установка и настройка | Добавил: oleg (01.11.2009) | Автор: Игнатьев Алексей Николаевич
Просмотров: 820 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025