Продолжаем рассказывать о возможностях новой версии серверной платформы виртуализации VMware vSphere 6, выход которой ожидается в ближайшее время. Напомним наши последние посты на эту тему:
Сегодня у нас на очереди одна из самых интересных тем в vSphere 6 - технология организации хранилищ VMware vSphere Virtual Volumes (VVOls). Напомним, что ранее мы подробно писали о ней тут. С тех пор появилось некоторое количество новой информации, которую мы постараемся актуализировать и дополнить в этом посте.
Начнем с того, что vVOL - это низкоуровневое хранилище для виртуальных машин, с которым позволены операции на уровне массива по аналогии с теми, которые сегодня доступны для традиционных LUN - например, снапшоты дискового уровня, репликация и прочее. vVOLs - это новый способ организации хранилищ в виде удобном для массива, когда используется не традиционная файловая система VMFS, а массив сам определяет, каким образом решать задачи доступа и организации работы с данными для виртуальных машин.
Тома vVOLs создаются на дисковом массиве при обращении платформы к новой виртуальной машине (создание, клонирование или снапшот). Для каждой виртуальной машины и ее файлов, которые вы сейчас видите в папке с ВМ, создается отдельный vVOL. В итоге же, создаются следующие тома на хранилище:
1 config vVOL создается для метаданных ВМ, он включает в себя конфигурационный файл .vmx, дескрипторные vmdk для виртуальных дисков, лог-файлы и прочие вспомогательные файлы.
1 vVOL создается для каждого виртуального диска .VMDK.
1 vVOL создается для файла подкачки, если это требуется.
1 vVOL создается для каждого снапшота и для каждого снимка оперативной памяти.
Дополнительные тома vVOL могут быть созданы для клонов или реплик виртуальной машины.
Давайте посмотрим на архитектуру VVols:
Здесь мы видим следующие компоненты:
Storage Provider (SP)
Технология vVOLs при взаимодействии с аппаратным хранилищем реализуется компонентом Storage Provider (SP), который также называется VASA Provider (подробнее об интерфейсе VASA - тут). Storage provider - это предоставляемый вендором аппаратного обеспечения слой ПО, который обеспечивает взаимодействие платформы vSphere и, собственно, хранилища с организованными на нем томами vVOLs в виде контейнеров (storage containers). vVOLs используют механизм VASA 2.0, который позволяет управлять объектами виртуальных машин (дискми) прямо на хранилище.
Protocol EndPoint (PE)
Если раньше каждый хост налаживал в случае необходимости соединение с каждым из vmdk-дисков виртуальных машин и получалось куча связей, то теперь у хранилища есть логическое I/O-устройство, через которое происходит общение с томами vVOL. PE можно считать сущностью, пришедшей на замену LUN, этих PE может быть создано сколько угодно (кстати, длина очереди у PE - 128 по умолчанию, вместо 32 у LUN).
То есть, через PE хост ESXi получает доступ к данным конкретной виртуальной машины. PE совместимы с существующими протоколами FC, iSCSI и NFS и позволяют использовать уже имеющееся ПО для управления путями в SAN. К отдельному PE через vCenter можно привязать или отвязать тома vVOL отдельных виртуальных машин. Для хранилища не нужно много PE, одно это логическое устройство может обслуживать сотни и тысячи виртуальных томов vVOL.
Storage Container (SC)
Это логическая сущность, которая нужна для объединения томов vVOL по типам в целях выполнения административных задач. Storage Container создается и управляется на стороне дискового массива и предназначен для логической группировки и изоляции виртуальных машин (например, виртуальные машины отдельного клиента в публичном облаке vCloud).
vVOL Datastore
Это хранилище, которое непосредственно создается из vSphere Client. По-сути, это представление Storage Container (SC) для платформы VMware vSphere. Этот тип датастора можно, например, выбрать при создании виртуальной машины:
С точки зрения администрирования, эти датасторы аналогичны VMFS-томам - вы так же можете просматривать их содержимое и размещать там виртуальные машины. Но для них недоступны операции расширения или апгрейда - они полностью контролируются со стороны дискового массива.
Policy Based Management
Это механизм, который позволяет назначать виртуальным машинам политики, которые определяют ее размещение, а как следствие, и производительность с точки зрения подсистемы ввода-вывода (например, можно задавать необходимые трешхолды по ReadOPs, WriteOPs, ReadLatency и WriteLatency.).
Дисковый массив на базе этих политик позволяет разместить виртуальную машину на нужном хранилище и обеспечить необходимые операции по обеспечению нужного уровня производительности.
По прочтении этого материала возникает вопрос - а чем vVOLs лучше механизма VAAI, который уже давно существует для VMware vSphere? Ответ прост - это замена VAAI, которая позволяет еще больше функций по работе с виртуальными машинами и организации хранилищ переложить на сторону аппаратного обеспечения. В случае невозможности операций с vVOLs будет произведено переключение на использование примитивов VAAI: