Как в Hyper-V уменьшить размер диска. Как сжать чрезмерно увеличившийся виртуальный диск VirtualBox Как уменьшить размер диска виртуальной машины vmware

Как в Hyper-V уменьшить размер диска. Как сжать чрезмерно увеличившийся виртуальный диск VirtualBox Как уменьшить размер диска виртуальной машины vmware

На работе имеется несколько виртуальных машин, под управлением гипервизира ESXi 5, когда создавал диски сделал их тонкими, на каком-то этапе размер занимаемого диска вырос, хоть я и удалял данные в виртуальнойм сервере, диск остается того же размера, как можно сжать диск?

Тонкие (thin) диски VMWare позволяют существенно сэкономить место на файловой системе VMFS хранилища при создании виртуальной машине. Такие vmdk диски при создании практически не занимают место на файловой системе и постепенно разрастаются до максимального размера по мере накопления информации. Однако основная проблема при использовании thin диски заключается в том, что они со временем разрастаются даже в том случае, если вы освободили место внутри гостевой операционной системы.

Примечание . При удалении данных в ОС Windows (и Linux это также касается) система не заполняет освоившееся место нулями, а просто помечает области как удаленные в метаданных раздела (их можно использовать для записи). Получается, что ESXi сервер не может самостоятельно определить какие из отданных ей блоков на самом деле свободны

Стандартного средства сжатия тонких дисков в ESXi нет, а сама система виртуализации ничего не знает об особенностях хранения данных внутри гостевой ОС.

В этой статье мы опишем простой способ сжатия тонкого vmdk диска в ESXi.

  1. На первом этапе необходимо помочь гипервизору, заполнив все свободное место на дисках внутри гостевой ОС нулями.Обнулить свободные блоки в Windows можно с помощью утилиты Марка Русиновича SDelete (на момент написания статьи последняя доступная версия SDelete v1.61, если вы используете более раннюю версии SDelete, имейте в виду, в ней могут использоваться немного другие параметры). Скачать SDelete можно тут: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx .

    Распакуйте архив на диск, откройте командную строку (естественно, с правами администратора) и выполните следующую команду

    Sdelete –z c:

    В данном случае c: - это виртуальный тонкий vmdk диск, который мы планируем сжать.

    В Linux эту операцию можно выполнить с помощь dd

    Dd if=/dev/zero bs=64k of=zero.temp ; rm zero.temp

  2. Выключаем гостевую ОС (Shutdown).

    Примечание . Сжать диск можно и с помощью миграции виртуальной машины на другое хранилище (Storage VMotion). Однако отметим, что данный способ не является универсальным и работает только при соблюдении определенных условий.

  3. Подключаемся к ESXi серверу по SSH под root –ом (не забудьте включить службу SSH и разрешить входящий трафик на файерволе ESXi). Переходим в каталог c файлами виртуальной машины:
    cd vmfs/volumes/storage1/vm1

    где storage1 – имя хранилища, а vm1 – каталог, в котором хранятся файлы с vmdk дисками виртуальной машины

  4. Выведем «полный» размер виртуального диска.
    ls -lh *.vmdk

    “Реальный” размер виртуального диска, который он занимает на файловой системе можно узнать так:

    Du –h *.vmdk

    Как вы видите, thin диск занимает на хранилище 33 Гб (максимальный его размер 40 Гб). Причем внутри гостевой ОС Windows занято всего 15 Гб.

  5. Сжимаем vmdk диск с помощью vmkfstools. Команда сжатия диска thin будет выглядеть так:
    vmkfstools --punchzero /vmfs/volumes/storage1/vm1/vm1.vmdk

    Процедура сжатия в нашем примере заняла около 5 минут (скорость от размера диска и скорости и загруженности хранилища и сети SAN). После окончания процедуры сжатия проверим текущий размер vmdk файла.

    Как вы видите vmdk диск сжался до 15 Гб!

Примечание . Если дисков несколько, данную процедуру необходимо выполнить для каждого.

13.03.2014

Важно. Данная инструкция не является официально поддерживаемым решением по сжатию vmdk дисков, однако автором статьи в продуктивной среде применялась уже не раз. При написании этой статьи использовалась версия ESXi 5.1.

Перед осуществлением процедуры уменьшения размера виртуального диска на VMWare ESXi необходимо обязательно:


  • Удалить все снапшоты виртуальной машины, в противном случае вы можете повредить виртуальный диск

  • Создайте полную резервную копию виртуальной машины или же просто сделайте копию уменьшаемого vmdk файла с помощью команд:
    cp vmname.vmdk backup_vmname.vmdk

    Cp vmname-flat.vmdk backup_vmname-flat.vmdk


