rdm диски что это
Rdm диски что это
Всем привет сегодня рассмотрим, в чем разница виртуальных дисков у Vmware ESXi 5.5, разберем каждый тип диска и где его лучше применять. Виртуальные машины на платформе 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 ESXI 5.x.x
Диски типа Raw
Файловая система VMFS поддерживает схему Raw Device Mapping (RDM), которая представляет собой механизм для прямого доступа виртуальной машины к дисковой подсистеме (конкретному LUN) устройств хранения Fibre Channel или iSCSI. Этот тип виртуального диска доступен для создания из vSphere Client.
Если в сети хранения данных используется ПО для создания мгновенных снимков системами резервного копирования, которые запущены в виртуальных машинах, требуется прямой доступ к дисковой подсистеме устройств хранения. Кроме того Raw-диски используются для кластеров Microsoft Clustering Services (MSCS), включая кластеры типа «виртуальный-виртуальный» и «виртуальный-физический».
RDM может обеспечиваться путем предоставления символьной ссылки в томе VMFS к разделу Raw (режим виртуальной совместимости). В этом случае файлы маппирования, относящиеся к конфигурации виртуальных машин, отображаются как файлы в томе VMFS в рабочей директории виртуальной машины. Когда том Raw открывается для записи, файловая система VMFS предоставляет доступ к файлу RDM на физическом устройстве и реализует через него механизм блокирования и контроля доступа. После этого операции чтения и записи идут напрямую к тому Raw, минуя файл маппирования.
Файлы RDM содержат метаданные, используемые для управления и перенаправления доступа к физическому устройству. RDM предоставляет возможности прямого доступа к дискам, при этом сохраняются некоторые возможности, присущие файловой системе VMFS. Схема взаимодействия виртуальной машины с устройством хранения посредством механизма RDM изображена на рисунке:
Описание типов виртуальных дисков vmdk виртуальных машин на VMware vSphere ESXI 5.x.x-01
Перед началом операций ввода-вывода виртуальная машина vmware посредством файла маппирования инициирует открытие тома Raw. Далее файловая система VMFS осуществляет разрешение адресов секторов физического устройства, а виртуальная машина начинает производить операции чтения-записи на физическое устройство.
Используя RDM возможно производить следующие операции:
Для RDM используются два режима совместимости:
Использование функций VMotion, DRS и HA поддерживаются в обоих режимах совместимости.
Диски типа Thick (толстые диски)
Это тип дисков vmdk на томах VMFS или NFS, размер которых предопределяется заранее (при создании) и не изменяется в процессе наполнения его данными. Давайте добавим для примера новый виртуальный диск.
Существует три типа дисков thick:
Thick disks
Zeroed thick disks (lazy zeroed thick disks)
Eager zeroed thick disks
Диски типа Thin (тонкие диски)
На слайде пример виртуальной машины с тремя дисками общего объема 140 ГБ, а по фату на датасторе используется 80 гб.
Independent, Persistent, Non-Persistent диски
И так теперь у вас есть виртуальная машина, если вы зайдете в ее свойства то сможете обнаружить, что для каждого виртуального диска есть еще дополнительные опции
давайте смотреть, что каждый из них означает. Вот такая картинка идет по умолчанию для виртуального диска. Что это подразумевает, а то, что у вас в конфигурации стандартный виртуальный диск, на нем можно делать снапшоты ESXI, это дает возможность делаться дельте диска и данные уже писать в него. Если откатывать снапшот, то вы получите диск на момент снятия.
Independent, Persistent, Non-Persistent диски-01
Если у нас стоит Independent и Persistent. В такой конфигурации это означает, что вы не сможете создать снапшот, так как все изменения сразу пишутся на диск. При попытке его создать вас пошлют с ошибкой Cannot take a memory snapshot, since the virtual machine is configured with independent disks. Некий такой механизм защиты от снапшота,
Independent, Persistent, Non-Persistent диски-02
И последний вариант это Independent > Non-Persistent. Тут тоже не работают снапшоты. Диск необходим вот для чего. Предположим у вас есть какой, то публичный или тестовый стенд, где все что то могут поставить, до этого вы его подготовили в эталонный вид и поставили тип диска Non-Persistent, далее все начинаю херачить и ломать эту машинку, ставить там свой софт и тестить его, в итоге, у вас же нет снапшота, а откатиться хочется, этот тип диска и позволяет это сделать путем обычной перезагрузки. Хороших примеров его использования полно, главный принцип один раз настроили, что то пошло не так ребутнули и все счастливы.
Independent, Persistent, Non-Persistent диски-03
rdm, raw device mapping
Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.
При таком подключении LUN гипервизор будет пропускать SCSI команды гостевой ОС прямо на него. Таким образом, на LUN, подключенном как RDM, будет создана файловая система гостевой ОС (NTFS, к примеру).
Размер этого файла vmdk отображается равным объему RDM LUN (объему LUN 14 в моем примере), однако на самом деле он занимает 1-8 Мб (в зависимости от размера блока VMFS).
Рис. 3.30. Иллюстрация подключения RDM Источник: VMware
RDM вам интересен в случае, если:
— происходит миграция физической инфраструктуры на виртуальную. Переносимый физический сервер использует LUN для хранения своих данных. Мы можем не копировать данные с этого LUN внутрь файла vmdk на каком-то VMFS, а прямо этот LUN подключить к перенесенному в ВМ серверу как RDM;
— вы хотите поднять кластер Майкрософт с переходом по отказу (MSCS/ MFC), хотя бы одним из узлов которого будет ВМ. В таком случае кворум-ным диском и диском с общими данными должен выступать RDM;
— вы хотите использовать механизм снапшотов или какие-то другие функции на уровне системы хранения для данных виртуальных машин. Например, мы можем средствами системы хранения создать снапшот LUN и этот снапшот подключить к серверу резервного копирования. В случае VMFS + vmdk такая схема, скорее всего, не заработает, потому что сервер резервного копирования не сможет забрать данные с проприетарной файловой системы VMFS. А если этот LUN подключен как RDM к виртуальной машине, то файловую систему на нем создает гостевая ОС, и эта файловая система может быть знакома серверу резервного копирования;
Однако использование RDM не дает заметных изменений в скорости работы с дисковой подсистемой. По данным VMware, разница в скорости доступа к одному и тому же LUN как к RDM или к файлу vmdk на нем различается на проценты, и иногда VMFS + vmdk даже быстрее.
Чтобы добавить RDM к ВМ:
— зайдите в свойства виртуальной машины, на закладе Hardware нажмите Add. Вам нужно добавить Hard Disk;
• Persistent означает монолитный диск, к которому не применяются снимки состояния (snapshot). Все изменения сразу пишутся на диск;
• Nonpersistent означает, что при включении ВМ именно для этого ее диска создается файл дельты, в который записываются все изменения. После выключения ВМ эта дельта отбрасывается. То есть диск в режиме nonpersistent автоматически возвращается в исходное состояние после выключения ВМ.
RDM бывает двух типов:
— Physical означает, что гипервизор подавляющее большинство команд SCSI пропускает до LUN без изменений;
— Virtual разрешает перехватывать и изменять команды SCSI.
С точки зрения использования, Virtual RDM не препятствует снятию снимков состояния (средствами ESX(i)) и позволяет клонировать и создавать шаблон из ВМ. То есть позволяет RDM LUN использовать так же, как файл виртуального диска. Физические характеристики диска (LUN) будут скрыты.
Выбирайте Virtual, если задача, под которую создается RDM, явно не требует использования physical RDM.
Если к ВМ подключен RDM, то с ней можно осуществлять большинство операций типа VMotion, Storage VMotion и др. Также для VMotion необходимо, чтобы отдаваемый как RDM LUN был виден всем серверам (виден с точки зрения zoning и masking).
Иногда ESX(i) не позволяет подключить LUN как RDM. Обычно это происходит, когда LUN подключен к локальному контроллеру. Тогда может выручить командная строка
С помощью этой команды вы создадите файл-vmdk с именем VM1_rdm. vmdk, который будет являться ссылкой на LUN/диск с идентификатором naa.5xxxxxxxxxxx. Затем следует подключить этот файл-vmdk к виртуальной машине через Add HDD ^ Use Existing vmdk.
Идентификатор устройства (вида naa., eui., vpx.) можно посмотреть через клиент vSphere: Configuration ^ Storage Adapters ^ выбираем нужный контроллер ^ в нижней части экрана смотрим на доступные через него диски.
Обратите внимание. Подключенный к виртуальной машине RDM LUN не является препятствием для VMotion. Однако если у виртуальной машины по умолчанию изменено значение настройки SCSI Bus Sharing (это настройка виртуального контроллера SCSI), то тогда VMotion для нее будет невозможен. RDM LUN подключается к контроллеру SCSI с таким значением настройки SCSI Bus Sharing, если виртуальная машина является узлом кластера Майкрософт и узлы этого кластера запущены на разных физических серверах.
Теоретически эта функция пригодится нам для:
— анализа нагрузки на SAN со стороны отдельной ВМ, чтобы отделить трафик одной ВМ от всего остального по ее уникальному WWN;
— осуществления зонирования и презентования LUN для отдельных ВМ;
— предоставления определенного качества обслуживания для отдельных ВМ;
— улучшения производительности для отдельных виртуальных машин путем индивидуальной настройки кеширования на уровне СХД.
На практике же я вижу данную функцию малоиспользуемой. Причин тому несколько:
— уникальным WWN помечается только трафик к RDM LUN, который так и так презентован одной (за исключением кластерных конфигураций) ВМ;
— эти LUN все равно должны быть доступны (с точки зрения зонирования и презентования) каждому серверу ESX(i), где использующая LUN виртуальная машина может оказаться;
— для представления оговоренного качества обслуживания появилась эффективная и простая в использовании функция SIOC (доступна не для всех лицензий vSphere);
Однако два применения NPIV мне кажутся более оправданными:
— если SIOC мы не можем использовать (например потому что наша лицензия этого не позволяет), то некоторые FC HBA позволят нам указать приоритет для трафика с тем или иным WWN. Таким образом, мы можем приоритезировать трафик некоторых виртуальных машин;
— если мы используем RDM, то без настроенного NPIV для ВМ с RDM нам сложно массово сопоставить виртуальные машины и прокинутые как RDM LUN с СХД.
Чтобы ESX(i) позволил настраивать NPIV для виртуальных машин, необходимо, чтобы HBA и коммутаторы FC поддерживали NPIV.
Сама настройка осуществляется в свойствах конкретной ВМ, на вкладке Options (рис. 3.31). Если для ВМ не указан свой уникальный WWN, ее обращения к RDM LUN исходят от WWN сервера.
Рис. 3.31. Настройка NPIV
ВМ с включенным NPIV можно мигрировать с помощью VMotion, но нельзя с помощью Storage VMotion.
Есть еще некоторые мелкие нюансы, но их имеет смысл уточнять уже в документе Fibre Channel SAN Configuration Guide.
Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.
Постараемся заполнить этот пробел.
Давайте начнем с того, что для виртуальных машин на серверах VMware ESX есть всего 3 типа дисков с точки зрения виртуализации подсистемы хранения:
VMDK-диски
RDM-диски в режиме виртуальной совместимости (virtual RDM).
RDM-диски в режиме физической совместимости (Physical RDM). Это наименее виртуализованный тип дисков. Для таких дисков хост-сервер ESX также создает mapping-файл, но вот iSCSI-команды процессятся к устройству LUN напрямую, минуя слой виртуализации хранилища в гипервизоре (за исключением одной команды LUN Report).
Что дает такой механизм доступа к устройству? Он позволяет использовать iSCSI-устройство не просто как диск, но и передавать к нему различные iSCSI-команды, которые предоставлют больше возможностей по работе с устройством (например, управление SAN-устройствами изнутри виртуальной машины или снятие снапшота на уровне хранилища). Ниже мы тоже рассмотрим подобные примеры.
Как диски RDM выглядят на сервере VMware ESX / ESXi
Когда мы создаем виртуальную машину, при добавлении к ней виртуального диска мы выбираем следующий пункт:
Далее нам предлагают выбрать Target LUN для тома RDM. Обратите внимание, что VMFS-томов в списке таргетов для дисков RDM нет. Понятно дело, что ваша SAN-фабрика должна быть настроена так, чтобы хосты ESX видели этот LUN (а именно те хосты, для которой будут работать vMotion и HA).
Далее выбираем VMFS-хранилище, где будет лежать mapping-файл:
После этого диск будет добавлен. Далее давайте посмотрим, что у нас теперь в папке с виртуальной машиной:
А тут у нас RDM-test.vmdk размером в 5 ГБ (такого размера у нас физический LUN, который мы примаппировали к виртуальной машине). Само собой, этот диск столько на нашем томе VMFS не занимает. Давайте глянем на папку из физической консоли сервера ESX:
Динамическое разрешение имен для RDM-дисков
Нам, как пользователям, сервер VMware ESX показывает mapping-файл в удобном символьном виде (RDM-test-rdmp.vmdk), которое не меняется после перезагрузки и других событий. На самом же деле в глубине закопаны всякие идентификаторы SCSI-устройств, пути и т.п. Dynamic name resolution позволяет скрыть от пользователя операции по замене путей и имен устройств, например, при отказе одного из коммутаторов SAN, замене HBA-адаптера и прочих событиях. Все это делается автоматически.
Кстати, для RDM-диска можно управлять путями из GUI клиента vSphere (как и путями к VMFS-хранилищам). Делается это здесь:
Когда нужно использовать диски RDM
Когда не нужно использовать диски RDM
Требования и ограничения дисков RDM
Совместимость дисков RDM с функциями VMware vSphere
Возможность | Диски VMDK | Диски RDM Virtual | Диски RDM Physical |
---|---|---|---|
Сквозной процессинг SCSI-команд | Нет | Только Read/Write | Все, кроме LUN Report |
Поддержка vCenter | Да | Да | Да |
Поддержка снапшотов (Snapshots) | Да | Да | Нет |
Distributed Locking (защита LUN от записи со стороны нескольких машин) | Да | Да | Да |
Поддержка кластеризации | Только кластер между ВМ на одном хосте | Кластер между ВМ на одном хосте и кластер между ВМ на разных хостах | Кластер между ВМ и физическим сервером |
ПО для управления SAN на базе SCSI | Нет | Нет | Да |
Поддержка vMotion | Да | Да | Да |
Поддержка HA | Да | Да | Да |
Поддержка DRS | Да | Да | Да |
Поддержка Storage vMotion | Да | Миграция только в vmdk-файл (обратной миграции нет) | Перемещается только mapping-файл |
Интересные моменты
В статье использованы материалы заметки Joep Piscaer «Recommended Detailed Material on RDM’s».