TATLIN и Basis Dynamix: интеграция нашей платформы виртуализации с отечественной СХД

от автора

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

Работать с YADRO мы начали еще несколько лет назад, главной задачей нашего сотрудничества было и остается обеспечение совместимости между СХД TATLIN и нашей платформой управления динамической инфраструктурой Basis Dynamix Enterprise. Последняя и раньше умела работать с различными СХД — Hitachi, Huawei и других. Однако где-то были реализованы не все возможности, где-то не хватало веб-интерфейса и приходилось работать через консоль, где-то страдало быстродействие.

Тесное сотрудничество с YADRO позволяло подходить к решению этих проблем с обеих сторон, плюс, многие наши заказчики регулярно интересовались развитием поддержки TATLIN.UNIFIED в наших продуктах. И вот на этой неделе мы объявили о более глубокой интеграции между TATLIN.UNIFIED Gen 2 и Basis Dynamix Enterprise, включающей поддержку репликации и мгновенных снимков через интерфейс платформы. О чем и хотим рассказать подробнее.

С какими СХД работает Dynamix

Сначала посмотрим, как в принципе устроена работа с системой хранения данных в нашей платформе. В Basis Dynamix любая СХД может быть представлена в виде объекта SEP (Storage Endpoint). Это универсальный интерфейс, позволяющий платформе одинаково взаимодействовать с разными хранилищами независимо от их внутренней архитектуры.

На данный момент мы поддерживаем следующие типы СХД:

  • DES — Basis vStorage, наша родная система

  • Dorado — Huawei Dorado

  • Hitachi — Hitachi VSP

  • TATLIN — YADRO TATLIN

  • LOCAL — тип, позволяющий использовать локальные диски вычислительных узлов

Отдельно отметим SHARED — универсальный тип для работы с любыми СХД. Он используется, когда у нас нет драйвера для нужного СХД или у СХД нет API, это может быть устаревшее или неизвестное хранилище. Также SHARED может использоваться для обхода ограничений на количество логических дисков (LUN), которые могут накладывать некоторые СХД. SHARED-подключение имеет небольшое снижение производительности по сравнению с режимом прямого доступа (driver mode), так как используется LVM тома для обеспечения хранения данных, но такое подключение поддерживает коммутацию с СХД через iSCSI и Fibre Channel.

C хранилищами TATLIN.UNIFIED наша платформа может работать в режиме драйвера. В этом случае администратор может средствами Basis Dynamix напрямую управлять СХД: давать команду на создание LUN, его презентацию, удаление и т.д. Получается проще и комфортнее.

Особенности реализации интеграции с TATLIN

Реализация поддержки TATLIN потребовала решения нескольких технических вызовов. Например, большая часть проектов, где требуется TATLIN.UNIFIED работает через iSCSI. Тем не менее, мы постепенно учились работать с этими СХД и со временем переходили от простых задач, таких как создание и презентация дисковых ресурсов, к клонированию дисков, реализации очереди задач и другим. На первых порах что-то реализовывали на своей стороне, а коллеги из YADRO поддерживали нас экспертизой (и документацией). Однако по мере развития API TATLIN мы все больше полагались на его возможности.

И вот свежий релиз Basis Dynamix Enterprise 4.2. Одной из его главных задач была реализация таких функций TATLIN, как моментальные снимки и репликация томов.

Репликация томов

Основная особенность нашей интеграции с TATLIN.UNIFIED — полноценная поддержка синхронной репликации. Она позволяет централизовать управление, обеспечивает сохранность и доступность данных даже при выходе из строя одного из хранилищ.

Благодаря глубокой интеграции с платформой виртуализации, управлять репликацией можно напрямую из интерфейса Dynamix Enterprise, что упрощает настройку и эксплуатацию. Синхронная репликация минимизирует риск потери данных, обеспечивая их актуальность на обеих площадках в режиме реального времени. Это значительно повышает отказоустойчивость инфраструктуры и снижает время восстановления сервисов при аварийных ситуациях.

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