Процедура уменьшения размера виртуального диска состоит из двух этапов:




Уменьшение раздела внутри гостевой ОС

В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Это можно сделать из диспетчера управления дисками (операция Shrink Volume , поддерживаемая начиная с Windows Vista) или с помощью сторонних утилит (например, Acronis Disk Director). Если этого не сделать, после сжатия виртуального диска можно получить неработоспособную файловую систему.

Допустим, мы хотим уменьшить размер диска на 19, 5 Гб. Значит размер тома должен быть уменьшен на 19968 Мб (19.5 Гб x 1024). Именно это значение нужно ввести в поле мастера Shrink Volume. После уменьшения размера раздела на нашем диске останется некоторое количество неразмеченного пространства (в нашем примере 19,5 Гб)

Уменьшение размера VMDK файла виртуальной машины VMware

Переходим ко второй операции - непосредственно изменяю размера VMDK файла на файловой системе VMWare VMFS.


  1. Выключите виртуальную машину, размер виртуального диска которой вы хотите уменьшить

  2. Подключитесь по SSH к консоли гипервизора ESXi, на котором зарегистрирована ВМ

  3. Перейдите в каталог, в котором хранится vmdk файл ВМ (путь можно узнать в свойствах виртуального диска в графическом клиенте vSphere):
    cd /vmfs/volumes/datastore/VM-name

  4. Просмотрим содержимое конфигурационного файла с расширением *.vmdk с помощью команды cat:
    cat VM-name.vmdk

    Размер vmdk диска задается в секции #Extent description (после символов RW). В данном случае указана цифра 83886080 (40 Гб *1024*1024*1024 / 512)


  5. Мы хотим уменьшить размер vmdk диска с 40 до 20 Гб. Это значит, что в секции Extent description нужно указать значение: 41943040 (20 Гб*1024*1024*1024 / 512). Задайте новый размер виртуального диска с помощью текстового редактора (vi или nano).

  6. Осталось склонировать или смигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска.

    Совет . Если vCenter отсутствует, или VMFS хранилище одно, эти операции недоступны. В таком случае можно склонировать vmdk диск командой:


    vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    Удалить оригинальный диск и еще раз склонировать vmdk диск, вернув ему прежнее имя:


    rm vmname.vmdk

    Rm vmname-flat.vmdk

    Vmkfstools -i vmname-new-size.vmdk vmname.vmdk


  7. Осталось запустить гостевую ОС и удостовериться, что неразмеченная область исчезла.

    Совет . Если на предыдущем шаге использовалась утилита vmkfstools , возможно понадобится переподключить виртуальный диск в настройках ВМ, т.к. его новый размер может отображаться некорректно.


Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуальных vmdk дисков на VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться этой инструкцией.

Примечание . В качестве распространенных альтернативных методик сжатия виртуальных vmdk дисков часто используются такие схемы:


  • Уменьшение размера виртуального диска путем конвертации виртуальной машины с помощью VMware vCenter Converter (при конвертации указывается размер получаемого диска меньший, чем исходный)

  • Клонирование содержимого виртуального диска с помощью стороннего софта (например, Acronis True Image или Symantec Ghost32). Операция выполняется путем добавления в виртуальную машину нового диска меньшего размера и клонирования на него содержимого большего диска. После чего большой диск удаляется.

Уменьшение размера виртуального диска через конвертирование с помощью VMware vCenter Converter Standalone

Еще один способ уменьшения размера виртуальных дисков у ВМ на VMWare с помочью GUI — воспользоваться бесплатным конвертером — VMware vCenter Converter Standalone .

Недостаток:


  • Способ не быстрый


  • не требуется открывать в консоль vCenter или ESXi хоста

  • создается точная копия VM

  • источник не поломается при ошибке в назначении параметров задачи конвертирования

Ниже пошаговые инструкции

Примечание .Виртуальная машина, которую собираемся конвертировать (изменять размеры дисков и т.д.), должна быть выключена .

Именно выключена.
То есть, перед конвертацией, на исходной виртуальной машине необходимо выполнить: Shut down или Power Off , а не Suspend .

Указываем адрес ESXi хоста.


Выбираем исходную ВМ.


Указываем параметры новой ВМ.


Переходим в режим редактирования диска (Data to copy -> Edit)


Выбираем режим копирования: Select volumes to copy


Указываем желаемый размер диска в новой ВМ. Как вы видите, на диске в гостевой занято 48 гб, а размер самого диска - 150. Мы уменьшим его до 60 Гб.


Запускаем процесс конвертирования, отключаем исходную ВМ, включаем новую. Проверяем, что размер диска уменьшился, после чего исходную ВМ можно удалить.

Важно. Данная инструкция не является официально поддерживаемым решением по сжатию vmdk дисков, однако автором статьи в продуктивной среде применялась уже не раз. При написании этой статьи использовалась версия ESXi 5.1.

Перед осуществлением процедуры уменьшения размера виртуального диска на VMWare ESXi необходимо обязательно:

  • Удалить все снапшоты виртуальной машины, в противном случае вы можете повредить виртуальный диск
  • Создайте полную или же просто сделайте копию уменьшаемого vmdk файла с помощью команд: cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

Процедура уменьшения размера виртуального диска состоит из двух этапов:

Уменьшение раздела внутри гостевой ОС

В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Это можно сделать из диспетчера управления дисками (операция , поддерживаемая начиная с Windows Vista) или с помощью сторонних утилит (например, Acronis Disk Director). Если этого не сделать, после сжатия виртуального диска можно получить неработоспособную файловую систему.

Допустим, мы хотим уменьшить размер диска на 19, 5 Гб. Значит размер тома должен быть уменьшен на 19968 Мб (19.5 Гб x 1024). Именно это значение нужно ввести в поле мастера Shrink Volume. После уменьшения размера раздела на нашем диске останется некоторое количество неразмеченного пространства (в нашем примере 19,5 Гб)

Уменьшение размера VMDK файла виртуальной машины VMware

Переходим ко второй операции – непосредственно изменяю размера VMDK файла на файловой системе VMWare VMFS.

  1. Выключите виртуальную машину, размер виртуального диска которой вы хотите уменьшить
  2. Подключитесь по SSH к консоли гипервизора ESXi, на котором зарегистрирована ВМ
  3. Перейдите в каталог, в котором хранится vmdk файл ВМ (путь можно узнать в свойствах виртуального диска в графическом клиенте vSphere): cd /vmfs/volumes/datastore/VM-name

  4. Просмотрим содержимое конфигурационного файла с расширением *.vmdk с помощью команды cat: cat VM-name.vmdk

    Размер vmdk диска задается в секции #Extent description (после символов RW). В данном случае указана цифра 83886080 (40 Гб *1024*1024*1024 / 512)

  5. Мы хотим уменьшить размер vmdk диска с 40 до 20 Гб. Это значит, что в секции Extent description нужно указать значение: 41943040 (20 Гб*1024*1024*1024 / 512). Задайте новый размер виртуального диска с помощью текстового редактора (vi или nano).
  6. Осталось склонировать или смигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска.

    Совет . Если vCenter отсутствует, или VMFS хранилище одно, эти операции недоступны. В таком случае можно склонировать vmdk диск командой:

    Vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    Удалить оригинальный диск и еще раз склонировать vmdk диск, вернув ему прежнее имя:

    Rm vmname.vmdk rm vmname-flat.vmdk vmkfstools -i vmname-new-size.vmdk vmname.vmdk

  7. Осталось запустить гостевую ОС и удостовериться, что неразмеченная область исчезла.

    Совет . Если на предыдущем шаге использовалась утилита vmkfstools , возможно понадобится переподключить виртуальный диск в настройках ВМ, т.к. его новый размер может отображаться некорректно.

Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуальных vmdk дисков на VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться инструкцией.

Примечание . В качестве распространенных альтернативных методик сжатия виртуальных vmdk дисков часто используются такие схемы:

  • Уменьшение размера виртуального диска путем конвертации виртуальной машины с помощью VMware vCenter Converter (при конвертации указывается размер получаемого диска меньший, чем исходный)
  • Клонирование содержимого виртуального диска с помощью стороннего софта (например, Acronis True Image или Symantec Ghost32). Операция выполняется путем добавления в виртуальную машину нового диска меньшего размера и клонирования на него содержимого большего диска. После чего большой диск удаляется.

Уменьшение размера виртуального диска через конвертирование с помощью VMware vCenter Converter Standalone

Еще один способ уменьшения размера виртуальных дисков у ВМ на VMWare с помочью GUI — воспользоваться бесплатным конвертером — .

Недостаток:

  • Способ не быстрый
  • не требуется открывать в консоль vCenter или ESXi хоста
  • создается точная копия VM
  • источник не поломается при ошибке в назначении параметров задачи конвертирования

Ниже пошаговые инструкции

Примечание .Виртуальная машина, которую собираемся конвертировать (изменять размеры дисков и т.д.), должна быть выключена .

Именно выключена.
То есть, перед конвертацией, на исходной виртуальной машине необходимо выполнить: Shut down или Power Off , а не Suspend .

Указываем адрес ESXi хоста.

Выбираем исходную ВМ.

Указываем параметры новой ВМ.

Переходим в режим редактирования диска (Data to copy -> Edit)

Выбираем режим копирования: Select volumes to copy

Указываем желаемый размер диска в новой ВМ. Как вы видите, на диске в гостевой занято 48 гб, а размер самого диска – 150. Мы уменьшим его до 60 Гб.



Запускаем процесс конвертирования, отключаем исходную ВМ, включаем новую. Проверяем, что размер диска уменьшился, после чего исходную ВМ можно удалить.

Всем привет сегодня я хочу вам рассказать, о очень полезной функции которой к сожалению нет у VMware ESXI 5.5, а есть у Hyper-V начиная с Windows Server 2012. Это функция уменьшения размера виртуального диска. Сделано очень удобно, так как это может спасти администратора виртуализации он неправильно спланированной инфраструктуры виртуальной машины.

Как уменьшить виртуальный диск hyper v

Напомню, что VMware тоже давал некоторые методы по уменьшению vmdk файлов , но там это делалось не очень удобно через конвертер. В MS как ни странно данный процесс сделали в виде удобного мастера.

Итак как же уменьшить виртуальный диск hyper v, для этого логинимся в свою виртуальную машину, у меня на ней установлен Windows Server 2012 R2, но это не принципиально. Вам нужно зайти в оснастку Управление дисками.

Выбираем диск который следует уменьшить, щелкаем по нему правым кликом и нужна нажать Сжать.

Задаете размер сжимаемого пространства и жмете сжать.

в итоге у вас появится не размеченное пространство на вашем локальном диске, за счет него мы и уменьшим диск hyper-v.

Теперь выключаем виртуальную машину и заходим в ее свойства.

Выбираем нужный виртуальный диск, и запускаем пункт правка.

Откроется мастер изменения виртуального жесткого диска

Как видите, тут тоже есть функция Сжать, она то и позволит в hyper-v уменьшить размер диска, жмем далее.

Мастер вам подскажет до какого минимума можно сжать диск.

Осталось только проверить, запускаем виртуалку и открываем Мой компьютер. И как видите, все успешно сжалось.

Как увеличить виртуальный диск hyper v

Для увеличения виртуального жесткого диска, следует в мастере изменения виртуального жесткого диска, выбрать пункт развернуть, перевод конечно очень корявый. Так, что увеличить диск hyper v, ни чуть не сложнее.

давайте тоже самое проделаем из командной строки сильного языка:) Первым делом у нас есть виртуальная машина dc1, давайте ее закинем в переменную и посмотрим ее свойства.

$vm = Get-VM -Name DC1
Get-VHD -VMId $vm.VMId



Мы будем рассматривать вот такие вот значения
  • File Size > по сути это нынешний размер файла VHD. Отображает, сколько реально используется.
  • Size > нынешний размер виртуального диска. Если VHD динамический, то вам отобразят максимальный размер, до которого он может увеличиться
  • Minimum Size > отображает до какого размера можно уменьшить VHD.
    Имеем динамически расширяемый VHD - размером 40Gb, из которых занято > 20Gb. Как видите свободное пространство имеется, но оно практически одинаково с минимальным, и уменьшить диск, не выйдет.

Добрый день!. Задача простая, уменьшить размер виртуального диска 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, пример ее работы я описал .

Открываем утилиту. Выбираем "VMware Infrastructure virtual machine", и вводим учетные данные для подключения к вашему хосту или vCenter серверу. Затем next.

Выбираем хост и виртуальную машину для уменьшения дисков.

Вводим место назначения и данные дл доступа, в моем примере это тот же vcenter сервер.

Выбираем папку установки и имя

Выбираем хост, версию vmtools советую 9, чтобы можно было редактировать из толстого клиента в windows и датастор, а то придется производить процедуру понижения версии виртуального оборудования .

И теперь самое интересное, уменьшение дисков. Data copy type выбираем Select volume и ниже на против жесткого диска кнопка edit, в выпадающем меню можно выбрать текущий размер или самый минимальный, выбирайте минимальный, потом после выполнения конвертации расширите до такого как вам нужно, собственно все жмем next и процесс пошел.

просмотров