Home

Перенос физического сервера FreeBSD 8.4 на vmWare ESXi 6

Делал по мотивам

http://security-corp.org/administration/sys_admin/5566-variant-migracii-freebsd-s-fizicheskogo-servera-v-virtualnuyu-sredu-vmware-esxi-s-pomoschyu-nfs.html

0. Готовим физический сервер для переноса.
Все службы, работающие с данными в режиме записи должны быть остановлены, например, mysqld и apache. Это можно сделать потом, перед переносом данных с помощью pax.

0.0. создаём файл /etc/exports, содержащий строку (ip и маску указываем такие, откуда будет приходить виртуальный сервер). Если диск был разбит на несколько разделов, то должно быть несколько строк, по строке на раздел.
/ -maproot=root -network 172.17.17.17 -mask 255.255.255.255

0.1.
/etc/rc.d/rpcbind onestart
/etc/rc.d/nfsd onestart
на эту команду /etc/rc.d/mountd onestart оно ругается, потому что mountd запустился сам перед запуском nfsd

0.2. Если всё верно, то будет что-то типа того:

# mount
/dev/ad4s1a on / (ufs, NFS exported, local, soft-updates)
devfs on /dev (devfs, local, multilabel)

1. Теперь работаем с виртуальной машиной.

1.0. Загружаемся с ISO образа FreeBSD 10.2.

1.1. Начинаем устанавливать систему (мне лень искать, как размечать HDD, поэтому я поставлю систему, а потом отформатирую раздел):
Keymap Selection
Set Hostname вводим что попало
Distribution select снимаем все галки, они нам не нужны
Partitioning выбираем Auto (UFS)
Partition выбираем Entire Disk
Partition Scheme на GPT 8.4 отлично встаёт
Partition Editor нажимаем Finish
Confirmation выбираем Commit
И оно побежало устанавливаться
Дальше оно хочет пароль на root пользователя, мы его не вводим, сетевую карту не настраиваем, юзера не добавляем. Доходим до конца и

1.2. Заходим в Live CD

ls /dev показывает нам три раздела da0p1 da0p2 (это /) da0p3 (это swap)

# newfs /dev/da0p2

# ifconfig em1 172.17.17.17/24

# /etc/rc.d/rpcbind onestart

# /etc/rc.d/nfsclient onestart

файловую систему виртуального сервера монтируем в /mnt
# mount /dev/da0p2 /mnt

Файловую систему физического сервера монтируем в /var/nfs
# mkdir /var/nfs
mount_nfs 172.17.17.172:/ /var/nfs

Теперь самое время остановить службы, которые пишут данные на диск физического сервера.

Переносим данные:

# cd /var/nfs
# pax -p eme -X -rw . /mnt

Оно будет ругаться на разные файлы сокетов - не обращаем внимания.

После чего на физическом сервере меняем IP-адреса, если мы хотим на него ещё раз попасть или удалённо выключаем.

На виртуальном сервере идём редактировать /etc/fstab, который сейчас находится в /mnt/etc/fstab
Из 1.2. мы помним, что /dev/da0p2 это корень, а /dev/da0p3 это swap
Меняем названия интерфейсов в /mnt/etc/rc.conf, если они изменились.

Перезагружаем виртуальный сервер и оно полетело.