Перенос FreeBSD на другой диск под VMWare

Задача: Виртуальный хост FreeBSD 9.2 (Exim-relay,RAM 1GB) уменьшить HDD с 40GB до 10GB, так как используется всего 5GB + 2GB-swap. Файловая система UFS, значит уменьшить средствами ОС не светит. Будем делать: подключим новый HDD на 10GB и на него все перенесем.

Опыт полученный после 1-ой попытки:
– Swap в 512MB оказался мал. ClamDav выкидывал mysqld. Сделал 1GB.


1. Создать дополнительный диск для VMhost на нужный размер.
2. Reboot
3. Создаем разделы на новом диске

bsdconfig 

Разбиваем новый диск в точном соответствии с со старым:

-------------------Partition Editor--------------------¬
¦ Create partitions for FreeBSD. No changes will be    ¦
¦ made until you select Finish.                        ¦
¦-----------------------------------------------------¬¦
¦¦da0             40 GB   GPT                         ¦¦
¦¦  da0p1         64 KB   freebsd-boot                ¦¦
¦¦  da0p2         38 GB   freebsd-ufs    /            ¦¦
¦¦  da0p3         2.0 GB  freebsd-swap                ¦¦
¦¦da1             10.0 GB  GPT                        ¦¦
¦¦  da1p1         64 KB   freebsd-boot                ¦¦
¦¦  da1p2         9 GB  freebsd-ufs    /              ¦¦
¦¦  da1p3         1024 MB  freebsd-swap   none        ¦¦
¦L-----------------------------------------------------¦
+------------------------------------------------------+
¦    < Auto >  ¦
L-------------------------------------------------------

4. Заходим в Single User Mode. Делаем:

tunefs -J disable /dev/da0p2
tunefs -n disable /dev/da0p2
tunefs -j disable /dev/da0p2

5. Ребут

6. Монтируем новый раздел

mount /dev/da1p2 /mnt

7. Запускаем перенос данных на работающем сервере

( dump -0Lf - / ) | ( cd /mnt ; restore -rf - )

Процесс занял 33 минуты.

8. Отключил старый диск от вируальной машины.
Имя нового диска da1, после удаления старого стало da0. То есть изменения в /etc/fstab – не вносим.

9. Взлетаем…