Задача: Виртуальный хост 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. Взлетаем…