Способ виртуализации систем хранения данных для центров обработки данных и облачных вычислений
METHOD OF VIRTUALIZATION OF DATA STORAGE SYSTEMS FOR DATA PROCESSING CENTER AND CLOUD COMPUTING

ОБЛАСТЬ ТЕХНИКИ
Техническое решение относится к области систем обработки и хранения данных и представляет собой способ виртуализации систем хранения данных (СХД) для развертывания в сложных сетях центров обработки данных и облачных вычислений.
УРОВЕНЬ ТЕХНИКИ
В настоящее время современные системы хранения данных разворачиваются в сети, не учитывая особенности и физические характеристики сетевого оборудования и топологию сети, и требуют от сетевой инфраструктуры лишь обеспечения связности узлов СХД. Среди узлов СХД обычно выделяется главный узел управления, к которому подключаются все остальные узлы и получают информацию друг о друге. Данные в СХД дробятся на порции данных и с учетом заданного уровня репликации и физической инфраструктуры обеспечения хранения данных размещаются на узлах СХД. Однако при размещении порций данных в СХД топология сети не учитывается, как не учитывается и частота обращения к ним.
Существующие СХД не позволяют отслеживать, по каким маршрутам происходит передача данных между узлами СХД, что может приводить к дисбалансу загрузки каналов передачи данных сети ЦОД и к проблемам обеспечения информационной безопасности.
Из уровня техники известно множество решений в области виртуализации систем хранения данных (SAN) и программно-определяемых СХД (SDS), например такие как:
1. Dell Nexenta, EMC ScaleIO, VPLEX [1], разработчик: Dell EMC;
2. VMware Virtual SAN [2], разработчик VMware;
3. Spectrum Storage [3], разработчик: IBM;
4. Acronis Storage [4], разработчик: Acronis;
5. StoreVirtual VSA [5], разработчик: HPE;
6. ONTAP Select [6], разработчик: NetApp;
7. Red Hat Gluster Storage [7], разработчик Red Hat;
8. SCVM и SDUS [8], разработчик: StoneFly;
9. SANsymphony [9], разработчик: DataCore;
10. SwiftStack [10], разработчик: SwiftStack;
11. Pivot3 Virtual SAN [11], разработчик: Pivot3;
12. StarWind Virtual Storage Appliance (VSA) [12], разработчик StarWind.
Большинство из представленных решений не учитывают особенности и топологию сети, текущее состояние и загрузку каналов связи, посредством которой обеспечивается связность узлов СХД.
В качестве наиболее близкого аналога можно выделить решение от DELL EMC VPLEX [1] для виртуализации СХД, которое позволяет объединить ресурсы различных дисковых массивов различных производителей в единый логический пул на уровне ЦОД или нескольких географически разнесенных ЦОД. Компания VMware дополнила функционал VPLEX виртуальной сетью передачи данных на основе ПКС, а за связь между ЦОД отвечает туннель VXLAN.
Однако данное техническое решение также не учитывает особенности и топологию сети, текущее состояние и загрузку каналов связи, посредством которой обеспечивается связность узлов СХД.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
Заявленное техническое решение обеспечивает получение следующих технических результатов:
- повышение скорости развертывания новых СХД в центрах обработки данных;
- повышение надежности функционирования СХД в ЦОД за счет быстрого восстановления работоспособности СХД как после сбоев СХД, так после сбоев в сети;
- повышение масштабируемости СХД в ЦОД;
- повышение быстродействия обращения к данным СХД за счет оптимизации маршрутов и минимизации задержки на передачу данных;
- повышение удобства обслуживания СХД за счет централизованного управления сетью и централизованного управления СХД;
- повышение гибкости управления СХД за счет возможности гибкой и быстрой реконфигурации ПКС сети и гибкого управления потоками данных;
- обеспечение балансировки нагрузки по каналам связи, которые участвуют в передаче данных между узлами СХД в сети;
- обеспечение балансировки нагрузки с учетом количества запросов к СХД, частоты обращения к чанкам данных и их взаимного расположения по узлам СХД.
Также данное решение позволяет использовать как аппаратные, так и программные коммутаторы в сети, связывающей узлы СХД.
Концепция СХД позволяет получить следующие преимущества для пользователя: абстрагирование от аппаратной платформы, масштабируемость, упрощение инфраструктуры хранения данных, низкая стоимость.
Заявленное техническое решение предполагает взаимодействие узлов СХД посредством ПКС, находящейся под управлением одного или нескольких ПКС контроллеров, и обеспечивает гибкую организацию хранения данных.
Заявленное техническое решение предполагает использование программно-конфигурируемой сети в качестве транспорта для поддержки логической сети управления СХД и логической сети передачи данных между узлами СХД.
Заявленное техническое решение описывает способ виртуализации систем хранения данных для центров обработки данных и облачных вычислений, при котором в качестве транспортной сети используется программно-конфигурируемая сеть под управлением кластера ПКС/OpenFlow контроллеров.
СХД для пользователя представляется виртуальным единым жестким диском, однако физически представляет собой набор узлов СХД, соединенных сетью.
Для реализации способа необходимо построить ПКС сеть из программных или аппаратных коммутаторов с поддержкой протокола OpenFlow, основного контроллера и резервного контроллера в режиме горячего резерва, настроить на коммутаторах их подключение к контроллерам, указав IP адреса и порты контроллеров, подключить узлы СХД к коммутаторам сети.
Согласно заявленному способу виртуализации систем хранения данных для центров обработки данных и облачных вычислений, для контроллера ПКС сети строят, при помощи разработанного приложения, виртуальную сеть управления СХД и виртуальную сеть передачи данных между узлами СХД и обеспечивают связность узлов СХД за счет вычисления кратчайших маршрутов и их реализацию в сети. Приложение в качестве параметра получает IP и/или МАС-адрес узла управления СХД. Для каждого следующего вновь подключающегося узла СХД приложение контроллера автоматически вычисляет кратчайший маршрут до узла управления, до других узлов СХД и затем формирует OpenFlow-правила и устанавливает эти правила в таблицы потоков OpenFlow коммутаторов. В случае обнаружения контроллером отказов коммутаторов или каналов связи приложение автоматически перестраивает маршруты между узлами СХД и проводит реконфигурацию сети за счет обновления правил на коммутаторах. В случае обнаружения резервным контроллером отказа основного контроллера это приложение на резервном контроллере восстанавливает свое последнее состояние и продолжает поддерживать управления виртуальной сетью управления СХД и виртуальной сетью передачи данных между узлами СХД.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует пример виртуализации системы хранения данных посредством программно-конфигурируемой сети центра обработки данных, на которой:
1 - ПКС/OpenFlow контроллеры;
2 - OpenFlow коммутаторы;
3 - Узлы СХД;
4 - Серверы.
Фиг. 2 иллюстрирует процедуру подключения новых узлов СХД в программно-конфигурируемой сети центра обработки данных.
ПОДРОБНОЕ ОПИСАНИЕ
Программно-конфигурируемая сеть (ПКС) - сеть передачи данных, в которой уровень управления сетью отделен от устройств передачи данных и реализуется программно, одна из форм виртуализации вычислительных ресурсов.
OpenFlow - протокол управления процессом обработки данных, передающихся по сети передачи данных маршрутизаторами и коммутаторами, реализующий технологию программно-конфигурируемой сети.
МАС-адрес (от англ. Media Access Control - управление доступом к среде) - уникальный идентификатор, присваиваемый каждой единице активного оборудования или некоторым их интерфейсам в компьютерных сетях Ethernet.
MAC-learning - процесс заполнения таблицы МАС-адресов коммутатора, основанный на изучении МАС-адреса отправителя любого фрейма, входящего в коммутатор. Если МАС-адрес отправителя не присутствует в таблице, то он вносится в нее с привязкой к порту, в который вошел фрейм.
Порт (англ. port) - натуральное число, записываемое в заголовках протоколов транспортного уровня модели OSI (TCP, UDP, SCTP, DCCP). Используется для определения процесса- получателя пакета в пределах одного хоста.
IP адрес - уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP
IPv4 - четвертая версия протокола IP, определенного в IETF RFC 791.
IPv4 multicast - многоадресная рассылка с использованием протокола IPv4.
Ethernet - семейство стандартов, определяющих проводные соединения и электрические сигналы на физическом уровне, формат кадров и протоколы управления доступом к среде на канальном уровне модели OSI.
Коммутатор (англ. switch) - устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети на канальном уровне модели OSI.
Заявленное техническое решение, способ виртуализации хранения данных для центров обработки данных и облачных вычислений, включает в себя следующие основные этапы.
Запускают основной и резервный кластеры контроллеров с приложением поддержки виртуализации СХД и указанием IP и/или MAC адреса узла управления СХД.
Подключают узел управления СХД к ПКС сети.
Проверяют, что приложение контроллера корректно определило коммутатор ПКС сети, к которому подключен узел управления СХД.
При подключении нового узла СХД приложение контроллера для поддержки виртуализации СХД с помощью алгоритма Дейкстры вычисляет кратчайший путь в графе, описывающем топологию сети, от нового узла до узла управления СХД, формирует правила для коммутаторов, входящих в этот путь, и устанавливает эти правила на коммутаторы.
Узел управления СХД проводит проверку аутентификации узла.
В случае корректной проверки аутентификации узла, приложение строит еще один маршрут между узлами для передачи потоков данных между узлами СХД.
При подключении следующего узла проверяют, что приложение контроллера корректно определило коммутатор ПКС сети, к которому подключен узел управления СХД. Затем строят дополнительный маршрут для передачи данных до остальных узлов СХД.
Переконфигурируют виртуальную сеть управления СХД и виртуальную сеть передачи данных между узлами СХД с учетом текущей загрузки каналов связи сети.
В случае обнаружения резервным контроллером отказа основного контроллера это приложение на резервном контроллере восстанавливает свое последнее состояние и продолжает поддерживать управления виртуальной сетью управления СХД и виртуальной сетью передачи данных между узлами СХД.
В случае обнаружения контроллером отказов коммутаторов или каналов связи приложение автоматически перестраивает маршруты между узлами СХД и проводит реконфигурацию сети за счет обновления правил на коммутаторах.
Заявляемый способ виртуализации систем хранения данных для центров обработки данных и облачных вычислений является промышленно применимым, так как при его реализации используют известные и апробированные методы и компоненты.
Хотя данное техническое решение описано конкретным примером его реализации, это описание не является ограничивающим, но приведено лишь для иллюстрации и лучшего понимания существа технического решения, объем которого определяется прилагаемой формулой.
Список литературы
1. DELL EMC STORAGE. Доступ: https://www.emc.com/en-us/storage/data-storage.htm?nav=1#tab3=2
2. VMware Virtual SAN. Доступ: http://www.vmware.com/ru/products/virtual-san.html
3. IBM Spectrum Storage. Доступ: http://www-03.ibm.com/systems/ru/storage/spectrum/
4. Acronis Storage. Доступ: http://www.acronis.com/ru-ru/provider/software-storage/
5. Система хранения данных HPE StoreVirtual. Доступ: https://www.hpe.com/ru/ru/storage/storevirtual.html
6. NetApp ONTAP Select. Программно определяемые сервисы хранения данных для гибридного облака. Доступ: http://www.netapp.ru/media/ds-3769.pdf
7. Red Hat Gluster Storage. Доступ: https://www.redhat.com/en/technologies/storage/gluster
8. Applications. Storage Consolidation. Доступ: https://stonefly.com/solutions/applications
9. SANsymphony Software-Defined Storage. Доступ: https://www.datacore.com/products/SANsymphony.aspx
10. Hybrid Cloud Storage Software. Доступ: https://www.swiftstack.com/product
11. Pivot3 Virtual SAN. Доступ: http://pivot3.com/solution/disaster-recovery/
12. StarWind Virtual Storage Appliance. Доступ: https://www.starwindsoftware.com/starwind-storage-appliance