VMDK (сокращение от Virtual Machine Disk ) — это формат файла , описывающий контейнеры для виртуальных жестких дисков , которые будут использоваться в виртуальных машинах, таких как VMware Workstation или VirtualBox .
Первоначально разработанный компанией VMware для своих собственных [1] продуктов виртуальных устройств , формат VMDK стал открытым форматом [2] [ нерабочая ссылка ] с версией 5.0 в 2011 году и является одним из форматов дисков, используемых в открытом формате виртуализации для виртуальных устройств.
Максимальный размер VMDK обычно составляет 2 ТБ для большинства приложений, но в сентябре 2013 года VMware vSphere 5.5 представила емкость VMDK 62 ТБ. [3]
Все продукты виртуализации VMware поддерживают VMDK; сюда входят VMware Workstation , VMware Workstation Player , VMware Server , VMware Fusion , VMware ESX, VMware ESXi и все предложения «программное обеспечение плюс услуги», которые их включают.
Стороннее программное обеспечение, поддерживающее VMDK, включает в себя:
Формат VMDK включает в себя несколько различных подформатов, некоторые из которых хранят метаданные во внешнем файле дескриптора, в то время как другие встраивают их вместе с основными данными в один файл. [7] Плоский образ выделяет пространство заранее, в то время как разреженный образ увеличивается по мере того, как виртуальная машина записывает в него данные. Плоские образы могут использовать возможности разреженных файлов базовой файловой системы , как это делается с форматом vmfs на ESXi. Образ также может ссылаться на родительский образ и хранить только изменения, внесенные в режиме копирования при записи . Это позволяет создавать снимок состояния виртуальной машины.
Дескриптор определяет ряд из одного или нескольких экстентов , которые обычно ссылаются на файл или устройство, содержащее фактические данные, если, например, они не имеют тип ZERO
, который эмулирует заполненный нулями экстент. [8] Каждый экстент может быть помечен либо RW
, RDONLY
, или , NOACCESS
чтобы обозначить, что виртуальная машина должна иметь соответственно доступ на чтение/запись, только для чтения или вообще не иметь доступа к этой части диска. Количество и типы экстентов в образе зависят от его createType
. Образ с createType="custom"
может содержать произвольную комбинацию экстентов.
Образы плоских дисков можно подготовить одним из трех способов: