Уменьшение размера диска виртуальной машины vmware
Уменьшение размера виртуального диска на ESXi
В этой статье мы рассмотрим, как уменьшить размер виртуального диска (vmdk) в VMWare ESXi. В отличии от процедуры расширения диска виртуальной машины VMWare, которую можно выполнить на-лету без выключения ВМ, процедура уменьшения размера vmdk файла на гипервизоре VMWare ESXi задача более сложная, и выполнить ее непосредственно через графический интерфейс vSphere Client в принципе нельзя. Клиент vSphere не позволяет вам указать меньший размер виртуального диска.
Перед тем, как уменьшить размера виртуального диска на хосте VMWare ESXi необходимо:
Процедура уменьшения размера виртуального диска состоит из двух этапов:
Уменьшение раздела внутри гостевой ОС
В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Если у вас в ВМ запущена Windows, воспользуйтесь диспетчером управления дисков diskmgmt.msc (операция Shrink Volume доступна во всех поддерживаемых версиях Windows, для старых версий Windows для уменьшения размера раздела используется утилита sdelete) или используйте сторонние утилиты (например, Acronis Disk Director). Если этого не сделать, то после уменьшения размера виртуального диска можно получить неработоспособную файловую систему.
Допустим, вы хотите хотим уменьшить размер диска на 40 Гб. Значит размер тома должен быть уменьшен на 40960 Мб (40 Гб x 1024). Именно это значение нужно ввести в поле мастера Shrink Volume. После уменьшения размера раздела на диске справа от вашего основного раздела останется некоторое количество неразмеченного (Unallocated) пространства (в нашем примере 40 Гб).
Уменьшение размера VMDK файла виртуальной машины VMware
Теперь нужно уменьшить размера VMDK файла на файловой системе VMWare VMFS.
Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуального vmdk диска в VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться этой инструкцией.
Уменьшение размера виртуального диска с помощью VMware vCenter Converter Standalone
Еще один способ уменьшения размера виртуальных дисков у ВМ на VMWare с помочью GUI — воспользоваться бесплатным конвертером — VMware vCenter Converter Standalone.
Укажите адрес ESXi хоста.
Выберите исходную ВМ.
Укажите параметры новой ВМ.
Выберите режим копирования: Select volumes to copy.
Укажите новый размер диска в новой ВМ. Как вы видите, на диске в гостевой занято 48 гб, а размер самого диска – 150. Мы уменьшим размер виртуального диска до 60 Гб.
Запустите процесс конвертирования ВМ. После окончания отключите исходную ВМ и включите новую. Проверьте, что размер диска уменьшился. После этого исходную ВМ можно удалить.
Уменьшение размера тонкого диска в ESXi
Когда я начал работать с ESXi, столкнулся с проблемой нехватки дискового пространства из-за сильно разросшихся тонких дисков. Вообще, лучше создавать диски меньшего размера, потому что увеличить диск в ESXi намного проще, чем уменьшить. Но что же делать, если все-таки возникла необходимость уменьшить диск? Причем, мое положение усугубляли LVM разделы на сервере, которые не распознавал Acronis, и, следовательно, не мог изменить размер раздела.
Опишу способ, которым воспользовался я:
1 этап) Уменьшение диска внутри виртуальной машины
Сперва нужно уменьшить диск внутри самой виртуальной машины, для этого существует множество универсальных программ: Acronis disc director, paragon partition manager, встроенная утилита управления дисками в windows и т.д. Мне ни одна из этих программ не помогла, поэтому пришлось использовать средства линукса и LiveCD.
1) Для начала нужно загрузиться с livecd linux, я использовал для этого centos 7. При загрузке виртуальной машины клавиша ESC для появления меню загрузки.
2) Активируем LVM разделы
3) Проверка активированных логических томов
4) Проверяем файловые системы
5) Уменьшаем размер файловой системы
6) Уменьшаем размер тома до размера файловой системы
Также мы можем добавить это место к другом тому
Для этого:
Увеличиваем том root:
Увеличиваем размер файловой системы на томе root до размера тома:
7) Опять проверяем целостность файловой системы
8) Далее можно запустить виртуальную машину и убедиться, что все корректно работает
2 этап) уменьшение provisioning space.
10) Выключаем виртуальную машину
11) Подключаемся по SSH к физическому серверу, на котором установлен ESXi
12) Переходим в каталог, в котором хранится vmdk файл ВМ (путь можно узнать в свойствах виртуального диска в графическом клиенте vSphere). У меня это
Каталог имеет подобную структуру:
-rw——- 1 root root 3424256 Feb 2 08:24 vmmcores-1.gz
-rw-r—r— 1 root root 240722 Dec 20 20:46 vmware-1.log
-rw-r—r— 1 root root 1252287 Feb 2 08:24 vmware-2.log
-rw-r—r— 1 root root 43555 Feb 2 08:24 vmware-3.log
-rw-r—r— 1 root root 151873 Feb 2 08:25 vmware.log
-rw——- 1 root root 122683392 Feb 2 08:24 vmx-VM_name-186599173-1.vswp
/vmfs/volumes/53114b32-24d88d5a-2cbe-0025b500004f/VM_name #
13) Просмотрим содержимое конфигурационного файла с расширением *.vmdk с помощью команды cat или vi:
# Disk DescriptorFile
version=1
encoding=«UTF-8»
CID=829544ab
parentCID=ffffffff
isNativeSnapshot=«no»
createType=«vmfs»
# Extent description
RW 44000000 VMFS «VM_name-flat.vmdk»
# The Disk Data Base
#DDB
ddb.adapterType = «lsilogic»
ddb.geometry.cylinders = «17884»
ddb.geometry.heads = «255»
ddb.geometry.sectors = «63»
ddb.longContentID = «c78bccbfd4724f0ee20a1ef2829544ab»
ddb.thinProvisioned = «0»
ddb.uuid = «60 00 C2 98 20 ac 05 4a-e5 39 e4 40 e8 a2 d8 d0»
ddb.virtualHWVersion = «8»
14) Размер vmdk диска задается в секции #Extent description (после символов RW). Меняем это значение, например, чтобы установить размер диска в 20Гб ставим 41943040 (20 Гб*1024*1024*1024 / 512)
Я ставлю значение немного больше, чем размер, вычисленный по методике выше (41943040 (20 Гб*1024*1024*1024 / 512)), на всякий случай.
15) Осталось склонировать или смигрировать виртуальную машину, после чего отобразится новый размер диска.
Физическое уменьшение тонкого диска без изменения provisioning
Также возможно только уменьшить размер файла виртуальной машины, путем удаления нулевых блоков.
Для этого:
1) Нужно заполнить все неиспользованное пространство, внутри виртуальной машины, нулями. Создаем файл по размерам неиспользуемой области диска, а потом удаляем его.
Blog of Khlebalin Dmitriy
(Дорогу осилит идущий…)
Как уменьшить размер виртуального диска (vmdk) виртуальной машины Vmware?
Каким бы большим не было хранилище, место рано или поздно на нем заканчивается.
Достаточно продолжительное время имею дело с «Варей» и выработал для себя вот такое правило: Создаем виртуальную машину минимального размера, далее всегда успеем расширить диски. Уменьшить диски потом будет значительно сложней.
Но однажды наступает момент, когда сделать это приходится.
И сделать это можно несколькими способами:
1) Выполнить Shrink или Compact. Для VMware ESXi можно сделать Shrink через интерфейс Vmware Tools установленных на ВМ. Или через интерфейс средств администрирования vSphere. Для VMware Workstation можно сделать Compact в свойствах ВМ в свойствах диска.
Может не сработать.
2) Уменьшить размер диска через его клонирование:
— добавить еще один диск нужного размера (меньшего) на ВМ для которой хотим уменьшить диск.
— загружаем ВМ с загрузочного диска сторонних программ для клонирования дисков (Acronis True Image или Ghost32 (Symantec Norton Ghost) или им подобные).
— клонируем содержимое большого диска на маленький.
— удаляем большой диск из ВМ
3) Уменьшить размер диска через конвертацию ВМ с помощью VMware vCenter Converter. При конвертации можно указать размер получаемого диска меньше чем исходного.
Уменьшение размера диска виртуальной машины vmware
Добрый день! Уважаемые читатели и гости популярного IT портала pyatilistnik.org. Задача простая, уменьшить размер виртуального диска vmdk в ESXI 5 или 6.5. Такая нужда может возникнуть при не правильном планировании, или просто из-за неправильной информации со стороны человека ставящего задачу. Что имеем, есть виртуальная машина с windows server 2008 R2 диск C 50 гб занято 20 гб и диск D 100гб, а используется 1, нужно его уменьшить, до 10 скажем и чтобы он остался толстым. К сожалению штатными средствами, это сделать не получится, это не как в Hyper-V зашел в настройки и отнял нужное количество. Но есть к счастью не муторный способ, это решить, а именно утилита VMware vCenter Converter Standalone 5-6.2, пример ее работы я описал тут (виртуализация физической машины).
Уменьшение размера виртуального диска на ESXi
Открываем утилиту. Выбираем «VMware Infrastructure virtual machine», и вводим учетные данные для подключения к вашему хосту или vCenter серверу. Затем next.
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-01
Выбираем хост и виртуальную машину для уменьшения дисков.
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-02
Вводим место назначения и данные дл доступа, в моем примере это тот же vcenter сервер.
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-03
Выбираем папку установки и имя
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-04
Выбираем хост, версию vmtools советую 9, чтобы можно было редактировать из толстого клиента в windows и датастор, а то придется производить процедуру понижения версии виртуального оборудования.
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-05
И теперь самое интересное, уменьшение дисков. Data copy type выбираем Select volume и ниже на против жесткого диска кнопка edit, в выпадающем меню можно выбрать текущий размер или самый минимальный, выбирайте минимальный, потом после выполнения конвертации расширите до такого как вам нужно, собственно все жмем next и процесс пошел.
Как уменьшить размер виртуального диска (vmdk) виртуальной машины ESXI 5.x.x-06
Далее вы задаете нужный вам размер виртуального диска, который будет виден в вашей виртуальной машине.Это официальный метод компании Vmware, есть еще не официальный с использованием команды cp.
VMware Workstation: как уменьшить.максимальный размер vmdk
У меня есть файл на диске 150 ГБ (.vmdk, без предварительного выделения), где хранится моя виртуальная машина.
файл в настоящее время составляет 20 ГБ, но он растет с каждым днем, хотя я не храню ничего нового в гостевой файловой системе.
Я искал в течение нескольких часов, для того, чтобы уменьшить максимальный размер этого диска, чтобы он никогда не доходил до 150 ГБ (я хотел бы установить ограничение в 30 ГБ и посмотреть, что произойдет, когда виртуальная машина достигнет этого размера).
хотя эта задача кажется технически довольно простой (нет никакого сложного сокращения, просто простое изменение предела размера), у меня здесь действительно нет идей.
7 ответов
дефрагментировать диск через гостевую систему, выбрав режим дефрагментации, который объединяет пустое место в конце диска. Для гостя Windows необходимо очистить корзину и выключите спящий режим и пейджинг, возвращая их после завершения дефрагментации.
если вы хотите изменить размер диска, при этом диск по-прежнему в формате growable (примеры здесь).
файл в настоящее время 20 ГБ, но он растет каждый день, хотя Я не храню ничего нового в гостевой файловой системы.
потому что ОС и ее прикладные программы временно используют много места на диске для временных файлов, файлов подкачки, файла гибернации и файлов конфигурации. Как только они удаляются в зависимости от политики ОС, новые сектора на диске используются в следующий раз. ВМ выделять память под виртуальный диск с реального диска при сектор используется в виртуальном диске. Поскольку сектор на виртуальном диске всегда не используется гостевой ОС, виртуальная машина считает, что это использование диска и дает пространство с реального диска, и это приведет к росту образа виртуального диска.
заголовок вашего вопроса с меньшей вероятностью будет решен, так как использование такого инструмента без проверки изображения может привести к полной катастрофе. Но вы можете предотвратить рост изображения за 30 ГБ. Есть много способов для достижения цели.
B. создайте снимок и восстановите его после использования. После создания моментального снимка ВМ сохраняет данные в новый файл образа. При восстановлении без сохранения или создания новых снимков, все измененные данные удаляются и освобождается место.
C. создайте новый виртуальный диск объемом не более 30 ГБ, добавьте его в качестве нового диска в текущую виртуальную машину, переместите все данные на новый виртуальный диск с помощью инструмента резервного копирования. Вы можете использовать живой Linux для клонирования.
эта работа только для разреженного VMDK (без предварительного выделения) дефрагментация требуется перед сжатием, чтобы убедиться, что используемое пространство является смежным
дефрагментация в Windows
в виртуальной машине Windows необходимо сначала запустить дефрагментацию диска из-под Windows. Дефрагментация в Windows гарантирует, что все используемые пространства являются смежными. Затем можно уменьшить размер виртуальный диск.
сжатие виртуального диска
для сжатия виртуального диска:
Откройте Панель управления VMware Tools / Toolbox:
дважды щелкните значок VMware Tools на панели задач или выберите Пуск >Панель управления > VMware Tools.
откройте терминал и выполните следующую команду:
Примечание.: В Workstation 9.X (Windows) и выше, сжатие выполняется автоматически при очистке диска. Поэтому этот вариант удаляется из панели инструментов VMware. Перейдите к VM > управление > очистка Диски. Это не доступно в версии VMware Workstation для Linux 9.х и позже.
перейдите на вкладку сжатие. Выберите диск, который требуется сжать. Щелчок Приготовьтесь к сжатию, затем следуйте инструкциям на экране. Осторожно: не завершите работу виртуальной машины или хоста пока диск уменьшается. Кроме того, не пытайтесь отменить процесс. Прерывающий этот процесс может причинить непоправимый ущерб вашему виртуальному диску и вам возможно, не удастся снова запустить виртуальную машину.
Почему бы просто не установить размер диска, участвующего в 30GB от 150GB.
вы должны установить сумму всех разделов меньше 30 ГБ. Вам придется уменьшить размеры разделов вниз, как вы идете. На этом сайте есть много документации о том, как уменьшить разделы, поэтому я не буду повторять это снова.
Почему вы создали 150 ГБ (тонкий раздел), если у вас не было места для его поддержки при максимальном размере? Кажется, что это просто нарываться на неприятности.
есть окольный путь, используя VMware Converter чтобы создать новую виртуальную машину и уменьшить размер VMDK, преобразуйте исходный VMDK в новый, меньший VMDK.
обратите внимание, что любые изменения размера VMDK также требуют соответствующего обновить таблицу разделов.
Так шаги для сжатия диска:
первый шаг включает процедуру из виртуальной машины и зависит от гостевой ОС. Второй шаг может поддерживаться командами vmware, но я не нашел глубокого способа сделать это. Таким образом, хакерский подход.
вот не так быстро (из-за к перемещению больших данных причастен) и грязное решение, которое сделало свое дело. нам нужно будет иметь доступное пространство, равное максимальному размеру устройства.
найдите способ изменить размер гостевого раздела и оставить незанятое пространство в конце устройства. Два примера:
из гостевой ОС: windows 7
смещение в байтах: 1048576
убедитесь, что вы добавили хотя бы это число к размеру диска. Теперь нам нужно преобразовать байты в секторах деления на 512 и округление вверх (потолок.) Е. Г. 209709448. Примечание это число на Шаге 3.
через live cd: SystemResqueCD
номер начало конец размер тип файловая система флаги
1 2048s 113455103s 113453056s основной загрузки ntfs
обратите внимание на конечный сектор и добавьте 1. Е. Г. 113455104. Примечание это число на Шаге 3.
как хак работает на одном файле предварительно распределенных (тип 2) vmdks (не пробовали на нескольких типов файлов) мы сначала преобразовать растущие чтобы распределить. Нам временно понадобится раздел с физическим космос как максимальный размер прибора. (например, 150 ГБ).
теперь сложная часть, для предварительно распределенного диска должно быть 2 vmdks
диск.файл VMDK диск-плоский.vmdk
RW 113455104 FLAT » Windows 7_x64-fl-flat.vmdk » 0
Да, вы попали в точку, второе поле-количество секторов выделенных для устройства. В качестве проверки умножьте на 512 и найдите размер в байтах, затем разделите на 1073741824 (1024**3), чтобы найти размер в ГБ. Это должен быть размер предыдущего устройства.
теперь замените это число на отмеченное число из первого шага и сохраните файл. предупреждение: ошибка, и вы можете обрезать фактические данные, используемые в файловой системе. (Но мы изменили размер fs в начале устройства и сделали правильные и безопасные вычисления правильно? )
до сих пор данные не были затронуты. Сделайте этот последний шаг, чтобы фактически обрезать расширения. Мы будем использовать функциональность переименования vmware-vdiskmanager для воссоздания vmdk с его размером теперь обрезается.