Преобразование диска виртуальной машины Hyper-V из динамического в фиксированный
Преобразование диска виртуальной машины Hyper-V из динамического в фиксированный
У гипервизора Hyper-V есть одна особенность: в процессе создания его средствами виртуальных машин для обеспечения их работы создаётся виртуальный жёсткий диск только динамического типа. Если мы хотим использовать для работы машины диск фиксированного типа, нам нужно в отдельном порядке создать такой диск средствами Hyper-V и позднее подключить его к машине, созданной с конфигурацией без диска.
Кто плотно работает со средствами виртуализации операционных систем знает, что фиксированные виртуальные диски имеют преимущества над динамическими: фиксированные более производительны и не нуждаются в постоянной дефрагментации. Но если у вас виртуальная машина уже создана на базе динамического диска, не беда, тип диска можно преобразовать, не причинив вреда установленной на него гостевой ОС. И сделать это можно средствами самого же Hyper-V.
Как это сделать?
Преобразование типов виртуальных дисков осуществляется с помощью функционала Hyper-V по управлению дисками, это две отдельные функции по созданию и изменению дисков. Этот функционал ещё и комплексно интегрирован в параметры каждой виртуальной машины, и такую интегрированную его реализацию во многих случаях удобнее использовать, это избавляет от лишнего этапа по указанию пути к файлу диска. Для выполнения нужной нам процедуры машина с оперируемым диском должна быть выключена. Если она сохранена, можно просто сбросить сохранённое состояние в контекстном меню диспетчера Hyper-V.
Открываем параметры машины.
Слева отмечаем диск машины, в основной же части окна параметров нажимаем кнопку «Проверить», это позволит нам увидеть свойства диска нашей машины.
В окошке свойств видим, что тип у нашего диска динамический.
Теперь жмём кнопку рядом «Правка».
В окошке мастера изменения дисков машин Hyper-V жмём «Далее».
На этапе выбора действия указываем «Преобразовать».
Формат диска оставляем таким, как и был.
А на этапе указания типа диска выбираем «Фиксированного размера».
И теперь важный этап: преобразование из одного типа виртуального диска в другой не происходит в виде операции над его исходным файлом, преобразованный файл обязательно должен быть сохранён как новый файл. И на этом этапе нам нужно указать путь и имя этого нового файла. Впоследствии мы сделаем подмену исходного файла динамического диска на новый файл преобразованного фиксированного диска. Поэтому путь нового файла мы указываем там же, где и хранится исходный файл диска. И имя новому файлу диска мы дадим такое же, как у исходного файла, но с некоторой допиской, которую уберём после подмены.
Всё: жмём «Готово» и ожидаем, пока Hyper-V выполнит преобразование диска и сохранит его в новый файл.
Когда преобразование будет завершено, открываем в системном проводнике место хранения файлов обоих дисков. Файл исходного динамического мы удаляем. А файл нового фиксированного диска переименовываем, убирая из названия дописку, чтобы его имя в итоге получилось точно таким же, как и исходного динамического диска.
Создание виртуальных дисков в Hyper V VHD и VHDX
Виртуальные диски Hyper V заменяют обычные жесткие диски в операционной системе и на виртуальных машинах. В Hyper V есть три типа накопителей:
- vhd — максимальный размер до 2 ТБ, нет возможности сжимать и расширять диск при работающей машине. Чаще выбирается в случае, когда машины до Windows Server 2012. Размер сектора 512 байт.
- vhdx — максимальный размер до 64 ТБ, есть возможность уменьшения и увеличения размера у работающей машины, лучше защита данных от повреждения, есть поддержка TRIM. Работает с Windows Server 2012. Размер сектора 4 КБ
- vhds — работает только в кластере Hyper V на файловой системе CSV. Позволяет работать с одним диском нескольким виртуальным машинам. Доступен с Windows Server 2016.
Перед тем как в Hyper V добавить виртуальный жесткий диск нужно его создать.
Виртуальные жесткие диски Hyper V можно создать несколькими путями. Первый — это через оснастку управления дисками. Так как виртуальные накопитель можно использовать не только для виртуальных машин, но и для подключения как разделов и, установки ОС, такую возможность создания добавили и в эту оснастку:
Конечно мы можем создать накопитель и в Powershell, но это будет рассмотрено в конце. И можно создать в оснастке Hyper V:
Если пропустить стартовое окно, то мы увидим форматы дисков Hyper V, которые описаны выше:
В следующем окне мы видим типы накопителей, которые делятся на:
- Фиксированного размера (Fixed) — если в последующем указать, что его размер 50 Гб, то он сразу их займет. Аналог Lazy zeroed thick disks в VMware
- Динамического изменяемого размера (Dynamic) — если указать размер в 50 Гб, то диск изначально будет весить 0 Кб и будет заполняться до этого предела. Аналог в VMWare Thin disks.
- Разностные диски (Differencing) — подразумевает вложенность. По аналогии с дифференциальным бэкапом этот диск отдельно сохраняет только изменения, сделанные в родительском диске. Что бы воспользоваться этим диском в последующем нужно будет указать место основного диска.
Картинка немного описывающая разностный тип:
В тестовых средах используется динамический и дифференциальный, а в рабочей среде фиксированные накопители. В рамках работы Hyper V динамический диск не подходит по нескольким причинам:
- Медленней работает, так как уходит время на работу с новыми блоками.
- Сложно предсказуем так как с большим количеством виртуальных машин можно не заметить куда уходить свободное пространство жесткого диска.
Минусов скорее всего больше, но причины выше для меня имеют ключевое значение. Я использую динамические диски в тестовых средах.
Минусы разностных дисков Hyper V такие:
- Если сломается родительский диск, то не будет работать и дочерний.
- Медленная работа.
- Большая фрагментация.
Тут выбирается имя файла и его расположение. Рекомендую указывать корректное имя так как при удалении виртуальной машины диски не удаляются и можно запутаться:
На предпоследнем шаге мы выбираем из трех возможных вариантов:
- Создать пустой виртуальный жесткий диск (Create a new blank virtual hard disk) — создаст пустой диск.
- Копировать содержимое указанного физического диска (Copy the contents of the specified physical disk) — в случае клонирования содержимого диска он должен быть подключен и не должен использоваться во время всего времени копирования. Это не может быть системный диск хоста, который вы в данный момент используете.
- Копировать содержимое указанного виртуального жесткого диска (Copy the contents of the specified virtual hard disk) — виртуальный диск Hyper V должен быть отключен и не использоваться.
Я бы не рекомендовал использовать клонирование в случаях, когда вам нужно получить копию виртуальной машины. Для этого есть импорт и экспорт Hyper V.
В финальном окне еще раз проверяем данные и подтверждаем создание. Если был выбран фиксированный тип диска, то он может создаваться долго.
Этот диск можно подключить во время создания виртуальной машины либо подключить уже к существующей виртуальной машине. Что бы в Hyper V подключить жесткий диск к существующей машине сделайте следующее:
Далее выбрать тип контроллера, который вы используете (в большинстве случаем SCSI) и нажать на добавление устройства:
В этой вкладке так же можно создать виртуальный диск Hyper V. В отличие от предыдущего способа здесь не будет вопроса о выборе VHD и VHDX. Этот выбор будет сделан автоматически от типа VM.
Через проводник мы можем найти уже созданный диск и импортировать его:
После включения виртуальной машины, в зависимости от предназначения диска, его нужно будет проинициализировать и отформатировать.
Создание виртуальных дисков Hyper V VHD и VHDX в Powershell
Для создания виртуальных дисков в Powershell есть команда:
Если ее запустить без параметров, то у нас появится опрос по необходимым значениям, но он работает странно и у нас могут появиться ошибки:
Cannot recognize "4GB" as a System.UInt64 due to a format error.
New-VHD : Failed to create the virtual hard disk. The size specified for 'C:vv.vhdx' is too small.
На примере ниже я создал виртуальный динамический диск VHDX в Powershell размером 1GB:
По умолчанию создается динамический накопитель. Формат виртуального диска определяется в пути, если бы я хотел VHD диск нужно было бы так написать. Размер может указываться и в мегабайтах (MB), терабайтах (TB) и так далее.
Тип накопителя указывается в самом ключе. Если нужно создать фиксированный диск напишите:
При создании разностных дисков Hyper V нужно указать и родительский диск:
Копирование содержимого диска на новый тоже возможно, по правилам описанным выше. Сначала мы должны узнать номер накопителя, который будем копировать:
А затем передать этот номер:
Чтобы в Hyper V подключить диск средствами Powershell нужно указать тип контроллера:
Преобразование виртуальных жестких дисков VHD и VHDX средствами Hyper-V и программой StarWind V2V Converter
Встроенную в Hyper-V функцию преобразования дисков тяжело назвать полноценным конвертером. Все, что может штатный гипервизор Microsoft делать с виртуальными жесткими дисками собственного формата VHD и VHDX – это преобразовывать эти форматы один в другой, а также менять динамический тип на фиксированный и наоборот.
Механизм конвертирования виртуальных дисков в форматы других гипервизоров, как это, например, предусматривается в программе VirtualBox, в составе Hyper-V отсутствует.
Ниже рассмотрим, как происходит процесс преобразования VHD- и VHDX-дисков с установленными гостевыми ОС в другой тип и формат. Преобразовывать диски будем с помощью штатных возможностей Hyper-V в составе Windows 10 и сторонней бесплатной программкой StarWind V2V Converter.
Содержание:
1. Зачем преобразовываются виртуальные жесткие диски
В преобразовании дисков VHD и VHDX из динамического типа в фиксированный надобность встает редко. Считается, что виртуальный жесткий диск фиксированного типа работает быстрее, чем диск с типом динамическим. На самом деле ни одна программная фишка не сделает виртуальную машину производительней, как это под силу аппаратным возможностям хоста (физического компьютера). Объем оперативной памяти в 8 и более Гб, отдельный винчестер (а то и вовсе SSD) для размещения на нем файлов виртуальных машин, современный процессор – вот базовый рецепт производительной работы гипервизоров для некоммерческого использования.
От преобразования изначально созданных фиксированных типов виртуальных дисков в типы динамические проку больше. Фиксированный виртуальный диск на физическом компьютере сразу занимает место, равное всему его объему, как если бы он был полностью забит данными. Тогда как динамический тип диска увеличивается по мере заполнения данными, соответственно, занимая на физическом компьютере меньше места.
Преобразование дисков VHD в более новый формат виртуальных дисков, с которыми работает Hyper-V – VHDX, имеет место быть в случае использования преимуществ последнего. Основные из них – это объем до 64 Тб, тогда как устаревший формат VHD и VHDX предусматривает максимум объема только 2 Тб, и более высокая степень предотвращения потери данных в случае отключения питания. Плюс к этому, имея одинаковый объем виртуального дискового пространства, диски VHDX занимают на физическом жестком диске меньше места, чем VHD.
Конвертирование дисков из VHDX в старый формат VHD может быть актуально в случаях переноса виртуальной машины, соответственно, на старые версии Hyper-V (ниже 3.0). Таковые не работают с дисками VHDX.
Виртуальные машины Hyper-V первого поколения, созданные на базе диска VHD, могут быть запущены в гипервизорах VMware и VirtualBox без каких-либо преобразовательных процессов. И VMware, и VirtualBox поддерживают создание и работу виртуальных машин на базе дисков VHD-формата. А вот с форматом VHDX пока что эти гипервизоры работу не предусматривают.
Преобразование форматов виртуальных жестких дисков одних гипервизоров в форматы других – это универсальный, к тому же, быстрый способ переноса виртуальных машин на другой гипервизор. А в случае с дисками VHDX – еще и единственный возможный вариант, позволяющий переносить виртуальные машины Hyper-V на гипервизоры VMware и VirtualBox.
2. Преобразование дисков VHD и VHDX из динамического типа в фиксированный и наоборот средствами Hyper-V
Для преобразования диска виртуальная машина, его использующая, должна быть в выключенном состоянии. Hyper-V предусматривает два пути изменения дисков – специальной функцией в диспетчере и в параметрах каждой отдельной виртуальной машины только для диска этой машины. Рассмотрим сначала первый вариант и преобразуем динамический диск VHDX в фиксированный. Для дисков VHD процедура будет идентичной.
В диспетчере Hyper-V выбираем виртуальную машину, для которой необходимо преобразование диска. В контекстном меню на выбранной машине нам нужны «Параметры».
В появившемся окне слева, в разделе «Оборудование», в подразделе контроллеров делаем клик на жестком диске виртуальной машины. Справа увидим путь к его файлу. Подробные сведения о формате и типе диска будут показаны в отдельном небольшом окошке свойств при нажатии кнопки «Проверить».
В нашем случае имеем виртуальную машину Hyper-V первого поколения, установленную на VHDX-диск динамического типа. Преобразуем диск в фиксированный. В окне параметров жмем кнопку «Правка».
В первом окне запустившегося мастера изменения диска жмем «Далее».
Выбираем пункт «Преобразовать». Жмем «Далее».
Оставим предустановленный формат диска VHDX. Жмем «Далее».
Выбираем первый пункт «Фиксированного размера», чтобы в таковой преобразовать динамический диск. И наоборот – выбираем второй пункт «Динамически развертывающийся», если в этот тип нужно преобразовать фиксированный диск. Жмем «Далее».
Преобразованный диск будет новым файлом, ему, соответственно, нужно дать имя и указать место хранения на компьютере. Жмем «Далее».
Жмем «Готово» для запуска процесса преобразования.
По завершении преобразования проверяем новый диск. В диспетчере Hyper-V на панели инструментов справа жмем команду «Проверить диск». В окне проводника указываем путь к преобразованному диску.
Окно свойств диска покажет его тип. В нашем случае это тип фиксированный, что, собственно, и требовалось от процесса преобразования.
3. Преобразование VHDX в VHD и, наоборот, VHD в VHDX средствами Hyper-V
Преобразуем для примера исходный формат диска VHDX в VHD, чтобы на его базе можно было создать и запустить виртуальную машину в гипервизорах VMware и VirtualBox. Для этого используем немного другой путь изменения виртуальных жестких дисков. Жмем «Изменить диск» – команду, находящуюся на панели инструментов справа в окне диспетчера Hyper-V.
Эта функция запускает рассмотренный выше мастер изменения виртуальных жестких дисков. Жмем «Далее» в приветственном окне мастера.
Теперь нужно указать путь к конвертируемому диску. Жмем «Далее».
В нашем случае нужен первый пункт – «Виртуальный жесткий диск», он же диск формата VHD. При обратных исходных данных, если нужно преобразовать диск из VHD в VHDX, соответственно, выбираем второй пункт – «VHDX». Жмем «Далее».
Предустановленный тип диска – динамический – оставляем. Жмем «Далее».
Указываем путь и имя будущего диска VHD. Жмем «Далее».
Жмем «Готово» и дожидаемся завершения процесса преобразования.
По завершении преобразования можно проверить диск. В диспетчере Hyper-V жмем «Проверить диск» и указываем путь к преобразованному файлу VHD.
Как видим, диск преобразовался из формата VHDX в формат VHD.
Более того, гостевая ОС Windows 8.1, установленная на этом виртуальном диске, успешно запускается на гипервизорах VMware и VirtualBox.
Такого же успеха не стоит ожидать с преобразованными VHD-дисками виртуальных машин Hyper-V второго поколения, созданных с применением ПО на базе UEFI. Правда, только в случае с программой VirtualBox. Актуальная версия VMware Workstation 12 предусматривает создание виртуальных машин с типом прошивки EFI и, соответственно, может обеспечить работоспособность бывших виртуальных машин второго поколения Hyper-V, виртуальный жесткий диск которых впоследствии был преобразован в формат VHD. Для этого при создании новой виртуальной машины VMware необходимо указать тип прошивки – EFI.
4. Преобразование VHDX в VMDK программой StarWind V2V Converter
Универсальный способ переноса виртуальных машин с Hyper-V на другие гипервизоры путем преобразования файлов виртуальных жестких дисков с установленными ОС не ограничивается только форматом VHD, если использовать нештатные средства. Для конвертирования дисков VHD и VHDX в VMDK предназначена специальная программка StarWind V2V Converter. Ее можно бесплатно скачать на сайте разработчика , предварительно заполнив анкету для регистрации аккаунта StarWind. Ссылка на скачивание инсталлятора приходит на почту, указанную в регистрационных данных.
С форматом виртуальных жестких дисков VMDK работает не только «родной» гипервизор VMware, но и VirtualBox. Процесса конвертирования дисков VHDX в диски VMDK все равно не избежать, если виртуальную машину Hyper-V нужно запустить на VMware или VirtualBox. Но и в преобразовании формата VHD, поддерживаемого и VMware, и VirtualBox, есть свои выгоды – диски VMDK более экономно расходуют дисковое пространство физического компьютера, нежели диски VHD.
StarWind V2V Converter может преобразовывать диски VHD и VHDX в диски VMDK. И наоборот – диски VMDK в диски VHD и VHDX. Для дисков VHD и VMDK при конвертировании можно выбрать иной, нежели имеющийся тип – динамический или фиксированный. Рассмотрим работу программы на примере преобразования диска VHDX в диск VMDK.
Запускаем StarWind V2V Converter и сразу жмем «Далее».
Указываем путь исходного файла VHDX. Жмем «Next».
Выбираем формат и тип диска VMDK. В нашем случае выбран первый вариант – VMware growable image. Это динамический тип диска. Второй вариант — VMware pre-allocated image – это тип диска фиксированный. Жмем «Next».
В качестве контроллера VMware при создании виртуальных машин рекомендуется выбрать SCSI, его и выберем. Жмем «Next».
С помощью кнопки обзора указываем путь создания VMDK-диска на выходе. Жмем «Next».
Начнется процесс конвертирования. По его завершении жмем «Finish».
И, собственно, можно приступать к созданию виртуальной машины из имеющегося VMDK-диска в гипервизорах VMware и VirtualBox.
Как увеличить/уменьшить размер виртуального диска Hyper-V?
27.07.2021
itpro
Hyper-V, Windows 10, Windows Server 2016, Виртуализация
комментария 3
Динамическое изменение размеров дисков виртуальных машин доступно, начиная с версии Hyper-V в Windows Server 2012 R2. Функция Online VHDX Resize позволяет вам увеличить или уменьшить размер vhdx диска виртуальной машины онлайн (без остановки ВМ). В этой статье мы рассмотрим, как увеличить или уменьшить (сжать) размер диска виртуальной машины в Hyper-V, запущенном в Windows 10 или Windows Server 2016 (инструкции применима для всех поддерживаемых версий Hyper-V, в том числе бесплатного Hyper-V Server).
Основные возможности и ограничений Online VHDX Resize в Hyper-V:
- Вы можете изменить размер виртуального диска Hyper-V любого типа: фиксированного, динамического, и дифференциального.
- Вы можете изменить размер VHDX диска (в том числе системного диска гостевой ОС) на-лету. Останавливать виртуальную машину не нужно;
Увеличиваем размер виртуальный VHDX диска в Hyper-V
Рассмотрим, как увеличить размер виртуального VHDX диска с помощью консоли Hyper-V Manager.
- В менеджере виртуальных машин Hyper-V выберите виртуальную машину, перейдите в ее настройки (Settings) -> SCSI Controller;
- Выберите нужный виртуальный диск и нажмите кнопку Edit;
Если кнопка Edit неактивна, и внизу указано Edit is not available because checkpoint exist for this virtual machine, нужно удалить снапшоты. Возможно необходимо отключить Production Checkpoint в свойствах ВМ.
Как сжать виртуальный VHDX диск в Hyper-V?
Рассмотрим теперь как уменьшить размер виртуального vhdx диска на Hyper-V.
- Перед тем как сжать виртуального диска из консоли Hyper-V, необходимо внутри гостевой ОС уменьшить размер логического раздела на диске, освободить часть места, преобразовав его в неразмеченную область. Для этого внутри гостевой ОС откройте диспетчер управления дисков, выберите нужный раздел и выберите пункт Shrink Volume (Сжать том);
Прежде чем уменьшать размер VHDX файла, попробуйте дефрагментировать его с помощью оптимизации Hyper-V. Выберите пункт Compact в предыдущей форме. Либо для оптимизации и дефрагментации динамического диска Hyper-V можно использовать команду PowerShell: Optimize-VHD -Path ‘D:Hyper-Vfs01.vhdx’
Изменить размер виртуального диска Hyper-V с помощью PowerShell
Можно изменить размер VHDX диска с помощью PowerShell. Для этого используется командлет Resize-VHD (не путать с Resize-VirtualDisk , который относится к командлетам модуля управления дисками Storage).
Сначала нужно получить полный путь к VHDX диску виртуальной машины:
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
Здесь же можно увидеть реальный размер VHDX файла на диске (FileSize) и максимальный размер, который он может занять (Size).
MinimumSize – это минимальный размер VHDX диска, до которого можно уменьшить файл виртуального диска.
Чтобы увеличить размер VHDX диска нужно указать его новый размер:
Resize-VHD -Path ‘C:VMfs01Virtual Hard Disksfs01.vhdx’ -SizeBytes 50Gb
Можно сделать это удаленно через PowerShell Remoting. Подключитесь к виртуальной машины с помощью Invoke-Command или Enter-PSSession (по сети или через PowerShell Direct)
Enter-PSSession -ComputerName fs01
Получим информацию о том, на сколько можно расширить раздел и расширим его до максимального размера:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
Если нужно уменьшить размер виртуального диска до минимально-возможного, выполните:
Resize-VHD -Path ‘C:VMfs01Virtual Hard Disksfs01.vhdx’ -ToMinimumSize
Данная команда уменьшила максимальный размер VHDX файла на 6 Гб.
Предыдущая статья Следующая статья
Преобразование виртуальных жестких дисков VHD и VHDX средствами Hyper-V и программой StarWind V2V Converter
Встроенную в Hyper-V функцию преобразования дисков тяжело назвать полноценным конвертером. Все, что может штатный гипервизор Microsoft делать с виртуальными жесткими дисками собственного формата VHD и VHDX – это преобразовывать эти форматы один в другой, а также менять динамический тип на фиксированный и наоборот.
Механизм конвертирования виртуальных дисков в форматы других гипервизоров, как это, например, предусматривается в программе VirtualBox, в составе Hyper-V отсутствует.
Ниже рассмотрим, как происходит процесс преобразования VHD- и VHDX-дисков с установленными гостевыми ОС в другой тип и формат. Преобразовывать диски будем с помощью штатных возможностей Hyper-V в составе Windows 10 и сторонней бесплатной программкой StarWind V2V Converter.
на сайте разработчика, предварительно заполнив анкету для регистрации аккаунта StarWind. Ссылка на скачивание инсталлятора приходит на почту, указанную в регистрационных данных.
С форматом виртуальных жестких дисков VMDK работает не только «родной» гипервизор VMware, но и VirtualBox. Процесса конвертирования дисков VHDX в диски VMDK все равно не избежать, если виртуальную машину Hyper-V нужно запустить на VMware или VirtualBox. Но и в преобразовании формата VHD, поддерживаемого и VMware, и VirtualBox, есть свои выгоды – диски VMDK более экономно расходуют дисковое пространство физического компьютера, нежели диски VHD.
StarWind V2V Converter может преобразовывать диски VHD и VHDX в диски VMDK. И наоборот – диски VMDK в диски VHD и VHDX. Для дисков VHD и VMDK при конвертировании можно выбрать иной, нежели имеющийся тип – динамический или фиксированный. Рассмотрим работу программы на примере преобразования диска VHDX в диск VMDK.
Запускаем StarWind V2V Converter и сразу жмем «Далее».
Указываем путь исходного файла VHDX. Жмем «Next».
Выбираем формат и тип диска VMDK. В нашем случае выбран первый вариант – VMware growable image. Это динамический тип диска. Второй вариант – VMware pre-allocated image – это тип диска фиксированный. Жмем «Next».
В качестве контроллера VMware при создании виртуальных машин рекомендуется выбрать SCSI, его и выберем. Жмем «Next».
С помощью кнопки обзора указываем путь создания VMDK-диска на выходе. Жмем «Next».
Начнется процесс конвертирования. По его завершении жмем «Finish».
И, собственно, можно приступать к созданию виртуальной машины из имеющегося VMDK-диска в гипервизорах VMware и VirtualBox.