Современные системы хранения данных: новые возможности горизонтального масштабирования
Объемы информации растут с устрашающей скоростью. Наиболее совершенным оборудованием для хранения данных являются централизованные системы хранения, использующие специализированную сеть для транспортировки информации к вычислительным комплексам и обратно.
Что делать, если емкости системы хранения данных (СХД) не хватает или нагрузка на нее настолько возросла, что существующей производительности недостаточно?
Современные массивы позволяют решить эту задачу путем масштабирования без негативного влияния на их работу. Для этого существует несколько подходов, но для начала необходимо определиться с терминологией.
Терминология
Основой любой СХД служат контроллеры, которые содержат процессоры, оперативную память и связывают множество дисков массива с использующими их серверами. Контроллеры подключаются к сети по протоколу Fibre Channel (FC) или Ethernet, а также к дискам СХД по интерфейсу SAS. Как и остальные компоненты современных массивов среднего уровня и выше, контроллеры резервируют друг друга, то есть их должно быть как минимум два. Типичная конфигурация – объединение нескольких контроллеров в один модуль, который называется контроллерным. В рамках такого модуля они взаимодействуют между собой через высокоскоростной интерфейс, в основном для этого используется PCIe, но бывают и исключения. С точки зрения архитектуры диски могут подключаться к контроллерам по-разному.
Свои ресурсы СХД предоставляет серверам в виде виртуальных томов, являющихся логическими сущностями, которые представляют ограниченную дисковую емкость. К ним применяются различные механизмы защиты и оптимизации хранения данных.
Вертикальное масштабирование (Scale-up)
Рис. 1. Вертикальное масштабирование СХД
На сегодня это наиболее распространенный метод масштабирования дисковых массивов. Он бывает двух типов. В первом случае диски добавляются без необходимости подключения к СХД дополнительных модулей. Во втором случае выполняется подключение специальных модулей, содержащих диски определенного форм-фактора, которые именуются дисковыми модулями. Они подсоединяются по цепочке, образуя последовательность из одного контроллерного модуля и нескольких дисковых.
Причем масштабирование выполняется только по емкости, и потому рано или поздно можно столкнуться с тем, что производительности СХД окажется недостаточно, а узким местом станет контроллерный модуль.
Федерация (Federation, Federated storage)
Рис. 2. Объединение СХД в федерацию
Этот метод подразумевает объединение нескольких вертикально масштабируемых СХД, принадлежащих к одной линейке определенного производителя, в кластер, называемый федерацией, путем их подключения к единой сети по протоколу FC или Ethernet. Серверы, работающие с федерацией, подсоединяются в ту же сеть таким образом, чтобы иметь доступ ко всем массивам из ее состава. Виртуальные тома распределяются между СХД, чтобы добиться равномерной утилизации контроллерных модулей и дисковой емкости.
Важно, что в каждый момент времени отдельный виртуальный том доступен только на контроллерном модуле одного массива.
Горизонтальное масштабирование стандартными модулями (Scale-out)
Рис. 3. Горизонтально масштабирование СХД стандартными модулями
В настоящее время данный метод масштабирования СХД считается наиболее прогрессивным. Подобные массивы состоят из стандартных модулей, содержащих как контроллеры, так и диски. Между собой модули соединяются по выделенной сети, состоящей из двух и более коммутаторов. Часто в этих целях используется сеть InfiniBand или высокоскоростной Ethernet. Виртуальные тома СХД доступны через любой контроллер.
При необходимости добавления контроллеров или дисковой емкости к массиву подключаются дополнительные модули, то есть масштабирование выполняется линейно.
Некоторые модели СХД позволяют безболезненно перенести выход из строя одного или более модулей за счет распределения отдельных последовательностей данных не только между дисками в рамках одного модуля, но и между несколькими модулями.
Вертикальное и горизонтальное масштабирование (Scale-up и Scale-out)
Рис. 4. Вертикальное и горизонтальное масштабирование СХД
Такие СХД поддерживают масштабирование как контроллерными, так и дисковыми модулями. При этом они добавляются независимо друг от друга.
К недостаткам метода по сравнению с масштабированием стандартными модулями относится небольшое максимальное число поддерживаемых контроллеров. Также сохраняется вероятность, что контроллеры массива станут узким местом при подключении к ним большого числа дисковых модулей.
Мобильность данных
В процессе создания виртуальных томов администратор может загружать свои СХД неравномерно, особенно если администрированием занимаются несколько человек. На первый взгляд это может выглядеть смешным, но, как показывает опыт, в пылу работы администраторы часто замечают проблему, когда утилизация массива достигает критических величин. Однако процесс перераспределения виртуальных томов и различных вспомогательных данных может быть чрезвычайно трудоемким.
Например, основной идеей федерации является то, что все СХД управляются посредством единого интерфейса, который автоматически выполняет анализ утилизации контроллерных модулей и емкости массивов. Исходя из его результатов, федерация формирует рекомендации для равномерного распределения виртуальных томов среди входящих в ее состав СХД. Далее администратор на основе полученных рекомендаций планирует и выполняет необходимые мероприятия по миграции данных.
Возможности федерации могут быть очень полезны в случае, когда нужно полностью перенести все данные с одного массива на другой. Это может понадобиться при выполнении различных работ, связанных с инфраструктурой ЦОД, при переездах. А также при замене устаревшей СХД на новую, ведь часто производители позволяют объединять в федерацию массивы разных поколений, представляющих одну и ту же линейку.
Рассматривая мобильность данных в рамках СХД, нельзя не упомянуть и о такой распространенной функции, как автоматический перенос данных между уровнями хранения, представленными дисками с различной производительностью (Tiering). Массив анализирует частоту обращений к блокам данных фиксированного размера, после чего, например, раз в сутки выполняет их перемещение на подходящий уровень. Это серьезное подспорье для администратора, поскольку иногда бывает сложно предсказать, какие диски предпочтительны для выполнения той или иной задачи.
Преимущества горизонтального масштабирования
Теперь разберемся, что же дает нам горизонтальное масштабирование систем хранения данных стандартными модулями?
Часто, читая документ от производителя с описанием решения, можно увидеть солидные цифры в графе с поддерживаемым количеством дисков, но на деле все обстоит иначе, особенно если речь идет о накопителях SSD. Бездумное добавление дисков может привести к тому, что даже небольшое их количество полностью исчерпает ресурс контроллерного модуля. Дальнейшее же увеличение числа дисков идет скорее во вред, чем на пользу, так как задержка при обращении к массиву приобретает неприлично высокие значения. Именно эту проблему в первую очередь и призвана решить архитектура СХД с горизонтальным масштабированием стандартными модулями.
Основным преимуществом перед классической архитектурой является гарантия того, что значение задержки будет оставаться небольшим в любой доступной конфигурации. Модули, из которых собирают массив, рассчитаны на определенное значение количества операций ввода/вывода в единицу времени и пропускную способность, поэтому контроллеры ни при каких условиях не могут стать узким местом.
В процессе записи данных на массив они распределяются равномерно между всеми модулями с точки зрения и утилизации контроллеров, и дисковой емкости. При чтении выполняется обратный процесс, и СХД также утилизируется равномерно.
Исключением могут быть программно-определяемые СХД (Software Defined Storage или SDS), построенные на основе серверов общего назначения. Если мощность их процессоров и объем оперативной памяти не соответствуют используемым дискам, значение задержки тоже будет высоким.
А что же остальные?
Если система хранения данных масштабируется только вертикально, у администратора нет возможности никаким образом повысить максимальное значение ее производительности. Перед приобретением такого массива нужно понимать, что непредвиденное повышение нагрузки приведет к необходимости замены СХД на более совершенную модель.
Массивы, масштабируемые как по дискам, так и по контроллерам, требуют не менее внимательного изучения их архитектуры. Дело в том, что чаще всего наличие нескольких контроллерных модулей само по себе не обеспечивает их доступ ко всем дискам СХД. В основном этим могут похвастаться только флагманские модели корпоративного класса.
Во время первичной настройки массива администратор разбивает множество дисков на логические части, которые называются дисковыми пулами, или доменами. В дальнейшем на основе этих пулов и создаются виртуальные тома, предоставляемые серверам. Как правило, в СХД среднего уровня каждый дисковый пул принадлежит определенному контроллерному модулю. Контроллерные модули взаимодействуют между собой посредством внутренней сети. Поэтому серверы могут обращаться ко всем пулам через любой из контроллеров, однако запросы так или иначе буду проходить через контроллерный модуль, владеющий конкретным пулом. Это происходит потому, что пулы собираются на основе дисковых модулей, подключенных с помощью интерфейса SAS к определенному контроллерному модулю.
Аналогично дело обстоит и с отказоустойчивостью. При полном выходе из строя контроллерного модуля происходит потеря всех данных, хранящихся в рамках дискового пула, который ему принадлежит.
Для того чтобы иметь возможность равномерно распределять нагрузку на контроллерные модули, в таких массивах существуют инструменты для перемещения виртуальных томов между дисковыми пулами без прерывания доступа к ним. Этот процесс инициируется администратором с помощью интерфейса управления СХД. Перемещение томов может осуществляться по отдельности или целыми группами в случаях, если они обслуживают одно приложение, и необходимо сохранять их целостность. Важно помнить, что сеть передачи данных должна быть настроена так, чтобы серверы имели доступ ко всем контроллерным модулями массива.
В последние годы новые технологии вывели возможности по масштабированию СХД и перемещению данных на качественно новый уровень. Очевидно, что теперь не имеет смысла останавливаться на массивах, позволяющих лишь добавлять к ним новые диски. Можно ожидать, что в ближайшее время все новые производители будут делать выбор в пользу горизонтально масштабируемых систем и свободного перемещения данных между ними.
Автор: Дмитрий Грачев, ведущий инженер отдела ЦОД «ЛАНИТ-Интеграции» (группа ЛАНИТ)
Опубликовано 05.03.2019