Виртуальные машины на платформе VMware vSphere размещаются на хранилищах Fibre Channel, iSCSI, NAS/NFS или локальных дисках серверов ESX. Диски виртуальных машин могут располагаться на томах в файловой системе VMFS (Virtual Machine File System), NFS (Network File System) или на томах RDM (Raw Device Mapping). При этом на томах VMFS и NFS виртуальные диски машин хранятся в формате vmdk, а на томах RDM виртуальная машина хранит свои данные напрямую на LUN. Сегодня мы поговорим о том, в каких форматах могут быть виртуальные диски машин в VMware vSphere, к которым обращаются серверы VMware ESX 4.
Диски типа Raw
Файловая система VMFS поддерживает схему Raw Device Mapping (RDM), которая представляет собой механизм для прямого доступа виртуальной машины к дисковой подсистеме (конкретному LUN) устройств хранения Fibre Channel или iSCSI. Этот тип виртуального диска доступен для создания из vSphere Client.
Если в сети хранения данных используется ПО для создания мгновенных снимков системами резервного копирования, которые запущены в виртуальных машинах, требуется прямой доступ к дисковой подсистеме устройств хранения. Кроме того Raw-диски используются для кластеров Microsoft Clustering Services (MSCS), включая кластеры типа «виртуальный-виртуальный» и «виртуальный-физический».
Но RDM не используется для повышения производительности - его производительность аналогична дискам vmdk в файловой системе VMFS.
RDM может обеспечиваться путем предоставления символьной ссылки в томе VMFS к разделу Raw (режим виртуальной совместимости). В этом случае файлы маппирования, относящиеся к конфигурации виртуальных машин, отображаются как файлы в томе VMFS в рабочей директории виртуальной машины.
Когда том Raw открывается для записи, файловая система VMFS предоставляет доступ к файлу RDM на физическом устройстве и реализует через него механизм блокирования и контроля доступа. После этого операции чтения и записи идут напрямую к тому Raw, минуя файл маппирования.
Файлы RDM содержат метаданные, используемые для управления и перенаправления доступа к физическому устройству. RDM предоставляет возможности прямого доступа к дискам, при этом сохраняются некоторые возможности, присущие файловой системе VMFS. Схема взаимодействия виртуальной машины с устройством хранения посредством механизма RDM изображена на рисунке:
Перед началом операций ввода-вывода виртуальная машина посредством файла маппирования инициирует открытие тома Raw. Далее файловая система VMFS осуществляет разрешение адресов секторов физического устройства, а виртуальная машина начинает производить операции чтения-записи на физическое устройство.
Используя RDM возможно производить следующие операции:
«горячая» миграция виртуальных машин посредством VMotion на томах Raw;
добавлять новые тома Raw с помощью VI Client;
использовать возможности файловых систем, такие как распределенное блокирование файлов, установка разрешений и именование;
Для RDM используются два режима совместимости:
Режим виртуальной совместимости, который позволяет производить маппирование файлов виртуальных дисков, включая возможности создания мгновенных снимков системы хранения. При таком режиме выбирается том VMFS, на котором будет храниться файл маппирования и том, где находится файл конфигурации виртуальной машины.
Режим физической совместимости, позволяющий приложениям получать низкоуровневый доступ к SCSI-устройствам, при этом наличие файла маппирования не требуется.
Использование функций VMotion, DRS и HA поддерживаются в обоих режимах совместимости.
Диски типа Thick ("толстые диски")
Это тип дисков vmdk на томах VMFS или NFS, размер которых предопределяется заранее (при создании) и не изменяется в процессе наполнения его данными.
Существует три типа дисков thick:
Thick disks
Все пространство диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. Это может создавать потенциальные угрозы безопасности, поскольку виртуальная машина может получить доступ к данным на хранилище VMFS, которые ей не принадлежат. При обращении к блокам такого диска их содержимое предварительно не очищается со стороны ESX. Преимущество дисков типа thick - производительность и быстрота создания, недостаток - безопасность
Zeroed thick disks (lazy zeroed thick disks)
Все пространство такого диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. При первом обращении виртуальной машины к новому блоку происходит его очистка. Таким образом, эти диски более безопасны, однако при первом обращении к блоку - теряется производительность системы ввода-вывода на операцию очистки. При последующих обращениях - производительность идентична дискам типа Eager zeroed thick. Этот тип диска создается по умолчанию через VMware vSphere Client для виртуальных машин. Преимущество дисков Zeroed thick disks - безопасность и быстрота создания, недостаток - производительность при первом обращении к блоку.
Eager zeroed thick disks
Все пространство такого диска выделяется в момент создания, при этом блоки очищаются от данных, которые находились там ранее. Далее происходит обычная работа с блоками без очистки. Преимущество такого диска - производительность и безопасность, недостаток - долгое время создания.
Диски типа Thin ("тонкие диски")
Эти диски создаются минимального размера и растут по мере их наполнения данными до выделенного объема. При выделении нового блока - он предварительно очищается. Эти диски наименее производительны (выделение нового блока и его очистка), однако наиболее оптимальны для экономии дискового пространства на системе хранения данных.
Создание нового виртуального диска vmdk определенного типа на VMware ESX
Если вы хотите создать диск виртуальной машины определенного типа, то при ее создании выберите опцию "Do not create disk". Далее необходимо зайти в сервисную консоль сервера ESX по SSH с помощью Putty и выполнить такую команду (предварительно командой cd перейдите в папку с виртуальной машиной) для создания диска типа thin максимальным объемом 10 ГБ :
vmkfstools –c 10G –d thin thin.vmdk
для создания диска типа thick:
vmkfstools –c 10G –d thick thick.vmdk
для создания диска типа Zeroed thick:
vmkfstools –c 10G –d zeroedthick zeroedthick.vmdk
для создания диска типа Eager zeroed thick (операция достаточно долгая):
Изменение типа существующего виртуального диска vmdk на VMware ESX
Конвертация диска vmdk типа thin в thick. С помощью данной команды диск thin затирает содержимое блоков до своего максимального размера и превращается в диск thick (операция достаточно долгая):
vmkfstools –j thin.vmdk
Конвертация диска vmdk типа thick в thin. С помощью данной команды из диска vmdk типа thick копированием получаем диск типа thin (операция достаточно долгая):
vmkfstools –ithick.vmdk thin.vmdk -d thin
После этой операции замените исходный диск типа thick на новый созданный thin, а исходный thick - удалите (в vSphere Client это можно сделать через свойства виртуальной машины).