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"
может содержать произвольную комбинацию экстентов.
Образы плоских дисков можно подготовить одним из трех способов: