3 заметки с тегом

Cluster-Mode

FlexGroups

В конце июня стала доступна новая версия Data ONTAP. 9. Правда теперь Data ONTAP стала называться просто ONTAP. Есть три варианта ONTAP. ONTAP, ONTAP Cloud и ONTAP Select. Про первые два варианта все понятно, а ONTAP Select это продолжение идеи Data ONTAP Edge. Хорошая статья про Select есть на Хабре.
Про нововведения в основной версии ONTAP тоже написано уже немало. Статья на английском.
Про ONTAP 9 рассказывали 22 июня в Москве. На техническом семинаре по обновлениям продуктов — NetApp TechUpdate.
Но есть одна интересная функция в новой ONTAP, про которую почти никто не говорит :) Это — FlexGroups.
Далее перевод (с небольшими сокращениями) поста Justin Parisi, который является Technical Marketing Engineer по NAS протоколам и name services в NetApp.

Объемы данных растут

Времена, когда 100TB для файловой системы в одном томе это достаточно, прошли. Размеры файлов растут, объемы активно обрабатываемых данных растут. К примеру, представьте те объемы данных, которые приходится хранить сервисам по работе с медиа-данными. Или компаниями, которые работает с GPS данными. Или с аналитикой по разведке месторождений нефти и газа. Обычно таким компаниям приходится работать с огромными массивами данных и миллиардами файлов.

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

Некоторое время системы хранения схожие с ONTAP использовали единственный контейнер для хранения файловых данных — Flexible Volume (FlexVol).

FlexVol прекрасны, но…

Для большинства случаев FlexVol идеальны. Они позволяют хранить достаточный объем данных (до 100TB) и большое количество файлов (до 2 миллиардов). В случае с файловым доступом вы можете решить почти все задачи, используя FlexVol. Но у вас могут начаться проблемы, если у вас будет расти количество операций с метаданными (прим. переводчика — часто для решения этих проблем мы используем кэширование метаданных на FlashCache или FlashPool). Операции с матаданными выполняются последовательно на уровне FlexVol и не могут использовать все доступные ядра и потоки CPU. К тому же FlexVol привязан к конкретному агрегату и контроллеру, соответственно и работа с файловой системой будет ограничена производительностью агрегата и контроллера. Если у вас кластер из 10 нод, каждая с несколькими агрегатами, то у вас скорее всего не выйдет получить максимально доступную по ресурсам производительность.

Вот здесь и пригодятся FlexGroups

FlexGroups разработаны для решения множества проблем масштабных файловых нагрузок:

  • Объем хранимых данных — до 20PB
  • Большое кол-во файлов — до 400 миллиардов файлов
  • Производительность — распараллеливание файловых операций по CPU, нодам, агрегатам и FlexVol
  • Автоматическая балансировка нагрузки — использование всех доступных ресурсов для набора данных
  • Отказоустойчивость — исправление ошибок метаданных в реальном времени без остановки доступа

Теперь с FlexGroups файловые нагрузки могут утилизировать все доступные в кластере ресурсы. Даже если вы используете однонодовый кластер, FlexGroups могут балансировать нагрузку между несколькими FlexVol и агрегатами.

Как работают FlexGroups?

FlexGroups используют прекрасную концепцию FlexVol и улучшают её, соединяя множество FlexVol в единое пространство имен (namespace), которое для клиентов и администраторов выглядит как единый FlexVol.

Грубо FlexGroups можно изобразить вот так:

Как это будет выглядеть для NAS клиента:

Файлы пишутся в конкретные FlexVol, составляющие FlexGroup. Файлы не разбиваются на части. Степень параллелизации, которую можно получить с FlexGroup, зависит от количества FlexVol из которых она будет состоять. В данный момент максимальное количество FlexVol для FlexGroup — 200. Максимальный размер тома 100TB и максимальное количество файлов 2 миллиарда. Так мы и получаем наши “20PB, 400 миллиардов файлов”. Имейте в виду, что это протестированные на данный момент лимиты. Теоретически эти значения могут сильно вырасти.

Когда клиент создает файл в FlexGroup, ONTAP решает, какой из томов лучше всего подходит для записи файла. Решение основывается на нескольких критериях, например, свободное место, throughput, загруженность ноды, к какому тому обращались последний раз и т. д. Все происходит без вмешательства клиента. Идея в том, чтобы члены FlexGroup были максимально сбалансированы и этом все не вредило предсказуемости производительности.

Запрос на создание файла может прийти на любую ноду кластера. Если ONTAP решает сохранить файл на другой ноде, создается жёсткая ссылка и запрос передаётся соответствующему тому на другой ноде. Операции чтения и записи для уже созданного файла происходят также как и в обычном FlexVol; система сообщит клиенту расположение файла и укажет на соответсвующий FlexVol.

Чем это лучше?

Когда файловые операции могут быть раскиданы между множеством FlexVol мы не сталкиваемся с проблемой последовательных операций с метаданными в системе. Вместо этого мы распределяем нагрузку по множеству файловых систем (FlexVols) соединенных вместе (FlexGroups). И в отличии от Infinite Volumes здесь нет единого тома для хранения метаданных. Каждый том в FlexGroup может принимать участие в работе с метаданными.

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

То, что для параллелизации операций в большой инфраструктуре лучше всего создавать несколько FlexVol, давно перестало быть секретом. Но всё еще существовало ограничение в 100ТБ на том и трудности с управлением точками монтирования при переносе томов и т. д. Планирование оптимального расположения томов для получения максимальной производительности — отдельная головная боль для администраторов.

Теперь, с появлением FlexGroups, все эти проблемы будут решены за вас. И вам не надо заниматься планированием оптимального размещения данных.

Каков потенциальный прирост производительности?

По предварительным тестам FlexGroup против одного FlexVol мы увидели прирост производительности в 6 раз. И это с обычными SAS HDD. Конфигурация была следующей:

  • Одна нода FAS8080
  • SAS HDD
  • 16 FlexVol членов FlexGroups
  • 2 агрегата
  • 8 томов на агрегат

В качестве тестовый нагрузки была работа с исходными кодом в Git. По графикам ниже можно заметить, что самый большой прирост получился на операциях checkout и clone.

Если увеличить количество нод, агрегатов и томов в FlexGroup, то результаты будут еще лучше. А если подумать о добавлении AFF (All-flash FAS), то время выполнения теста сократится еще больше.

Snapshots

В первом релизе FlexGroup у нас реализована функциональность снэпшотов. Они работают как обычные снэпшоты в ONTAP — на уровне FlexVol.

Но так как FlexGroups это коллекция нескольких FlexVol, то мы хотим быть уверенными, что все снэпшоты создаются в одно и то же время и сохраняется консистентность файловой системы. Поэтому создание снэпшотов FlexGroup координируется ONTAP. Если не получается создать снэпшотов какого-то из томов, то весь снэпшот FlexGroup отменяется и ONTAP подчищает снэпшоты созданные в других томах.

Автоматическая инкрементальная отказоустойчивость

В FlexGroup включен новый механизм по исправлению ошибок в метаданных. Этот механизм сканирует метаданные и в случае нахождения неконсистентности при обращении клиента, исправляет ошибку, в реальном времени. Без остановки доступа к данным. Вся FlexGroup остаётся доступной и клиенты даже не замечают, что происходит исправление метаданных. Никто бы и не знал об этом, если бы не надоедливые сообщения в EMS-логе для администраторов. Мне кажется, что это немного недооценённая возможность FlexGroups.

Как начать пользоваться FlexGroups?

Сейчас FlexGroups доступны в ONTAP 9.0RC1 (и RC2 — примечание переводчика)
Первый релиз поддерживает следующие функции:

  • только NFSv3 (позже будет NFSv4 и CIFS — примечание переводчика)
  • непродуктивные нагрузки (подразумевается, что техподдержка не будет решать вопросы с FlexGroups — примечание переводчика)
  • снэпшоты
  • перемещение томов-членов FlexGroup (VolMove)
  • 20PB, 400 миллиардов файлов

Для получения лицензии на FlexGroups или дополнительной информации можно писать на [email protected]

2016   9   Cluster-Mode   FlexGroups   NAS   NFS   ONTAP   ONTAP 9

Data ONTAP 8.3 GA

19 марта стал доступен GA (General Availability) релиз Data ONTAP версии 8.3. Никаких функциональных изменений по сравнению с 8.3RC2 не случилось, исправили несколько багов.
Про отличия RC и GA релизов можно прочитать в этом посте. Там же описано что нового у нас появились в 8.3.

Дистрибутив доступен для скачивания на support сайте всем у кого есть действующие контракты поддержки. Процесс обновления очень подробно описан в документе Clustered Data ONTAP 8.3 Upgrade and Revert/Downgrade Guide.

2015   8.3   Cluster-Mode   Data ONTAP   FAS

Как перевести систему с 7-mode в Cluster-Mode

Для многих актуален вопрос перевода системы с 7-mode в Cluster-Mode. В этом посте я не буду рассматривать варианты миграции. А рассмотрим случаи, когда к вам пришла новая система с 7-mode или у вас есть система, данные на которой для вас не важны или вы их куда-то смигрировали и хотите получить кластер.

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

Ваша система должна иметь версию Data ONTAP 8.1.x и выше. Если вы все еще используете 8.0.x, то сначала надо будет обновиться до более свежей версии.

Нельзя обновить до Data ONTAP 8.3 Clustered систему, которая работает в 7-mode. Для начала надо перейти из 7-mode в Cluster-Mode, а дальше обновляться на 8.3. На 8.3 можно обновляться с Data ONTAP 8.2.1 и выше.

Процесс обновления с одной версии Data ONTAP на другую описывается в документе «Upgrade and Revert/Downgrade Guide», который доступен на сайте NetApp Support. Нужно пользоваться документом для той версии, на которую вы собрались обновляться.

Для работы любой Cluster-Mode системы необходимо иметь Cluster Base Key. Это 28-значный лицензионный ключ. Получить его можно бесплатно при наличии действующей поддержки. Для его получения лучше обратиться к партнеру, у которого вы покупали систему. А партнеры в свою очередь обращаются к дистрибьютору или вендору. Напомню, что начиная с Data ONTAP 8.2 все лицензионные ключи привязываются к серийным номерам контроллеров. Для кластерных систем не нужны дополнительные лицензионные ключи на протоколы и функционал. Эти ключи одинаковые для 7-mode и Cluster-Mode.

Для работы любого кластера состоящего из двух и более нод (а нода это один контроллер, соответственно HA-пара имеет две ноды) необходима 10GbE cluster-interconnect сеть. Для двухнодового кластера можно обойтись без внешних коммутаторов и создать switchless cluster. То есть контроллеры подключаются друг к другу напрямую 10GbE линками. На каждой ноде используется два порта для cluster-interconnect (для старших контроллеров FAS8040/60/80 это не совсем так, но этот текст в основном для тех кто использует FAS22xx/FAS25xx).

После вводной части можно переходить непосредственно к конвертированию системы в Cluster-Mode:

Все действия надо произвести для обоих контроллеров HA-пары и делать это можно одновременно.

Отключаем Cluster Failover для HA-пары:

controller> cf disable

Перегружаем систему в LOADER:

controller> halt -f

После появления командной строки LOADER очищаем имеющиеся bootargs, отключаем автозагрузку ONTAP и говорим, что надо прогружаться в Boot Menu:

LOADER> set-defaults
LOADER> setenv AUTOBOOT false
LOADER> setenv bootarg.init.bootmenu true

Грузимся:

LOADER> boot_ontap

Должны увидеть Boot Menu и в нем надо ввести команду wipeconfig, на все вопросы отвечаем yes:

Если по какой-то причине загрузка не остановилась на Boot Menu и продолжилась дальше, то cистему надо будет опять перегрузить в LOADER, начать загрузку ONTAP и когда появится следующее сообщение нажать Ctrl+C:

******************************* 
*                             * 
* Press Ctrl-C for Boot Menu. * 
*                             * 
*******************************

После выполнения команды wipeconfig система должна будет один раз перезагрузиться. Так как мы отключили автозагрузку, надо будет ввести команду boot_ontap. После успешного wipe вводим в LOADER следующие команды:

LOADER> set-defaults
LOADER> setenv bootarg.init.boot_clustered true
LOADER> boot_ontap

Останавливаем загрузку на Boot Menu:

******************************* 
*                             * 
* Press Ctrl-C for Boot Menu. * 
*                             * 
*******************************

И выбираем пункт 4:

На все вопросы отвечаем yes, система перезагружается, вводим boot_ontap.
Начинается долгий процесс обнуления дисков и после его завершения система будет грузиться в Cluster-Mode:

Логин по умолчанию для Cluster-Mode — admin.

2015   7-mode   Cluster-Mode   Data ONTAP   tutorial