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, которая ожидается к выпуску в ближайшем месяце.
1. Планируются ли выпускать SSD Диски больше чем 100Гб?
2. Flash Pool включается для всех томов аггрегата? ??ли будет возможность выборочно включать/выключать для нужных томов, как в случае Flash Cache?
3. если Flash Pool, это “КЕШ” то в случае его выхода из строя (да отказ больше 2х дисков) данные основного агрегатаа (sata/sas) теряются?
4. Почему пак только на 4 диска? Ведь если мы из SSD начинаем делать рейд-группу, то по рекомендациям нужно как минимум 1 диск в hot spare? (т.е. 5ый диск, т.к. врядли кто-то держит продуктивные аггрегаты под Raid-4)
Dima:
1. Ну это вопрос не к NetApp, он же не сам эти диски производит, а к кому там, к STEC наверное?
2. Он включается для всех томов на aggregate, но степень использования отдельным томом ресурсов кэша управляется отдельной командой priority hybrid-cache. FlexCache для этого не используется.
3. It depends, как я понимаю, но скорее всего да. А какие есть еще варианты? ;)
По крайней мере потеря write cache заметно повредит WAFL.
4. Он не “только на 4″, он просто “кратен 4″. Минимальное количество - 4 а также 8, 12, 16, и так далее.
>Эта конструкция дополняет возможности Flash Cache, может работать как с ним вместе, так и сама по себе, причем, отметьте, также и для систем, на которых Flash Cache, по тем или иным причинам, использовать уже нельзя, например FAS3210, 3140, и даже 2240.
??з предложения не ясно: для FAS3210, 3140, 2240 Flash Pool будет работать или нет?
bbk:
Для любых систем, поддерживаемых в версии 8.1.1
Как на счёт кеша для чтения, ведь для томов с FlashPool агрегатами, FlashCache не работает?
bbk:
SSD в Flash Pool работают ?? на чтение, ?? на запись.
romx:
> 4. Он не “только на 4″, он просто “кратен 4″. Минимальное количество - 4 а также 8, 12, 16, и так далее.
Можно заказать полку с любым кол-вом дисков, хоть с 1, хоть с 23. Только это будет не готовая полка-решение, а набор запчастей, которые надо будет собрать на месте. Только что ради интереса сквотировал полку на 5 SSD. Очень странная экзотика, но доступная к размещению.
?? прямо сейчас еще до выхода Flash Pool доступны к заказу полки с 6 SSD.
Alexey Marushchenko:
Первоначально я слышал как раз про 6.
Уточню, что заказать полку с 1-3 SSD дисками можно, но работать оно скорее всего не будет, т.к. надо минимум 4 диска для правильной нагрузки блоков питания.
>Alexey Marushchenko:Можно заказать полку с любым кол-вом дисков
Заказать то можно, но у трёх дисков с полкой, наверняка, цена получится как у всех 6-ти с полкой %)
bbk:
А “счастья даром” никто не обещал. “Хотите странного” - готовьтесь за эти странности заплатить.
bbk:
Не все так печально с ценами, я сам удивился.
Но как я уже говорил, официально поддерживается от 4-х дисков, т.к. есть условия по нагрузке блоков питания полки.
Alexey, а раньше где то пробегала информация что нетапп диски продает только шельфами по 12шт.
То есть сейчас можно сделать заказ на полку 18х2Т(3т уже доступны?) Sata и 6 SSD Sata ?
про сейчас я имею ввиду когда появится таки 8.1.1 и тд.
Grigoriy:
> Alexey, а раньше где то пробегала информация что нетапп диски продает только шельфами по 12шт.
Вы путаете диски HDD, которые NetApp продавал и продает только полками, и SDD.
Продает полками, да, и это, поверьте, очень правильное решение. (а вот IBM в N-series продает поштучно, и я уже три раза объяснял владельцам N-series с проблемами “Ой, а мы промахнулись, неправильно посчитали нужное число дисков, а что же нам теперь делать?”).
> То есть сейчас можно сделать заказ на полку 18х2Т(3т уже доступны?) Sata и 6 SSD Sata ?
Нет.
PS. Настоятельно рекомендую с дискуссионными темами перемещаться из комментов на форум в NetApp-RU. Не потому что я вас тут не рад видеть, а потому что там это просто удобнее.
Grigory:
Можно купить хоть 1 диск (3Тб уже доступны). Цена Вам не понравится.
Про заказы основанные на 8.1.1 что-то можно будет говорить в июне, пока все вилами на воде.
romx:
Как-то плавно течет здесь дискуссия, я даже не поленился поставить в коммьюнити аватарку. Но, заводить на площадке NetApp тему о тонкостях продуктового конфигуратора, интересную по сути только специалистам с ним работающим, не знаю, надо подумать :-)
https://communities.netapp.com/polls/1356
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)
bbk:
Конечно, такие веши надо смотреть не в транскрипте чата, а в официальном Technical FAQ на fieldportal.
Сорри, что поднимаю тему годичной давности, но ближе нигде ничего не находится :)
Встал вопрос выбора младшей СХД для собственной фермы виртуализации (пока 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 будет работать на весь объем данных и, предполагаю, будет еще менее эффективен.
Если не сложно, был бы рад услышать советы и комментарии опытных товарищей.
pLuto:
На самом деле куда проще спрашивать такое, “внетемное” в форуме NetApp, который я некоторое время назад создал, адрес его в “шапке” блога.
Что касается эффективности FlashPool, то он безусловно будет работать под workload виртуализации, насколько именно хорошо - сможете определить только вы сами, но на прошлой неделе был опубликован документ о тестировании Flash Pool под задачу OLTP на Oracle, характер нагрузки на OLTP в общем довольно близок к тому, как работает большинство серверов виртуализации сами по себе (практически 100% random, чтений больше, чем записей, блоки мелкие).
> но даст ли 400GB полезной емкости flash pool’а более эффективный прирост скорости для ~14TB-ного aggregate, чем банальное построение решения на большем количестве более быстрых шпинделей.
Поэтому ответ тут будет - безусловно “да”, конечно же, и куда больший, чем даже в теории может дать несколько дополнительных щпинделей SAS.
Хотелось бы уточнить: Вы пишите “SSD работает и на чтение и на запись” - имеется ввиду, что flash pool используется для кэширования операций и на чтение и на запись или все же то, что данные просто в flash pool на SSD диски пишуться для кэширования операций чтения?
Валентин:
Во Flash Pool на SSD операции попадают и при чтении и при записи данных на aggregate, в который включены SSD.