Hybrid Aggregate теперь Flash Pool!

Ну, так как до выхода 8.1.1 уже совсем немного времени, давайте я уже расскажу вам, что же такое Flash Pool, который появится у NetApp начиная с этой версии.

Я ранее уже несколько раз упоминал о новой идее NetApp – включении нескольких SSD непосредственно в дисковый aggregate системы хранения, и использования их под кэш “уровня aggregate”, в том числе и для записи. Эта конструкция дополняет возможности Flash Cache, может работать как с ним вместе, так и сама по себе, причем, отметьте, также и для систем, на которых Flash Cache, по тем или иным причинам, использовать уже нельзя, например FAS3210, 3140, и даже 2240.

К моменту выпуска, реализация Hybrid Aggregate в системах NetApp получила собственное, коммерческое имя-торговую марку Flash Pool, и далее я буду пользоваться именно им. Вы же знайте, что Flash Pool это название реализации NetApp Hybrid Aggregate в Data ONTAP 8.1.1 и новее.

К сожалению, вокруг Hybrid Aggregate/Flash Pool уже начало образовываться облако недопониманий и мифов, а моя задача в очередной раз внести ясность в тему.

Итак, начнем.

Прежде всего, я бы хотел сказать, что, вопреки домыслам, Flash Pool это НЕ tiering, в классическом его понимании (например в том виде, в каком он представлен в EMC FAST), это кэш. Этот момент понятен? НЕ disk tiering, not, nicht, nie. :) Это КЭШ.

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

В гибридный aggregate, то есть Flash Pool вы можете преобразовать любой 64-bit aggregate, добавив в него несколько SSD NetApp, объединенных в RAID-группу, и указав для aggregate соответстующую опцию, также его можно создать “с нуля” обычным способом, как любой aggregate. Но в создании Flash Pool есть несколько тонких моментов, именно на них я хочу остановится подробнее.

Так как Flash Pool это кэш, то есть SSD, как таковые, не доступны для непосредственного хранения на них каких-то конкретных данных, а лишь кэшируют поступаюшие на и считываемые с томов aggregate данные, добавление в aggregate SSD не увеличивает его емкость. Есть и “побочный эффект” – если вы имеете aggregate, достигший максимального возможного для данного типа контроллеров размера, например 50TB для FAS3210, то вы все равно можете добавить в этот 50TB-аггрегейт диски SSD для Flash Pool.

Тип RAID-группы для дисков, добавляемых в aggregate должен быть одинаков для всего aggregate. Если вы используете RAID-DP, то добавляемые SSD тоже должны быть в RAID-DP. Нельзя в aggregate из HDD в RAID-DP добавить SSD в RAID-4, например.

Обратите внимание, что возможность добавления в aggregate дисков SSD НЕ означает возможности добавления в aggregate дисков HDD другого типа. Flash Pool може быть (по вашему выбору) из SAS/FC и SSD, или из SATA и SSD, но НЕ из SAS и SATA.

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

Наверняка у многих уже вертится на языке вопрос: “Как же нам воспользоваться Flash Pool, если NetApp продает SSD только в составе полки на 24 диска?” Отвечаем: С появлением Flash Pool SSD NetApp будут продаваться паками по 4 штуки, что дает вам во Flash Pool 142GB кэша из 4 SSD. Диски имеют размер 100GB [84574 MiB], и когда они включаются в aggregate, построенный на RAID-DP, вы получите из 4 дисков два диска parity и два – data. Конечно, вы можее включить в Flash Pool и больше SSD.

Однако помните, что SSD имеют интерфейс SATA. Это значит, что вы НЕ МОЖЕТЕ добавить SSD непосредственно в полку с дисками SAS. Но можете – в полку с дисками SATA. Смешивать физические интерфейсы дисков в составе одной полки нельзя. Таким образом, если у вас система с “только-SAS/FC”, вам понадобится для установки SSD, даже всего 4 штук, например, дополнительная полка “только-SATA”. Не забывайте об этой сложности.

Вопрос, который я уже тоже слышу :) “Вы говорите – SSD работает на запись? А как же с исчерпанием ресурса на перезапись для SSD?”

Ну, это тема. Да, безусловно, с этой точки зрения Flash Cache был принципиально более надежен, так как работал только на чтение, а записи (заполнение кэша) в него делались сравнительно (по меркам компьютера) редко, и большими “порциями”, которые flash memory как раз обрабатывает довольно хорошо, это не random write мелкими блоками. Однако практика использования SSD enterprise-class показывает, что проблема пресловутого “исчерпания ресурсов SSD при записи” в значительной мере надумана, преувеличена, и присуща, в основном, “бытовым” SSD. Тем не менее, эта проблема возможна, так как Flash Pool действительно пишется, работая на запись (хотя, вы не забыли, записи в WAFL не рандомны, а секвентальны). Для защиты данных в случае выхода SSD из строя вы как раз и используете объединение SSD в RAID, а сами SSD, как устройства, покрыты общей трехлетней warranty на систему.

