Типы виртуальных дисков vmdk в VMware ESXi
При создании виртуальных машин на платформе VMware ESXi, каждый системный администратор задается вопросом – какой тип виртуальных дисков использовать для будущей виртуальной машины. Сейчас мы выясним – какие типы .vmdk дисков существуют, чем отличаются, какие нюансы работы имеют.
Файлы виртуальных дисков на платформе ESXi располагаются на хранилищах Fibre Channel, iSCSI, NAS/NFS и, конечно, на локальной машине гипервизора, в так называемом datastore. При этом диски виртуальных машин могут располагаться в файловых системах VMFS, NFS в формате vmdk, а на томах RAW – данные хранятся напрямую в LUN.
Поговорим об этом более подробно:
1) RAW диски.
Файловая система VMFS поддерживает RDM (Raw Divice Mapping), которая позволяет записывать данные виртуальных машин напрямую на диск в LUN (при подключении Fibre Channel и iSCSI). Прямой доступ к дисковой подсистеме необходим, когда системами резервного копирования используется ПО для создания мгновенных снимков (снапшотов). Также RAW формат используется для кластеров Microsoft Clustering Services (MSCS) для кластеров такого типа: “виртуальный-виртуальный” и “виртуальный-физический”. Стоит заметить – этот формат виртуальных дисков не используется для повышения производительности, скорость работы такая же, как и у vmdk дисков.
Алгоритм работы следующий: RDM предоставляет символьную ссылку в томе VMFS к разделу RAW. Файлы маппирования, относящиеся к конфигурации виртуальных машин, отображаются как файлы в томе VMFS в рабочей директории виртуальной машины. Когда том Raw открывается для записи, файловая система VMFS предоставляет доступ к файлу RDM на физическом устройстве и реализует через него механизм блокирования и контроля доступа. После этого операции чтения и записи идут напрямую к тому Raw, минуя файл маппирования. Перед началом операций ввода-вывода виртуальная машина посредством файла маппирования инициирует открытие тома Raw. Далее файловая система VMFS осуществляет разрешение адресов секторов физического устройства, а виртуальная машина начинает производить операции чтения-записи на физическое устройство.
2) Thiсk (толстые) диски.
Данные диски располагаются на томах VMFS и NFS, их размер определяется заранее (при создании) и не изменятся при работе VM – отсюда и название. В свою очередь Thick диск подразделяются на 3 вида:
- Thick disks – все пространство диска выделяется в момент создания, при этом очистка блоков от находившихся там ранее данных не производится! Преимущество такого диска – быстрота создания и производительность, недостаток – безопасность, т.к. есть вероятность, что VM может получить данные, который ей не принадлежат.
- Zeroed thick disks (lazy zeroed thick disks) – все пространство диска выделяется в момент создания, при этом очистка блоков от находившихся там ранее данных не производится. Очистка выполняется в момент первого обращения VM к новому блоку. Как видим, данный тип дисков более безопасен, но в момент первого обращения теряется производительность.
- Eager zeroed thick disks – все пространство диска выделяется в момент создания и очищается от данных в блоках. Преимущество – скорость работы и безопасность, недостаток – долгое время создание диска. “Enable clustered features such Fult tolerance” – “enable”, избежать простой
3) Thin диски.
Данные диски создаются минимального размера и растут при мере наполнения данными, но до заданного объема. При “расширении” пространства – выделении нового блока и его очистке, происходит потеря скорости.
Сейчас мы рассмотрели основные типы дисков, но также стоит остановиться более подробно на производительности. Существует официальный документ от VMware – Performance Study of VMware vStorage Thin Provisioning. В нем подчеркиваю – официально установлены рекомендации и расставлены все точки над “i” касательно Thin дисков. Резюмируя:
- скорость работы thin и thick дисков одинакова
- внешней фрагментации на уровне блоков VNFS нет
- внутренняя фрагментация выполняется средствами гостевой ОС