В версии 4.2.0 мы реализовали набор API для управления репликацией:

  • disk/replicate — создание пустого диска на указанной комбинации СХД/пул и запуск репликации;

  • disk/replicationStart — запуск репликации между выбранными дисками;

  • disk/replicationStop — остановка репликации и разрыв связи между дисками;

  • disk/replicationSuspend — приостановка репликационной связи с возможностью восстановления;

  • disk/replicationResume — возобновление приостановленной репликации;

  • disk/replicationReverse — изменение направления репликации (Slave диск становится Primary, а исходный — Slave);

  • disk/replicationStatus — получение статуса репликационной связи;

  • compute/diskSwitchToReplication — замена диска ВМ на его репликацию.

Эти API-методы дают возможность построить географически распределенную инфраструктуру между площадками на базе отечественного программного и аппаратного обеспечения.

Создание мгновенных снимков и клонирование данных

TATLIN.UNIFIED Gen 2 предоставляет новый тип пула данных Indirect. Особенностью данного пула является то, что он является «тонким», а также позволяет создавать аппаратные мгновенные снимки и клоны из них. Для создания снимка виртуальной машины, расположенной на СХД TATLIN.UNIFIED Gen 2 средствами Dynamix, нужно выполнить несколько условий:

  • Все диски должны быть расположены на одной СХД, на пуле типа INDIRECT;

  • Диск не должен быть общим для использования;

  • ВМ может быть запущена, приостановлена или остановлена;

  • Не должно выполняться резервное копирование ВМ;

  • Наименование каждого моментального снимка должно быть уникальным.

Наличие функционала мгновенных снимков, поддерживаемых на уровне СХД TATLIN, дает возможность использовать «аппаратное» клонирование данных, которое также поддерживается Dynamix. Такой вид клонирования данных выполняется очень быстро, практически моментально.

Вот пример конфигурации, демонстрирующий основные параметры:

{  "API_URLs": [     "ssh://10.10.20.62"  ],  "HTTP_API_URLs": [    "https://10.10.20.63"  ],  "api_password": "ChangeMe",  "api_user": "admin",  "client": "http",  "client_requests_queue": true,  "disk_max_size": 20000,  "edgeuser_name": "login",  "edgeuser_password": "password",  "format": "raw",  "hostGroupName": "DE",  "multipathNum": 4,  "housekeeping_settings": {    "disk_del_queue": {      "purge_attempts_threshold": 20    }  },  "mgmt_password": "password",  "mgmt_user": "login",  "model": "Tatlin",  "name_prefix": "ruby-de-",  "pools": [    {      "accessAccountIds": [],      "accessResGroupIds": [],      "clone_technology": "snapshot",      "id": "f791c9a9-43a8-4207-aaae-858dfeeeec90",      "name": "test_pool_nvme",      "tatlin_pool_type": "indirect",      "types": [        "B",        "D",        "ANY"      ],      "usage_limit": 99999999    },  ],  "ports": [    "p30",    "p31"  ],  "protocol": "iscsi",  "replications": [    228  ],  "simple_clone": false,  "storageId": "01032200941002" }

За этой, казалось бы, простой конфигурацией скрывается серьезная работа по интеграции и тестированию. Тут стоит еще раз сказать спасибо коллегам из YADRO, которые организовали стенд для проведения тестов на интеграцию новых прошивок СХД с версиями Basis Dynamix. По результатам тестирования мы с коллегами выпускаем сертификат о совместимости решений.

Сценарии применения

Интеграция Basis Dynamix с СХД TATLIN нужна для построения отказоустойчивых инфраструктур. Базовый сценарий использования выглядит следующим образом:

  1. Организация разворачивает две площадки с Basis Dynamix Enterprise и СХД TATLIN.UNIFIED;

  2. Настраивается репликация критически важных данных между площадками в двунаправленном режиме.

Такой подход позволяет существенно снизить риски простоя сервисов при сбоях оборудования или других непредвиденных ситуациях. Кроме того, наличие механизма репликации упрощает обслуживание инфраструктуры, поскольку появляется возможность перенести нагрузку на резервную площадку на время профилактических работ.

На этом наше сотрудничество с YADRO не заканчивается, с развитием API TATLIN.UNIFIED мы будем добавлять новые возможности управления СХД. Кроме того, технологическое партнерство усиливает нашу экспертизу в области СХД и помогает нам расширить возможности нашей продуктовой экосистемы. Результаты можно будет увидеть в следующих релизах Dynamix Enterprise.


ссылка на оригинал статьи https://habr.com/ru/articles/890950/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *