Перейти к основному содержанию

Работа FVP с удаленным флеш-устройством (FVP, часть 4)

В прошлом году, когда я познакомился с FVP, одной выделяющейся особенностью этой технологии была прозрачная поддержка возможностей кластеризации vSphere, таких как HA и DRS. Чтобы поддерживать кластеризацию, вы должны также представлять кластерное решение. Создание кластерного решения - это еще не все, но это фундамент возможности удаленного доступа к флешу. Создавая масштабируемую кластерную архитектуру, оно обеспечивает единый уровень производительности по мере расширения кластера для обслуживания увеличивающегося количества приложений.

Поддержка кластеризации vSphere
Поддержка кластерных возможностей vSphere, таких как DRS и HA, - это ключ к успеху. FVP разработан для ускорения ввода-вывода приложений, в то время как DRS может принять решение о миграции (vMotion) виртуальной машины с одного физического хоста на другой для оптимизации использования памяти или ЦП. Обычно DRS производит такие миграции не уведомляя пользователя. Следовательно виртуальные машины должны мигрировать без потерь в производительности и необходимости изменения рабочего процесса или ручного вмешательства. FVP разработан с идеей исключения статического разделения серверного флеша, предоставляя удаленный доступ ко всем флеш-устройствам кластера.

Удаленный доступ к флеш-устройствам
Используя кластерную архитектуру, FVP способен отслеживать перемещение виртуальных машин и понимать расположение их флеш-кэша. Вместо отбрасывания флеш-кэша такой виртуальной машины на серверном флеш-устройстве, FVP позволяет виртуальной машине удаленно обращаться к серверному флеш-устройству хоста, на котором она ранее работала. Если флеш-кэш удаленно достижим, то FVP копирует его в текущее локальное флеш-устройство.



Обзор технологического процесса
Виртуальная машина отдает команду на чтение (1), FVP проверяет, расположены ли данные на локальном флеш-устройстве, если нет, то отдается команда на чтение с удаленного флеш-устройства (2). Удаленное флеш-устройство передает данные (3), FVP передает данные виртуальной машине (4) и одновременно копирует их на локальное флеш-устройство (4).

Обратите внимание, что FVP обращается к удаленным данным только при необходимости, FVP не выполняет предварительное копирование флеш-кэша при миграции виртуальной машины. В первую очередь, данные, находящиеся во флеш-кэше, могут быть устаревшими и более не используемыми виртуальной машиной. Предварительное копирование данных не только увеличит требования к пропускной способности сети, но также снизит производительность и сократит срок службы флеш-устройства. Подробности об операциях записи на флеш-устройствах доступны в статье "Базовые элементы Flash Virtualization Platform (FVP), часть 2. Использование собственной платформы или файловой системы".

Благодаря глубокой интеграции с vSphere FVP точно знает, на каких хостах ранее работали виртуальные машины. Важно понимать, что FVP пересылает команды напрямую на предыдущий хост, а не занимается поисками по всему кластеру.

Коммуникации Восток - Запад вместо пути данных Север - Юг
Хотя FVP использует внешний источник данных, использование подобного технологического подхода гарантирует значительно большую производительность, чем обращение к системе хранения за данными. Как правило, сеть Ethernet, используемая для FVP, является низколатентной сетью (обычно с одним хопом), вместо мультихоповой сети доступа к системе хранения данных с множеством очередей (и  задержек) в пути. Чед опубликовал хорошую схему, описывающую все очереди и буферы в типичной сети хранения данных. Читайте его статью "VMware I/O queues, micro bursting and multipathing”.

Как вы могли заметить, обращение к центральной сущности (такой как система хранения данных) создает узкое место в архитектуре. При масштабировании вашего уровня вычислений вы расширяете верхний уровень, тогда как уровень системы хранения данных не расширяется. По мере того, как все больше систем будут взаимодействовать с одним и тем же устройством, возникнет его перегрузка и выраженный эффект "шумного" соседа на множестве уровней.


Масштабируемая кластерная архитектура требует сеть, которая обеспечивает неблокируемую коммуникацию "точка-точка". Решение - сеть vMotion.

Сеть vMotion
По умолчанию FVP использует первый VMKernel сетевой адаптер, настроенный для vMotion. Дополнительные настройки при этом не требуются. Использование сети vMotion идеально для удаленного доступа к флеш-устройствам, так как она является немаршрутизируемой высокоскоростной сетью, подключенной к матричному коммутатору. Все современные Ethernet-коммутаторы основаны на матричной архитектуре; такая архитектура обеспечивает им оптимальную производительность при использовании в горизонтально масштабируемых решениях. В матричной архитектуре задержка определяется только путем между точками A и B, делая ее идеальной для масштабируемых систем.

В нашем случае коммуникации "точка-точка" происходят между ESXi-хостами. Это означает, что удаленный доступ к флеш-устройству от виртуальной машины A на ESXi-хосте 1 к ESXi-хосту 2 (зеленая линия) не пересекается и не оказывает влияние на задержки удаленного доступа к флеш-устройству от виртуальной машины B на ESXi-хосте 4 к ESXi-хосту 3 (голубая линия).



Для получения дополнительной информации об архитектуре матричной коммутации я рекомендую вам прочесть статьи Грега:
What is the Definition of a Switch Fabric?
Switch Fabrics: Fabric Arbitration and Buffers

Преимущества кластеризации с удаленным доступом к флеш-устройствам
В силу кластерной природы FVP и vSphere виртуальные машины могут перемещаться между хостами и получать доступ к флеш-кэшу с любого из хостов кластера. FVP прозрачно переносит данные с удаленного хоста и заносит их в локальное флеш-устройство, так что со временем флеш-кэш прозрачно переносится с удаленного на локальный хост. Основная цель FVP - поддерживать флеш-кэш максимально близко к приложению. В целом межсерверный трафик обеспечивает значительно меньшие задержки и большую масштабируемость, чем взаимодействие с системой хранения данных, так как взаимодействие происходит между двумя хостами за раз, по сравнению с обращением многих хостов к единой сущности. Другим преимуществом является сохранение трафика на вычислительном уровне, что разгружает сеть хранения данных от излишних нагрузок и позволяет обеспечить лучшие показатели задержек для данных, которые обрабатываются системой хранения данных.

Оригинальная статья.

С 2016 года FVP снят с продажи.