Накидал по быстрому (думаю тут будет понятно тк все довольно просто)
== Мигрирование *BSD в VMware ==
Необходимо было мигрировать FreeBSD со старого сервера в гипервизор ESXI 5.5. Разнообразные методы Acronis/Backup Exec/ и тп не проходили. Acronis (разные версии) проходил несколько % и подвисал или ребутался. Backup Exec и их заявленное копирование всех UNIX и миграция в виртуалку окончилось что они могут пару версий Linux скопировать, а о *BSD они не вкурсе (в портах убитый порт клиента я его не стал трогать пускай покоиться). Итого подходим к вопросу если платно никак то как бесплатно на живую и быстро. Это конечно классика dump/restore и pax и в качестве общего ресурса нужного для миграции NFS сервер на посреднике. К тому же дополнительно для себя сделаем переразметку слайсов (увеличим размеры нужных и уберем ненужные слайсы).
Для начала возьмем следующее:
* bsd - FreeBSD который нужно мигрировать в VM (клиент NFS)
* bsd_NFS - FreeBSD в гипервизоре (посредник) который выступит в роле разметчика диска для новой *BSD и перемещения данных на него. (сервер NFS)
* bsd_NEW - Вновь созданная VM в гипервизоре в котором указанны все нужные ее гар-ки и выделенный нужный обьем диска
1. Для начала разметить диск и разрезать на slice bsd_NEW. Для этого в VM подключаем загрузочный диск FreeBSD и в Sysinstall создаем загрузочный Partition (S) и размечаем Label. Далее отключаем VM
Код: Выделить всё
1g / da0s1a
1g /swap da0s1b
1g /var da0s1d
35g /usr da0s1e
2. Потом нужно подключить диск bsd_NEW к bsd_NFS. Делается средствами гипервизора (просто добавьте его в остастке bsd_NFS)
Код: Выделить всё
bsd_NFS#dmsg -a
mpt0: Rescan Port: 0
da1 at mpt0 bus 0 scbus2 target 1 lun 0
da1: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device
da1: 320.000MB/s transfers (160.000MHz, offset 127, 16bit)
da1:: Command Queueing enabled
da1: 38912MB (79691776 512 byte sectors: 255H 63S/T 4960C)
bsd_NFS# ll /dev/da0
da0% da0p1% da0p2% da0p3% da0p4% da0p5%
bsd_NFS# ll /dev/da1
da1% da1p1% da1p2% da1p3% da1p4% da1p5%
3. Создаем директории для удобной работы и подключения слайсов нового диска:
Код: Выделить всё
bsd_NFS# cd /mnt/
bsd_NFS# mkdir root usr var
bsd_NFS# mount /dev/da1s1a /mnt/root/
bsd_NFS# mount /dev/da1s1d /mnt/var/
bsd_NFS# mount /dev/da1s1e /mnt/usr/
bsd_NFS#df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0p2 2G 739M 1,1G 40% /
devfs 1,0k 1,0k 0B 100% /dev
/dev/da0p3 19G 9,8G 8,3G 54% /usr
/dev/da0p4 29G 18G 8,7G 68% /var
/dev/da0p5 194G 43G 135G 24% /home
tmpfs 6,8G 40k 6,8G 0% /tmp
/dev/da1s1a 989M 2,0k 910M 0% /mnt/root
/dev/da1s1d 989M 2,0k 910M 0% /mnt/var
/dev/da1s1e 33G 2,0k 31G 0% /mnt/usr
4. В старой bsd нам нужно сделай дамп нужной ФС и переместить на bsd_NFS. Для этого подключим диск NFS и на него все скопируем.
Код: Выделить всё
bsd# mount_nfs IP_bsd_NFS:/home/NFS /mnt/
bsd# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 496M 82M 374M 18% /
/dev/da0s1f 942M 10K 866M 0% /tmp
/dev/da0s1d 30G 24G 3.6G 87% /usr
/dev/da0s1e 989M 153M 757M 17% /var
IP_bsd_NFS:/home/NFS 195G 16G 163G 9% /mnt
Делаем резервирование нужный слайсов
Код: Выделить всё
bsd# dump -0 -L -f - /dev/da0s1a > /mnt/dump_da0s1a.img
bsd# dump -0 -L -f - /dev/da0s1d > /mnt/dump_da0s1d.img
bsd# dump -0 -L -f - /dev/da0s1e > /mnt/dump_da0s1e.img
5. После снятия дампа отключаем NFS диск на bsd и переходим для работы на bsd_NFS и восстанавливаем данные к подключенным ФС (Осторожно можно случайно все у себя переписать!)
Переходим в директории и восстанавливаем данные
Код: Выделить всё
bsd_NFS# cd /mnt/root
bsd_NFS# restore -rf /home/NFS/dump_da0s1a.img
bsd_NFS# cd /mnt/var/
bsd_NFS# restore -rf /home/NFS/dump_da0s1e.img
bsd_NFS# cd /mnt/usr/
bsd_NFS# restore -rf /home/NFS/dump_da0s1d.img
Так же проверьте
/etc/fstab чтобы возможно убрать ненужные ФС или поправить имена дисков. Когда все проверете отмаунтите диски и удалите диск из оснастки гипервизора bsd_NFS с последующим запуском bsd_NEW.
# Фиксы
Код: Выделить всё
# mount /dev/da1s1a /mnt/root/
mount: /dev/da1s1a: R/W mount of / denied. Filesystem is not clean - run fsck.: Operation not permitted
# fsck -t ufs /dev/da1s1a