Компании Samsung, Google и другие отраслевые игроки сообщили о разработке стандарта TP4193: PCIe Exported NVM Subsystem Migration, призванного расширить возможности и повысить эффективность виртуализации хранилищ на базе SSD. Новая спецификация принята в рамках протокола NVMe (Non-Volatile Memory Express).
Samsung отмечает, что обычно виртуализация хранилища реализуется поверх SSD — например, на уровне гипервизора или ПО хоста. Такой подход обеспечивает гибкость, однако сопряжён с определёнными недостатками. В частности, возрастает сложность самого гипервизора: ему приходится управлять сопоставлением пространств имён, изоляцией, миграцией и перенаправлением административных команд. Кроме того, могут возникать определённые трудности при миграции. Наконец, увеличиваются задержки из-за удлинения пути ввода-вывода. Спецификация TP4193 призвана устранить перечисленные ограничения.
Традиционно области хранения данных на SSD выделяются виртуальным машинам с помощью механизма прямого назначения — обычно он реализуется в виде логического разделения на уровне PCIe. Это можно сделать двумя способами: посредством предоставления нескольких физических функций PCIe (PF) или при помощи технологии Single-Root I/O Virtualization (SR-IOV) Extended Capability, которая логически разделяет SSD на одну физическую и несколько виртуальных функций (VF). Для хоста интерфейс контроллера NVMe, предоставляемый через VF, неотличим от интерфейса на базе PF. В результате виртуальная машина получает доступ к функции PCIe так, будто она подключена локально.
Источник изображения: Samsung
Однако у схемы прямого назначения есть ряд ограничений и недостатков. Каждый регистр NVMe передаётся в виртуальную машину «как есть», в связи с чем эта машина получает доступ ко всем свойствам SSD, включая сведения о модели и уникальных идентификаторах. Кроме того, может передаваться информация о других контроллерах и пространствах имён — даже если они напрямую недоступны для ВМ.
Стандарт TP4193: PCIe Exported NVM Subsystem Migration устраняет недостатки программной виртуализации. Вместо добавления хостом абстракций поверх «сырого» SSD сам накопитель предоставляет логические, виртуализированные конструкции хранилища с определяемым поведением. Иными совами, при таком подходе хост становится оркестратором, а не исполнителем. При использовании вместе с другими функциями PCIe и NVMe новый механизм даёт возможность упростить гипервизор, нормализует топологию и атрибуты виртуализированного SSD, предлагает стандартизованное определение конфигурации виртуального накопителя и обеспечивает ряд других преимуществ.
Источник: servernews.ru