Даный урок - это пример личного опыта сжатия виртуальных машин *.vdi VirtualBox. Данный метод используется для уменьшения размера образов, для более легкой загрузки и распространения их в сети интернет. В результате этих действий Вы получите готовую, сжатую виртуальную машиную, без изменения её рабочих свойств и возвожностей. (Данный способ применим для Linux систем)
Весь процесс сжатия образов виртуальных машин поделен на два действия, это заполнение не используемых секторов образа "0". И второй - это сжатие самого образа.
Заполнение неиспользуемого пространства нулями
В начале нашей работы мы должны определить, смонтированную файловую системы мы должны обнулить. Для этого в консоли нашего системы / сервер выполним команду:
|
Результат команды, я покажу на пример только что установленной системы Fedora 15 (сервер):
[root@server1 ~]# df
Файловая система 1K-блоков Исп Доступно Исп% Точка монтирования
rootfs 6257164 2452776 3486540 42% /
udev 372792 0 372792 0% /dev
tmpfs 381680 0 381680 0% /dev/shm
tmpfs 381680 572 381108 1% /run
/dev/mapper/vg_server1-lv_root
6257164 2452776 3486540 42% /
tmpfs 381680 0 381680 0% /sys/fs/cgroup
tmpfs 381680 0 381680 0% /media
/dev/sda1 495844 31095 439149 7% /boot
[root@server1 ~]#
Из этого следует, что наша файловая система - это /dev/mapper/vg_server1-lv_root. Теперь мы можем выполнить обнуление файловой системы. Прописав в консоле следующие команды:
|
В данных командах мы создаем файл который заполнит весь виртуальный образ системы, тем самым мы займем всю оставшуеся память нашего виртуалього диска файлом junk (файл junk предназначен для заполнения неиспользуемого пространства на виртуальном носителе нулями). Так как файл состоит из одних нулей, то при удалении его мы оставим полностью зануленый виртуальный образ. И ожидаем окончания процесса.
Сжатие виртуальных машин VirtualBox
Для сжатия виртуальной машины VirtualBox используется менеджер VBoxManage предоставляемый вместе с VirtualBox (в корневом каталоге, где установлена VirtualBox). Если не сделать этого, Вы увидите:
"VBoxManage" не является внутренней или внешней командой, используемой программой или пакетным файлом.
Но обращение к VBoxManage полностью осуществляется через консоль рабочей системы (не путать с консолью виртуальной системы). Поэтому нам необходимо добавить переменные в патч нашей рабочей системы. Так как я использую Windows 7, то для добавления переменной я нажимаю на иконку Компьютер (не ярлык) в пуске правой клавишей мыши - Свойства - в открывшемся окне в левой колонке Дополнительные параметры системы - в окне Свойства системы нажмем на кнопку Переменные среды... - в списке системные переменные находим переменную Path - Изменить... - и добавляем путь к переменной ;C:\Program Files\Oracle\VirtualBox\ (путь корневой папки VirtualBox, может отличаться в Вашем случае). После чего нажимаем OK, для сохранения и закрытия окон. Теперь мы може откруть консоль Windows 7, для этого зайдем в пуск и в строке найти программы и файлы введем команду cmd, откроется консоль Windows 7.
Вот теперь мы можем выпольнить сжатие нашего образа виртуальной машины, для этого в консоли Windows 7 выполним команду:
|
Где: C:\Users\Forsage\VirtualBox VMs\CentOS_5.6 64x LAMP\CentOS_5.6 64x LAMP.vdi - это полный путь к сжимаемому образу виртуальной машины (Сама виртуальная машина должна быть выключена, в противной случае работа из консоли Windows 7 с этим образом будет не доступной). Так как в пути встречаются пробелы мы должны заключить весь путь в скобки, как это и сдеалано в нашем примере. Процесс сжатия, будет отображаться в консоли от 0 до 100%: