Flash Pool: некоторые тонкости применения

Долгожданный Flash Pool (AKA Hybrid Aggregate) наконец-то вышел в релиз с появлением версии Data ONTAP 8.1.1. О том, что это такое я уже писал, но для тех, кто все пропустил, и не желает посмотреть в поиске по этому блогу, вкратце: это технология, которая позволяет создать комбинированный aggregate на системе хранения NetApp, в которй добавленные в aggregate диски SSD (на flash memory) используются для кэширования данных, читающихся, а также пишущихся на тома этого aggregate. Эта технология расширяет и дополняет уже имеющуюся несколько лет у NetApp для систем его midrange  и highend линейки, технологию Flash Cache, выполненную в виде карты flashmemory, и устанавливаемую внутри контроллера системы хранения.

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

Для начала я бы хотел привлечь ваше внимание к тому, что, хотя Flash Pool приходит с версией Data ONTAP 8.1.1, не любая система, на которую можно поставить 8.1.1, автоматически будет уметь работать с SSD во Flash Pool. Это связано с тем, что для работы подсистемы Flash Pool необходимо определенное количество RAM на контроллере, которое имеется не у любого контроллера.

На сегодня поддерживают Flash Pool следующие модели:

  • Поддерживают FAS2220, FAS2240-2 и FAS2240-4.
    НЕ поддерживают его FAS2040, несмотря на то, что Data ONTAP 8.1.1 на нее поставить можно.
  • Поддерживают FAS/V3160, FAS/V3170, FAS/V3240 и FAS/V3270
    НЕ поддерживают FAS/V3140 и FAS/V3210, а также более старые, типа 3040/3070.
  • Поддерживают FAS/V6030, FAS/V6040, FAS/V6070, FAS/V6080, FAS/V6210, FAS/V6240 и FAS/V6280 (то есть все без исключений highend)

Flash Pool работает как в 7-mode, так и в Cluster-mode, а также может использоваться с V-series, однако при работе с V-series для построения aggregate c Flash Pool могут использоваться только SSD и HDD от NetApp.

Metrocluster поддерживает использование Flash Pool только для aggregates из SAS или SATA, но НЕ из FC.

Обратите внимание, что NetApp сперва поставлял SSD с партномером X442A (это которые шли в той полностью набитой полке DS4243), а нынешние идут с партномером X441A, во Flash Pool можно использовать только эти последние. Если вы когда-то покупали полку SSD, а теперь хотите из ее SSD составить Flash Pool, то может не выйти, если SSD там используются X442A. NB: Да, раньше партномер был больше, а сейчас – меньше.

Сделать Flash Pool aggregate можно только из 64-bit aggregate! Обратите внимание, что если вы планируете использовать механизм автоконверсии типа aggregate, доступный с версии 8.1, то пока ваш aggregate не увеличен выше предельного для 32-bit aggregate размера (после чего и активируется “конверсия”), он остается старым, 32-битным, и добавить в него SSD для Flash Pool нельзя!

Несмотря на то, что в качестве нижележащих под Flash Pool aggregate поддерживаются как RAID-DP, так и RAID-4, вы должны использовать только какой-то один из этих типов для всех групп. Нельзя в aggregate из HDD в RAID-DP добавить SSD в RAID-4. Тут же, в качестве примечания, хочу отметить, что менять тип RAID в aggregate (из RAID-4 в RAID-DP и обратно) можно “на ходу” и без потери данных и прерывания доступа к ним (почему-то не все это помнят), но помните также, что максимальное число дисков в RAID-4 значительно меньше, чем в RAID-DP, и, скорее всего, вам не удастся преобразовать 22-дисковую группу RAID-DP в 21-дисковую RAID-4.

Хорошая новость: На FAS22xx для SSD в RAID-DP можно не оставлять hotspare (но для RAID-4 он нужен). То есть минимальное число дисков в Flash Pool равно 3 для FAS22xx (1data+2parity+0spare для RAID-DP, или же 1data+1parity+1spare для RAID-4).

Для midrange spare для SSD нужны по прежнему: то есть 6/5 SSD минимум для midrange FAS (3 data: 3+2+1 RAID-DP, или 3+1+1 для RAID-4), 12/11 SSD минимум для highend (9 data: 9+2+1 RAID-DP или 9+1+1 RAID-4). “Минимум” оначает минимум, то есть меньше чем 5 (или 6 при RAID-DP) SSD в midrange поставить нельзя.

Отдельно отмечу, что при использовании дисков SATA пользоваться RAID-4 крайне не рекомендуется, по причине гораздо меньшей надежности такого типа RAID.

Также отметьте, что состояние degraded (например отказ одного SSD в RAID-DP) приведет к отключению кэширования, а отказ (fail) в RAID-группе SSD приведет к недоступности данных всего Flash Pool aggregate, в который она включена!

Это мы поговорили о минимальном количестве, а теперь о максимальном. И тут у нас есть весьма существенная засада, в особенности для FAS22xx.

Максимальное число используемых во Flash Pool дисков SSD равно 300GB как для одного контроллера, так и для пары!

Это довольно существенная засада, особенно в свете того, что существует сравнительно недорогой бандл, состоящий из FAS2220 и 12 дисков SSD в нем. Напрашивающееся решение – купить с ней дисковую полку SATA на 24 диска, и запузырить все эти SSD в два Flash Pool aggregate, по одному на контроллер, по 6 штук SSD в каждый. Не выйдет. 
Максимум можно использовать во Flash Pool на 22xx только 300GB SSD, или же  5 (пять) дисков, даже в двухконтроллерной системе, то есть 3 (три) data + 2 parity, и эту группу поместить в один aggregate, на одном контроллере, и этим лимит на систему, к сожалению исчерпывается. Остальные 7 дисков можно, например, использовать, как отдельный 7-дисковый SSD aggregate для хранения данных, но НЕ как Flash Pool. Также нельзя сделать два aggregate, по 5 SSD в каждом, потому что лимит в 300GB, он действует и на систему целиком. Можно сделать 2data + 2parity на один контроллер, и 1data + 2parity на второй, лимит в 300GB data-дисков превышен не будет, и, пусть несимметрично, но aggregates обоих контроллеров будут при Flash Pool.
Пожалуйста вникните в написанное выше и обратите на это особое внимание при планировании использования Flash Pool на FAS2220 и FAS2240.

Есть у нас сюрприз и для остальных.

Для мидрендж-систем (FAS3160, 3170, 3240, 3270) лимиты таковы:

  • 0,5TB на контроллер 3160 или 3240, и 1TB на HA-пару контроллеров 3160 или 3240.
  • 1TB на контроллер 3170 или 3270, и 2TB на HA-пару контроллеров 3170 или 3270.

Для highend-систем (FAS60xx и FAS62хх):

  • 1TB на контроллер 6030 или 6040, и 2TB на HA-пару контроллеров 6030 или 6040.
  • 2TB на контроллер 6070 или 6080 или 6210, и 4TB на HA-пару контроллеров 6070 или 6080 или 6210.
  • 6TB на контроллер 6240 или 6280, и 12TB на HA-пару контроллеров 6240 или 6280.

И при этом для highend есть еще одна засада. В принципе можно использовать Flash Pool (SSD в aggregate) вместе с Flash Cache (платой PCIe в контроллере) на одном контроллере и одной системе, одновременно. Это возможно как в midrange, так и в highend. Но указанные лимиты для midrange, они действуют в том числе и на сумму емкости flash, в целом, то есть сумма емкости Flash Cache и Flash Pool SSD не должна превышать указанного выше. А вот для highend, в настоящий момент, использование совместно Flash Cache и Flash Pool в одной системе уменьшает лимиты сверху, имеющиеся для Flash Cache, на уровень лимита для Flash Pool. Например для Flash Cache-только вы можете поставить до 16TB на 6280, но для Flash Cache и Flash Pool совместно максимальная суммарная емкость Flash может быть только 12TB. Обратная ситуация для 6210 и 6240. Там бОльшие лимиты для Flash Pool, а при наличии в системе Flash Cache, имеющего на этих системах меньшие лимиты (1,5TB/3TB и 3TB/6TB соответственно), общий лимит ограничится по наименьшему из них. То есть система 6210 с Flash Pool-только, сможет работать с бОльшим объемом flash, чем с комбинированным вариантом.

Таким образом, если у вас уже есть highend из 60хх/62xx, хорошо набитый Flash Cache, то не торопитесь с SSD, и не расчитывайте, что добавлением Flash Pool вы еще емкость flash в системе увеличите. Можете и уменьшить даже.

Обратите внимание, что хотя вы вольны создавать более одного Flash Pool aggregate на контроллере, и в эти aggregates помещать произвольное число SSD, более минимума, и не превышая максимума для контроллера по суммарной емкости data-дисков, в случае двухконтроллерной FAS3240 с Flash Cache вы должны использовать симметричную, идентичную между контроллерами конфигурацию. Для других систем такого ограничения нет. Впрочем, по причине малого объема RAM сам NetApp вовсе не рекомендует делать на 3240 и 3160 конфигурацию с Flash Cache и Flash Pool одновременно.

Есть определенная надежда, что ситуация с лимитами будет со временем поправлена в следующих релизах. Я также надеюсь, что грядущие в новом году системы будут спроектированы уже с учетом повышенных требований к памяти, предъявляемых подсистемой Flash Something, и лимиты для них будут существенно раздвинуты.

Несколько слов о подсчете емкости. Прежде всего я хотел бы напомнить, что маркетинговая емкость не совпадает с практической емкостью для любого из дисков, по этой причине “100GB” на SSD не являются ровно “ста гигабайтами”. В настоящий момент right-sized usable емкость для X441A равна 94146MB, а для старых X442A – 84574MB. Это также означает, что, несмотря на то, что и тот и другой тип дисков называется “100GB SSD” нельзя их объединять в один RAID. Впрочем, X442A уже довольно давно не поставляются.

Диски SSD, поставляемые NetApp, являются SLC (есть люди, для которых это, по какой-то причине, крайне важно;).

Немного о комбинации дисков в одной полке. В настоящий момент NetApp не предлагает SSD в формате 2,5”, поэтому SSD всегда ставятся в полку DS4246 (а также в “голову” FAS2220), возможна их установка в полку DS4243, но это требует формального разрешения от поддержки NetApp (так называемый PVR).

Так как SSD конструктивно используют интерфейс SATA, их можно ставить в одну полку только вместе с SATA, но НЕ с SAS. Даже если вы используете Flash Pool, состоящий из HDD SAS и SSD, вам придется разнести их по разным полкам. А вот SATA вы можете поместить в ту же полку, что и SSD. Кроме этого, в настоящий момент не поддерживается SSD+HDD mix в FAS2220. То есть вы не можете купить 12-дисковый бандл FAS2220, вынуть из него 7 дисков, которые все равно не получится использовать во Flash Pool (см выше про лимиты почему так), а на свободное место в голову напихать SATA. Но можно подключить внешнюю полку SATA и сделать Flash Pool обычным образом (также помните про 300GB лимита на объем дисков данных на систему в целом).

Надеюсь, что вы помните, что вы можете сделать Flash Pool aggregate из только двух типов дисков. То есть ИЛИ SATA + SSD, ИЛИ SAS + SSD. Но не из всех трех типов разом. Только или-или. За одним исключением: не рекомендуется, но не запрещается комбинировать FC и SAS в один aggregate. Но не разрешается соединять в Flash Pool диски с разным RPM. Например 10K FC, и 15K SAS, хотя такой aggregate в виде не-Flash Pool вполне может существовать (хотя также не рекомендуется). Да, кстати, SSD+SSD нельзя тоже :) Ну вдруг кому такое придет в голову :)

Теоретически (через запрос PVR) вы можете размещать и root volume на aggregate с Flash Pool. Это может быть очень востребовано в случае младших систем, зачастую, для экономии, размещающих root volume на одном общем с данными aggregate, который, часто, единственный у контроллера. Но без официального PVR такая конфигурация не поддерживается. Также помните, что такая конфигурация поддерживается только в 8.1.1, и вы, в случае такой схемы, не сможете даунгрейдиться на предыдущую версию (SSD из aggregate, после их добавления, нельзя удалить без уничтожения всего aggregate).

Помните, что хотя добавленные SSD и не увеличивают общую емкость aggregate, к которому они добавлены, и, значит, вы можете превращать в Flash Pool даже aggregate максимальной для данной системы емкости (при добавлении SSD в него его лимит по емкости не будет превышен), SSD учитываются в лимите на число шпинделей и суммарной дисковой емкости на систему. Если вы планируете систему на пределе ее возможностей по поддерживаемой контроллером емкости и по числу дисковых шпинделей, держите эту особенность в памяти.

В общем, если после всех “помните” этого поста, у вас голова не взорвалась, вы можете считать себя готовым к пресейл-работе с новыми продуктами NetApp :)

13 комментариев

  1. Александр:

    … Вот и я думаю может в NetApp податься и нести людям свет и добро :)

  2. ivs:

    Отлично было бы в виде таблицы модели и ограничения для них с этими flash сделать.
    Так, конечно, запомнить нереально.

  3. bbk:

    >Хорошая новость: На FAS22xx для SSD в RAID-DP можно не оставлять hotspare (но для RAID-4 он нужен)
    а что на счёт hotspare для midrange RAID-DP, hotspare обязателен?

  4. bbk:

    Все написано, как вы вообще меня читаете?
    Ровно следующий абзац начинается со слов: “Для midrange spare для SSD нужны по-прежнему:

  5. bbk:

    Я имею ввиду, система даже не даст создать Flash Pool если нет одного Spare диска, или даст но будет ругаться, что его нет?

  6. bbk:

    Вариант работы без spare на midrange не поддерживается.

  7. bbk:

    Извесно ведь, что можно в экстренном случае когда есть агрегат из SAS дисков, а под рукой для замены только SATA (боьшего объёма), то можно его подсунуть ситеме (понятное дело с непредсказуемой производительностью и т.д.). Типа чтобы протянуть до приезда “правильного диска”.

    А вот интересно, можно сделать тоже самое с FlashPool’ом и заменить SSD на SAS (к примеру), в последствии заменить все SSD и получить как результат FlashPool из SATA и SAS?

    Что-то у меня фантазия разыгралась %)

  8. Алексей:

    спасибо

  9. bbk:

    В версии DataOntap 8.2 рейд группа в FlashPool агрегате для SSD не обязана быть такого же типа, как и группа из HDD :)

  10. bbk:

    Fas2240 Tech FAQ> In Data ONTAP 8.1.2 the maximum Flash Pool cache size increases to 400GB.

  11. Art:

    А где моно посмотреть сколько iops при каком % заполнения выдают гибридные ssd+sas и ssd+sata системы ???

  12. Art:

    SSD долго живут при использовании для кэша ? :)

  13. Art:
    SSD вообще очень неплохо “живут”. По крайней мере те, что используются в энтерпрайз-системах.

Оставить комментарий

20/0.142

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией NetApp, Inc. Излагаемая в этом блоге точка зрения выражает мнение исключительно его автора и может не совпадать с позицией NetApp, Inc.

This content is not endorsed, sponsored or affiliated with NetApp, Inc. The views expressed in this blog are solely those of the author and do not represent the views of NetApp, Inc.