Intel Enterprise Edition – «абажур» для Lustre

e2bbe4ca2277453c94977ddda5132c79.jpgСоздание высоконагруженных кластерных систем — занятие само по себе не из легких; еще более его осложняет тот факт, что в подобных решениях требуется максимальная сбалансированность. Здесь нет места «костылям» и «заплатам», каждый компонент в работе должен выжимать из себя максимальное количество флопсов и иопсов. Это, конечно, касается и одного из критически важных компонентов любого аппаратного решения — файловой системы. В процессе развития суперкомпьютеров было создано несколько вариантов специализированных файловых систем, самой популярной из них стала Lustre, начало разработки которой пришлось еще на прошлый век и которая в настоящее время поддерживается компанией Intel. За 3 года, прошедших с момента покупки Intel компании Whamcloud — разработчика Lustre — продукт был дополнен новым функционалом и инструментарием. В этом посте вы узнаете, каким именно.Как уже говорилось, Lustre — достаточно распространенная система с долгой историей развития; в настоящее время более 60 процентов суперкомпьютеров из Top500 используют ее в качестве файловой системы. Поэтому, наверное, не стоит уделять много времени ее описанию; весьма подробную вводную часть можно найти, например, в Wiki. Тем не менее, несколько слов о схеме построения Lustre сказать необходимо, поскольку это потребуется для дальнейшего.

4e7bde7d7eba42a8b9c7c681ae6a551f.png

Итак, Lustre — это распределенная параллельная файловая система, то есть набор серверов, которые хранят свои данные и работают независимо друг от друга. Ее основой является сервер управления и сервер метаданных (MGS/MDS). MDS — это хранилище метаданных (имена файлов и их атрибуты), MGS — место, где хранится информация, на каких серверах располагается файловая система. Данные сервера могут находиться на разных компьютерах, могут на одном. Сами объекты (фрагменты данных из содержимого файла) находятся на различных устройствах (OST), находящихся под управлением серверов хранения (OSS). В отличие от традиционных файловых систем, в Lustre inode используется как ключ для поиска структуры с информацией о реальном разбиении и расположении данных. Таким образом, создается дополнительный слой абстракции. Главное преимущество такого подхода в том, что фрагменты файла хранятся на разных серверах и запрос к ним происходит параллельно. Вместо того, чтобы ждать, когда данные считаются одним большим куском из одного места, Lustre разбивает большой кусок на меньшие и загружает их параллельно из разных мест. Исключительные возможности параллелизации обеспечивают требуемую скорость обработки данных, лимитируемую по сути лишь пропускной способностью физических соединений. Файловая система не накладывает жесткие блокировки на файлы, а гибко обеспечивает целостность данных с помощью специального механизма. Это очень похоже на синхронизацию кэшей между разными процессорами в многопроцессорной системе.

Текущее ограничение на общий размер хранимых данных равняется 512 Петабайтам.

6fc42d9e0ea44267b2d5221e8cee8a95.png

Intel, как и ряд других производителей ПО, предлагает свое решение на базе Lustre. В его основе, конечно же, сама Lustre FS, свободно распространяемое по лицензии GNU GPL ПО — на сегодняшний день версии 2.7. А вот дальше начинаются надстройки и примочки, созданные специальным подразделением Intel High Performance Data Division (HPDD) и входящие в пакет Intel Enterprise Edition for Lustre Software.

Для разработчиков в первую очередь будет полезен Hadoop адаптер, позволяющий запускать MapReduce приложения непосредственно на Lustre. Таким образом убивается сразу два зайца. Во-первых, пользователи Hadoop имеют доступ к файлам, расположенным на Lustre без необходимости использовать штатную распределенную файловую систему Hadoop и дополнительных операций копирования.

Во-вторых, система в целом становится проще и миловидней: Hadoop сосуществует вместе с Lustre и пользуется ее преимуществами, не потребляя отдельное место под себя. Другой полезный инструмент разработки и внедрения — набор API (в том числе и REST), позволяющий просто и быстро интегрировать с Lustre сторонние программные продукты и системы хранения данных.

5bdf40ad0fd94ca39d14af296e07e19b.png

Для администраторов серверов и систем хранения есть еще более приятная новость. Пакет Intel Enterprise Edition for Lustre Software содержит графическое приложение Intel Manager for Lustre Software, предназначенное для запуска, настройки, мониторинга и администрирования Lustre-системы, а также демонстрации неисправностей в ней. Менеджер предоставляет графический интерфейс для любого действия, связанного с управлением файловой системой, а также визуализирует статистические показатели Lustre по многочисленным критериям, показывая таким образом ее состояние. Еще один нужный для для администратора инструмент — интерфейс командной строки с возможностью написания скриптов для автоматизации рутинных процессов обслуживания и управления.

db483ea73ce4498c9bdb2bf391f12d7f.png

Итак, на основе хорошего продукта, оставшегося по-прежнему свободно распространяемым, Intel создала целую экосистему ПО — в первую очередь, для удобства его использования и внедрения в комплексные решения. Ну, а специалисты вправе сами решать, использовать ли просто Lustre или Lustre с «абажуром» в виде Intel Enterprise Edition for Lustre Software.

Выражаем благодарность ведущему разработчику подразделения HPDD Дмитрию Еремину за помощь в написании поста.

© Habrahabr.ru