На самом деле в отношении записи вы можете столкнуться с другой, более важной, чем мифическое “исчерпание ресурса на запись” неприятностью. Дело в том, что устройство flash таково (это так для любого flash-устройства”), что его производительность на запись падает, по мере активной записи (и пере-записи) данных на нем. Производительность SSD на запись максимальна, когда он полностью пуст и только пришел с завода.  После того, как данные на SSD записываются, перезаписываются, и он постепенно заполняется данными, его производительность постепенно снижается, и стабилизируется на более низком, чем начальный, уровне, после того, как все его ячейки будут перезаписаны. С этим эффектом знакомы все владельцы SSD. Так что не экстраполируйте результаты первого испытания пустых SSD на всю его работу.

Отвечая на третий вопрос ;) : Да, TRIM для SSD поддерживается Data ONTAP на уровне системы.

Напомню, Flash Pool, новое название Hybrid Aggregate, появится в Data ONTAP 8.1.1, которая ожидается к выпуску в ближайшем месяце.

22 комментария

  1. Dima:

    1. Планируются ли выпускать SSD Диски больше чем 100Гб?
    2. Flash Pool включается для всех томов аггрегата? Или будет возможность выборочно включать/выключать для нужных томов, как в случае Flash Cache?
    3. если Flash Pool, это “КЕШ” то в случае его выхода из строя (да отказ больше 2х дисков) данные основного агрегатаа (sata/sas) теряются?
    4. Почему пак только на 4 диска? Ведь если мы из SSD начинаем делать рейд-группу, то по рекомендациям нужно как минимум 1 диск в hot spare? (т.е. 5ый диск, т.к. врядли кто-то держит продуктивные аггрегаты под Raid-4)

  2. Dima:

    1. Ну это вопрос не к NetApp, он же не сам эти диски производит, а к кому там, к STEC наверное?

    2. Он включается для всех томов на aggregate, но степень использования отдельным томом ресурсов кэша управляется отдельной командой priority hybrid-cache. FlexCache для этого не используется.

    3. It depends, как я понимаю, но скорее всего да. А какие есть еще варианты? ;)
    По крайней мере потеря write cache заметно повредит WAFL.

    4. Он не “только на 4″, он просто “кратен 4″. Минимальное количество - 4 а также 8, 12, 16, и так далее.

  3. bbk:

    >Эта конструкция дополняет возможности Flash Cache, может работать как с ним вместе, так и сама по себе, причем, отметьте, также и для систем, на которых Flash Cache, по тем или иным причинам, использовать уже нельзя, например FAS3210, 3140, и даже 2240.
    Из предложения не ясно: для FAS3210, 3140, 2240 Flash Pool будет работать или нет?

  4. bbk:

    Для любых систем, поддерживаемых в версии 8.1.1

  5. bbk:

    Как на счёт кеша для чтения, ведь для томов с FlashPool агрегатами, FlashCache не работает?

  6. bbk:

    SSD в Flash Pool работают И на чтение, И на запись.

  7. romx:
    > 4. Он не “только на 4″, он просто “кратен 4″. Минимальное количество - 4 а также 8, 12, 16, и так далее.
    Можно заказать полку с любым кол-вом дисков, хоть с 1, хоть с 23. Только это будет не готовая полка-решение, а набор запчастей, которые надо будет собрать на месте. Только что ради интереса сквотировал полку на 5 SSD. Очень странная экзотика, но доступная к размещению.

    И прямо сейчас еще до выхода Flash Pool доступны к заказу полки с 6 SSD.

  8. Alexey Marushchenko:

    Первоначально я слышал как раз про 6.

  9. Уточню, что заказать полку с 1-3 SSD дисками можно, но работать оно скорее всего не будет, т.к. надо минимум 4 диска для правильной нагрузки блоков питания.

  10. bbk:

    >Alexey Marushchenko:Можно заказать полку с любым кол-вом дисков
    Заказать то можно, но у трёх дисков с полкой, наверняка, цена получится как у всех 6-ти с полкой %)

  11. bbk:

    А “счастья даром” никто не обещал. “Хотите странного” - готовьтесь за эти странности заплатить.

  12. bbk:
    Не все так печально с ценами, я сам удивился.

    Но как я уже говорил, официально поддерживается от 4-х дисков, т.к. есть условия по нагрузке блоков питания полки.

  13. Grigoriy:

    Alexey, а раньше где то пробегала информация что нетапп диски продает только шельфами по 12шт.
    То есть сейчас можно сделать заказ на полку 18х2Т(3т уже доступны?) Sata и 6 SSD Sata ?
    про сейчас я имею ввиду когда появится таки 8.1.1 и тд.

  14. Grigoriy:

    > Alexey, а раньше где то пробегала информация что нетапп диски продает только шельфами по 12шт.

    Вы путаете диски HDD, которые NetApp продавал и продает только полками, и SDD.
    Продает полками, да, и это, поверьте, очень правильное решение. (а вот IBM в N-series продает поштучно, и я уже три раза объяснял владельцам N-series с проблемами “Ой, а мы промахнулись, неправильно посчитали нужное число дисков, а что же нам теперь делать?”).

    > То есть сейчас можно сделать заказ на полку 18х2Т(3т уже доступны?) Sata и 6 SSD Sata ?

    Нет.

    PS. Настоятельно рекомендую с дискуссионными темами перемещаться из комментов на форум в NetApp-RU. Не потому что я вас тут не рад видеть, а потому что там это просто удобнее.

  15. Grigory:
    Можно купить хоть 1 диск (3Тб уже доступны). Цена Вам не понравится.

    Про заказы основанные на 8.1.1 что-то можно будет говорить в июне, пока все вилами на воде.

    romx:
    Как-то плавно течет здесь дискуссия, я даже не поленился поставить в коммьюнити аватарку. Но, заводить на площадке NetApp тему о тонкостях продуктового конфигуратора, интересную по сути только специалистам с ним работающим, не знаю, надо подумать :-)

  16. bbk:

    romx>Для любых систем, поддерживаемых в версии 8.1.1
    Question: Any plans to give some boost to 3210 through Flash Cache? Especially since they won’t support Flash Cache either?
    [bbk]Здесь похоже опечатка, вместо первого слова Flash Cache, имелось ввиду Flash Pool.
    Answer: Flash Pool is not supported on a FAS3210.

    Отсюда:
    Final Chat from the April 11, 2012 SIW: Technical Overview of Flash Pool (formerly Hybrid Aggregates)

  17. bbk:

    Конечно, такие веши надо смотреть не в транскрипте чата, а в официальном Technical FAQ на fieldportal.

  18. Сорри, что поднимаю тему годичной давности, но ближе нигде ничего не находится :)

    Встал вопрос выбора младшей СХД для собственной фермы виртуализации (пока 8 сокетов vmware, планируется рост до 20) и как-то я не смог пока вычитать из документов, насколько эффективен flash pool в подобных случаях.

    Сначала я положил глаз на типичную fas2240-2a 24*600 SAS 10k, но мне дьявол нашептывает “возьми 2240-4а 4*200 SSD + 20*2T SATA” (стыки наружу в обоих случаях - 10G, iSCSI/NFS). Полезного места, конечно, будет существенно больше, но даст ли 400GB полезной емкости flash pool’а более эффективный прирост скорости для ~14TB-ного aggregate, чем банальное построение решения на большем количестве более быстрых шпинделей.

    Т.е. предполагаю разбиение 20 SATA следующим образом - 2 уходят в spare, оставшиеся 18 пилю пополам, по 9 на контроллер, 7+2p, соответственно на один из aggregate навешиваю flash pool. Этот aggregate пойдет под горячие данные (диски VM, дазы банных), второй, соответственно, под всякое медленное и неважное.

    Также держу в голове вариант из bad practices, когда 1 spare, 2 на первый контроллер, остальные 17 (15+2p) на второй. И места больше, и шпинделей - т.е. родная скорость будет выше, но тогда-то flash pool будет работать на весь объем данных и, предполагаю, будет еще менее эффективен.

    Если не сложно, был бы рад услышать советы и комментарии опытных товарищей.

  19. pLuto:

    На самом деле куда проще спрашивать такое, “внетемное” в форуме NetApp, который я некоторое время назад создал, адрес его в “шапке” блога.

    Что касается эффективности FlashPool, то он безусловно будет работать под workload виртуализации, насколько именно хорошо - сможете определить только вы сами, но на прошлой неделе был опубликован документ о тестировании Flash Pool под задачу OLTP на Oracle, характер нагрузки на OLTP в общем довольно близок к тому, как работает большинство серверов виртуализации сами по себе (практически 100% random, чтений больше, чем записей, блоки мелкие).

    > но даст ли 400GB полезной емкости flash pool’а более эффективный прирост скорости для ~14TB-ного aggregate, чем банальное построение решения на большем количестве более быстрых шпинделей.

    Поэтому ответ тут будет - безусловно “да”, конечно же, и куда больший, чем даже в теории может дать несколько дополнительных щпинделей SAS.

  20. Валентин:

    Хотелось бы уточнить: Вы пишите “SSD работает и на чтение и на запись” - имеется ввиду, что flash pool используется для кэширования операций и на чтение и на запись или все же то, что данные просто в flash pool на SSD диски пишуться для кэширования операций чтения?

  21. Валентин:

    Во Flash Pool на SSD операции попадают и при чтении и при записи данных на aggregate, в который включены SSD.

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

20/0.173

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией 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.