Поговорим про разные варианты изменения размеров виртуальных дисков разных типов.
Увеличение размера диска
Если у ВМ есть файл-диск, то, в каком бы он ни был формате, нам может захотеться увеличить его размер, чтобы дать дополнительно место для гостевой ОС. Делается это просто. Зайдите в свойства ВМ, выделите диск, который хотите увеличить. Вы увидите меню выбора нового размера и подсказку о максимальном размере диска – он зависит от количества свободного места на текущем хранили ще (рис. 5.18). Однако останется вопрос увеличения раздела файловой системы
гостевой ОС на этом диске.
Рис. 5.18. Меню увеличения размера диска
Уменьшение номинального размера thickили thick-диска
Если вы выделили для виртуальной машины диск некоего размера, а затем поняли, что выдали слишком много, то есть несколько способов отобрать лишнее место. Перечислим их все:
Q в первую очередь следует упомянуть об использовании VMware Converter.
С его помощью ВМ конвертируется в ВМ на том же ESX, но можно указать диски меньшего размера;
Q затем можно воспользоваться средствами, работающими «изнутри», – ПО
работы с образами дисков типа Ghost или Acronis. Можно подключить к ВМ второй диск, нужного размера, и перегнать на него образ диска, размер которого хотим уменьшить. Часто эту операцию удобно выполнять, загрузив ВМ с LiveCD;
Q попробовать найти какую-то стороннюю утилиту, выполняющую эту рабо-
ту для ВМ на ESX(i). К сожалению, подсказать что-то не могу, но, может быть, к моменту прочтения вами этих строк что-то и появится;
Q вручную уменьшить сначала раздел в гостевой ОС, а затем файл vmdk.
Поговорим про эти способы чуть подробнее.
VMware Converter. Напомню, что VMware Converter Enterprise входит в состав VMware vCenter 4, а VMware Converter Standalone бесплатно загружается с сайта. Для наших целей подойдет любой.
Установите конвертор, запустите мастер конвертации. В случае Enterpriseверсии, напомню, нужно установить плагин конвертора в клиент vSphere, после чего в контекстном меню сервера появится пункт Import Machine. Он нам и нужен.
Запустится мастер конвертации, в нем укажите, что вам необходимо конвер-
тировать vSphere Virtual Machine, укажите имя и учетную запись для доступа к vCenter. Затем, на шаге Source Data, у вас будет возможность выбора размера диска вновь создаваемой ВМ (рис. 5.19).
Конвертор сам создаст новую ВМ с дисками нужного размера, сам скопирует данные и сам уменьшит размер раздела файловой системы гостевой ОС.
Если вам не хочется выключать ВМ для конвертации, тогда в начале мастера конвертации укажите, что вы хотите конвертировать Physical Machine. В этом случае обращение на конвертируемую ВМ произойдет по сети, на нее установится агент конвертера, который обеспечит конвертацию без выключения этой ВМ.
Перенос образа диска на диск меньшего размера. В принципе, в краткой аннотации я уже все рассказал про этот способ.
Уменьшение размера диска вручную. Это неподдерживаемый способ, который вы применяете на свой страх и риск. Тем не менее иногда его применение оправдано, удобно и успешно. Убедитесь в отсутствии снимков состояния (snapshot) для ВМ перед его применением.
Первый шаг, который вам необходимо выполнить, – это уменьшение размера раздела на уменьшаемом диске. Выбор средства для этого зависит от типа гостевой ОС. Например, в Windows Server 2008 для этого не требуется дополнительных утилит (рис. 5.20).
Рис. 5.19. Мастер конвертации ВМ, шаг выбора размера диска
Следующий шаг – выключение ВМ и открытие в текстовом редакторе файла vmdk. Обратите внимание на то, что диск ВМ состоит из двух vmdk, с именами вида:
1. disk2.vmdk – это тестовый файл описания геометрии и структуры диска.
2. disk2-flat.vmdk – это непосредственно данные.
Вот *.vmdk для уменьшаемого диска нам и нужен. В командной строке ESX можно использовать текстовые редакторы vi или nano, последний – попроще, для новичков. В неподдерживаемой командной строке ESXi есть только vi. Можно воспользоваться утилитами FastSCP или WinSCP, но без дополнительных телодвижений они заработают лишь с ESX.
В открытом файле vmdk мы увидим что-то вроде:
# Extent description
RW 52428800 VMFS "foo-flat.vmdk"
Умножением RW на 512 получаем размер диска: 52428800 ? 512 = 26 843 545 600 (25.6 Гб).
Например, хотим уменьшить диск до 12 Гб. Для этого меняем disk.vmdk:
# Extent description
RW 12582912 VMFS "foo-flat.vmdk"
Рис. 5.20. На уменьшаемом диске должно появиться неразмеченное место
Последний шаг – делаем горячую или холодную миграцию этой ВМ (или этого одного диска) на другое хранилище, и после этой операции диск становится нужного размера (рис. 5.21).
Если у нас нет vCenter, то есть данные операции недоступны, можно клонировать этот диск из командной строки:
# vmkfstools -i disk.vmdk disk_new_small.vmdk
Обратите внимание. Если последняя операция реализуется через Storage VMotion, то уменьшение диска произойдет без выключения виртуальной машины. Мигриро вать можно не всю ВМ, а лишь уменьшаемый диск.
Уменьшение реального размера thin-диска
Что делать, если у вас есть vmdk, который хочется уменьшить? Это может быть vmdk типа thick, который так и так занимает много места – и иногда нам хо-
Рис. 5.21. Диск уменьшился
чется перевести его в состояние thin. Или это может быть «распухший» thin-vmdk, внутри которого содержится много удаленных данных.
1. Необходимо обнулить блоки, занимаемые удаленными данными. Для Win dows в этом может помочь утилита sdelete от Sysinternals. Запускаем ее внутри ВМ, натравливая на диск с удаленными данными:
sdelete с E:
Это для диска E:\.
2. После окончания ее работы запускаем процесс Storage VMotion и в мастере выбираем настройку Change to Thin Provisioned Disk.
Если имеющаяся у нас лицензия не позволяет использовать Storage VMotion, вместо нее можно сделать холодную миграцию на другое хранилище (Migration ?
Change Datastore) или клон (Clone) этой ВМ. Полученная копия будет занимать меньше места на хранилище за счет очистки удаленных данных. Исходную же ВМ мы просто удалим.
Обратите внимание. В свойствах виртуальной машины, выделив HDD, вы увидите его тип (thick или thin) в строке Type.
Удаление диска
Когда вы заходите в свойства виртуальной машины, выделяете диск и нажимаете кнопку Remove, система спрашивает вас, как именно этот диск надо удалить (рис. 5.22).
Рис. 5.22. Варианты удаления диска ВМ
Если этот диск вам еще нужен, например вы хотите подключить его к другой ВМ, то вам нужен пункт Remove from virtual machine.
Однако если вы выберете Remove from virtual machine в случае, когда хотите
именно удалить данный файл-диск, то файл останется на хранилище и продолжит занимать место. Будьте внимательны и при необходимости именно удалить файлдиск выбирайте Remove from virtual machine and delete files from disk.
К сожалению, встроенного простого способа обнаружить неправильно удаленные, «осиротевшие» файлы-диски, впустую занимающие место, не существует. Рекомендую стороннюю утилиту RVTools (http://www.robware.net).
Источник: Михеев М. О. Администрирование VMware vSphere 4.1. – М.: ДМК Пресс, 2011. – 448 с.: ил.