Выпуск Windows Server 2012 был тепло встречен из-за введения нескольких функций виртуализации, включая новый формат файла VHDX. VHDX является, по сути, преемником VHD, но с более продвинутыми возможностями. Тем не менее, вы все еще можете создавать и управлять файлами VHD в вашей среде Hyper-V. Давайте рассмотрим, в чем различия между файлами Hyper-V VHD и VHDX, какие преимущества они предоставляют и как они могут быть использованы.
О файлах Hyper-V VHD и VHDX
Виртуальные диски, созданные в среде Hyper-V, могут быть сохранены в виде файлов в формате VHD или VHDX на физическом диске. Виртуальные жесткие диски представляют собой альтернативу физическим жестким дискам; они функционируют как жесткие диски виртуальной машины (VM). Виртуальные диски могут содержать собственную файловую систему, разделы диска, сектора и папки. Они могут выполнять стандартные операции с диском и файлами. Каждая виртуальная машина должна иметь как минимум один виртуальный жесткий диск, который можно использовать как хранилище для данных VM.
Ранние версии Windows поддерживали только один формат файла для виртуальных дисков – VHD. В результате растущих технологических требований в Windows 2012 был введен формат файла VHDX, который значительно увеличил объем хранилища, улучшил производительность на дисках с большими секторами и обеспечил более высокий уровень защиты данных.
Как Hyper-V файлы VHD, так и VHDX могут иметь разные типы:
- Фиксированный. Пространство для виртуального диска назначается при создании файла VHD. Файл виртуального жесткого диска имеет тот же размер, что и виртуальный жесткий диск. Его размер остается постоянным, независимо от добавленных или удаленных данных.
- Динамическое увеличение. Пространство для виртуального диска выделяется по мере необходимости. У виртуального жесткого диска есть определенное количество физического пространства для хранения, которое потенциально может быть использовано, но пространство выделяется по мере необходимости. Таким образом, размер файла VHD или VHDX увеличивается при добавлении новых данных.
- Дифференциация. Этот тип диска используется для идентификации, хранения, управления и отката изменений, внесенных в другой виртуальный диск или родительский диск.
Различия между файлами VHD и VHDX в Hyper-V
Чтобы лучше понять, как функционируют файлы VHD и VHDX в Hyper-V, давайте исследуем, в чем различия между форматами файлов. Это позволит нам понять, как каждый из них может улучшить производительность виртуальных дисков. В следующей таблице приведены противопоставления двух форматов:
VHD | VHDX |
Основной формат файла, поддерживаемый Windows, Citrix и Oracle | Расширенный формат файла, поддерживаемый Windows |
До 2 ТБ емкости хранения | До 64 ТБ емкости хранения |
Файлы VHD обеспечивают меньшую защиту от повреждения данных по сравнению с их аналогами VHDX | Файлы VHDX обеспечивают надежную защиту от повреждения данных путем отслеживания метаданных |
Поддержка пользовательских метаданных не предоставляется | Пользовательские метаданные поддерживаются и могут быть сохранены |
Поддерживается Windows Server 2008, 2008 R2, 2012 и 2012 R2 | Поддерживается Windows 2012 и более поздние версии |
Нет возможности изменения размера в реальном времени | Изменение размера в реальном времени доступно |
Логический размер сектора 512 байт | Логический размер сектора 4 КБ |
Проблемы с выравниванием данных | Лучшее выравнивание данных |
Поддержка обрезки не предоставляется | Поддерживается обрезка |
Как вы можете видеть, новый формат файла Hyper-V VHDX включает несколько функций, которые значительно улучшили его полезность. Например, обрезка позволяет определить блоки данных, которые больше не используются и могут быть удалены, что повышает оптимизацию хранилища и улучшает общую производительность. Еще одной функцией, введенной с новым форматом файла Hyper-V VHDX, является Shared VHDX, который позволяет виртуальным машинам на одном гостевом кластере использовать файл VHDX в качестве общего хранилища. Более того, файлы Hyper VHDX позволяют изменять размер (сжимать или расширять) виртуальные диски по требованию, в то время как виртуальная машина все еще работает, что значительно экономит время и снижает накладные расходы. Наконец, благодаря улучшенному выравниванию данных, файлы Hyper-V VHDX могут значительно улучшить операции ввода-вывода. В отличие от этого, физические диски с большим сектором подвержены снижению производительности.
Несмотря на то что VHDX является более продвинутой версией формата VHD, все еще есть случаи, когда использование VHD предпочтительнее. Например, файлы Hyper-V VHDX не совместимы с более ранними версиями Windows Server. Поэтому, если вы используете виртуальные среды с смешанными гостевыми ОС и вам нужно перемещать виртуальные машины между разными хостами, формат файла VHD будет оптимальным выбором, поскольку он поддерживается большим количеством ОС.
Как работать с файлами Hyper-V VHD и VHDX в PowerShell
Создание и настройка файлов виртуальных жестких дисков Hyper-V VHD и VHDX
Чтобы создать новый виртуальный жесткий диск в формате VHD или VHDX, откройте PowerShell от имени администратора и выполните командлет New-VHD. Ниже приведен пример создания виртуального жесткого диска динамического типа по указанному пути, объемом 10 ГБ, размером блока 128 МБ и размером логического сектора 4 КБ. Обратите внимание, что расширение файла (.vhd или .vhdx) определяет формат файла; в данном случае создается файл VHDX.
New-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic
Теперь виртуальный жесткий диск создан и отображается следующая информация о виртуальном диске в окне PowerShell.
Добавление файлов Hyper-V VHD и VHDX
С помощью командлета Add-VMHardDiskDrive можно добавить виртуальный жесткий диск к определенной ВМ. В следующем примере виртуальный жесткий диск DemoDisk.vhdx по указанному пути присоединяется к ВМ с именем DemoVM. Контроллер SCSI, номер контроллера 0 и расположение контроллера 1 также назначаются виртуальному диску.
Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:\Virtual Disks\DemoDisk.vhdx'
Удаление файлов Hyper-V VHD и VHDX
Команда Remove-VMHardDiskDrive используется для удаления виртуального жесткого диска из ВМ. Чтобы продемонстрировать работу этой командлета, вот как удалить диск, созданный выше:
Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1
С помощью этих командлетов вы можете легко создавать и удалять виртуальные диски с необходимыми параметрами и присоединять их к определенным ВМ.
Преобразование файлов Hyper-V VHD и VHDX
Файлы VHDX предлагают целый ряд преимуществ по сравнению с их предшественниками VHD. Таким образом, во многих случаях рекомендуется преобразовать все файлы VHD в формат VHDX. Чтобы обновить файлы Hyper-V VHD до VHDX, просто запустите командлет Convert-VHD
, который позволяет изменить формат файла, сохраняя содержимое исходного виртуального жесткого диска. Данные исходного виртуального жесткого диска копируются на новый диск требуемого формата. Операция должна выполняться офлайн; рекомендуется отсоединить виртуальный жесткий диск. Приведенный ниже пример демонстрирует командлет, позволяющий преобразовать файлы Hyper-V VHD в VHDX:
Convert-VHD -Path ‘C:\New Virtual Disks\Fixed Disk.vhd’ -DestinationPath ‘C:\New Virtual Disks\Fixed Disk.vhdx’
Однако помните, что файлы VHDX совместимы только с Windows Server 2012 и позднее. Таким образом, вам может потребоваться преобразовать файлы Hyper-V VHDX в VHD. В этом случае можно использовать тот же командлет Convert-VHD, просто в обратном направлении. Помните, что виртуальный жесткий диск должен быть отсоединен перед выполнением операции.
Convert-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ ‘C:\Virtual Disks\DemoDisk.vhd’
Слияние файлов Hyper-V VHD и VHDX
Как упомянуто выше, дифференциальные диски используются для хранения и отката изменений, внесенных в другой VHD или гостевую ОС. Каждый дифференциальный диск отслеживает и сохраняет изменения, внесенные в один ассоциированный виртуальный диск. В этом случае дифференциальный диск называется “дочерним диском”, а виртуальный жесткий диск – “родительским диском”. С помощью Merge-VHD cmdlet вы можете объединить изменения, сохраненные в дифференциальном диске, в родительский диск или в другой дочерний диск в цепочке дифференциального диска. Обратите внимание, что эта операция выполняется в автономном режиме; убедитесь, что цепочка дисков отсоединена.
Чтобы объединить дочерний виртуальный жесткий диск с родительским виртуальным жестким диском, выполните следующую команду. Обратите внимание, что после завершения операции и переноса содержимого дочернего диска в родительский дифференциальный диск уничтожается.
Merge-VHD -Path ‘C:\Virtual Storage\Differencing.vhdx’
В следующем примере у нас есть родительский диск, maindisk.vhdx, и дочерний диск, ChDisk1.vhdx, который сам имеет дочерний диск: ChDisk2.vhdx. У последнего виртуального диска даже есть свой собственный дочерний диск, ChDisk3.vhdx. Вместе эти диски составляют цепочку дифференциальных дисков. Следующая команда может быть использована для объединения дочерних виртуальных жестких дисков в цепочке дисков.
Merge-VHD -Path ‘C:\VM Testing\ChDisk3.vhdx’ -DestinationPath ‘C:\VM Testing\ChDisk1.vhdx’
Через эту операцию данные из ChDisk3.vhdx и ChDisk2.vhdx объединяются в ChDisk1.vhdx. Сценарий PowerShell упрощает процесс объединения виртуальных жестких дисков; вся операция может быть выполнена за один запуск, независимо от размера цепочки отличий. Это преимущество PowerShell – с помощью Hyper-V Manager вам не разрешается объединять несколько слоев цепочки отличий диска одновременно. Вам пришлось бы объединять каждый слой цепочки отличий диска вручную, и эти дополнительные шаги займут ваше время и усилия.
Монтирование файлов Hyper-V VHD и VHDX
Команда Mount-VHD позволяет монтировать один или несколько виртуальных жестких дисков. В следующем примере показано, как монтировать виртуальный жесткий диск по пути C:\Virtual Disks\DemoDisk.vhdx.
Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’
С помощью сценариев PowerShell вы можете монтировать виртуальный жесткий диск в режиме только для чтения:
Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ -ReadOnly
Размонтирование файлов Hyper-V VHD и VHDX
Если вы хотите размонтировать виртуальный жесткий диск, выполните команду Dismount-VHD в PowerShell. В приведенном ниже примере показано, как размонтировать виртуальный жесткий диск по пути C:\Virtual Disks\DemoDisk.vhdx.
Dismount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’
Еще один вариант – размонтировать виртуальный жесткий диск с использованием номера диска монтирования, как показано ниже:
Dismount-VHD -DiskNumber 8
Изменение размера файлов Hyper-V VHD и VHDX
Если вы хотите изменить размер (уменьшить или увеличить) виртуального жесткого диска, следует использовать командлет Resize-VHD. В следующем примере показано, как изменить размер виртуального жесткого диска, назначив ему новый указанный размер. В данном случае мы увеличили размер VHDX с 10 ГБ до 20 ГБ:
Resize-VHD -Path 'C:\Виртуальные диски\DemoDisk.vhdx' -SizeBytes 20GB
Однако уменьшение возможно только для файлов VHDX. Обратите внимание, что виртуальный жесткий диск не должен быть уменьшен до размера, меньшего, чем его указанный минимальный размер. Чтобы узнать минимальный размер виртуального жесткого диска, выполните следующий командлет:
Get-VHD -Path 'C:\Виртуальные жесткие диски\demovdisk.vhdx'
Можно использовать следующую команду, чтобы уменьшить файл VHDX до его минимального размера:
Resize-VHD -Path 'C:\Виртуальные жесткие диски\demovdisk.vhdx' -ToMinimumSize
Вывод
Как файлы Hyper-V VHD, так и VHDX играют значительную роль в виртуальных средах, поскольку они служат в качестве жестких дисков ВМ. Формат файла VHD использовался долгое время, но чтобы следовать за постоянным прогрессом технологии виртуализации, Microsoft представила более продвинутую версию. Таким образом, формат файла VHDX был выпущен с Window Server 2012 для улучшения производительности физических дисков с большим сектором, увеличения объема хранения и обеспечения защиты данных.
После сравнения возможностей файлов Hyper-V VHD и VHDX можно с уверенностью сказать, что Hyper-V VHDX – более эффективный и надежный формат файла, предназначенный для обработки требований производительности современных виртуальных сред.
Убедитесь, что защищаете диски VHD и VHDX решением по защите данных, специально разработанным для виртуализованной инфраструктуры. Рассмотрите решение NAKIVO Backup & Replication, которое обеспечивает быструю и экономичную защиту Hyper-V, VMware, AWS EC2 и Microsoft 365 сред.
Source:
https://www.nakivo.com/blog/work-hyper-v-vhd-vhdx-files-essential-basics/