Posts tagged ‘qos’

Storage QoS в Clustered Data ONTAP 8.2

Как вы уже заметили, в NetApp вот уже пару лет как перевели “семерку”, Data ONTAP 7-mode, куда входят как “классическая” линейка 7.х.х, так и Data ONTAP 8.x 7-mode, в состояние stable, и новые фичи в них практически не появляются, а все усилия разработчиков направлены на развитие и разработку Cluster mode, или как она сейчас стала часто называться в документации Clustered Data ONTAP. Уже само появление “личного имени” свидетельствует о том, что это – окончательный продукт, в представлении NetApp (затянувшийся) переходный период подошел к концу. Это, безусловно, очень рискованный период в жизни компании (любой компании), так как Clustered Data ONTAP пока еще не стал массовым и все еще не “мэйнстрим” в представлениях клиентов. Однако, NetApp не теряет терпения, и новыми фичами, такими как SMB 3.0, NFS 4.1 и pNFS, и прочими полезными штуками, старается перетянуть пользователей на новую, прогрессивную платформу с большим будущим.

Одной из новинок Clustered ONTAP стал полноценный Storage QoS. В принципе, псевдо-QoS в нетапповских стораджах был и раньше, он назывался FlexShare, но говоря о нем NetApp всегда старался уточнить, что это, ну, “не совсем настоящий QoS”, как, допустим, кооперативная многозадачность ранних Windows и MacOS Classic была лишь “псевдо”-многозадачностью. Конечно, это лучше чем ничего, многие стораджи, других вендоров, и такой-то не имеют. Но все же не следует забывать, что FlexShare это просто способ отдать побольше приоритета в тиках системы тому, данные с которого мы считаем важными, за счет того, что мы заберем их у того тома, данные с которого мы считаем не такими важными.

Однако подлинный QoS это не просто перераспределение приоритетов системы, это возможность задать некоторую гарантированную “полосу” в ресурсах. В особенности это стало важно после того, как появилась Clustered Data ONTAP, в которой multi-tenancy, то есть “сожительство” нескольких разнородных задач в рамках одной системы и одного контроллера такой системы стала не экзотикой, а нормальной повседневной работой. Для такой работы несомненно нужен полноценный QoS в рамках системы в целом, гибко назначаемый по потребителям, которые могут мигрировать по контроллерам кластерной системы, а не просто смещенные приоритеты обслуживания для какого-то тома, привязанные к данному контроллеру.

?? вот, в 8.2 появился полноценный планировщик ввода-вывода, который позволяет назначать политики с лимитами на отдельный SVM, Storage Virtual Machine, как теперь, если вы помните, решено, для упрощения понимания, называть Vserver в Clustered ONTAP.

Вы можете задать на отдельный “виртуальный нетапп”, живущий в кластерной системе, и ресурсов в нем, его лимиты по IOPS или же по MB/s ввода-вывода (но не одновременно, отметьте это ограничение). Следуя модели “политик” (policy), ограничение задается для такой созданной политики, которая затем назначается для SVM (Vserver) в целом, или же на его отдельный том, LUN, или файлы в нем. На кластер контроллеров вы можете задать до 3500 политик, то есть решение подойдет даже для довольно больших по масштабам систем.

“Внутри” назначенных политик действует правило равных долей для всех объектов, которым назначена эта политика, например томов или LUN-ов. Таким образом, задача с более активной рабочей нагрузкой не “съест” все ресурсы ввода-вывода у задач с меньшим траффиком, они в равной мере получат заданный в политике лимит ресурса.

QoS не разделяет операции чтения или записи, соответственно нельзя отдельно ограничить поток ввода-вывода только на чтение или только на запись.

??спользовать QoS можно, например, для ограничения производительности ввода-вывода определенных приложений, к примеру сервер резервного копирования может, при начавшемся процессе резервного копирования, очень быстро “съесть” всю доступную полосу ввода-вывода контроллера, “задавив” трафиком при этом всех своих соседей по кластеру. Можно ограничить ресурсы SVM ряда подразделений, живущих в том же кластере, например задачи R&D, чтобы случайный эксперимент на их SVM не смог повлиять на доступность продакшн-систем в том же кластере. Наконец, можно обеспечивать гарантированную полосу или величину IOPS (SLA) для особо критичных задач в облачной структуре, либо наоборот, максимально доступные им ресурсы.

Storage QoS включена в Clustered Data ONTAP 8.2, и не требует лицензии, и работает на любой системе, поддерживающей cDOT 8.2.

FlexShare - управление приоритетами томов

FlexShare это технология управления приоритетами в обслуживании томов данных, своеобразный квази-QoS (хотя и не QoS в чистом виде). Эта технология входит во все современные версии Data ONTAP, бесплатна, однако сравнительно малоизвестна.
FlexShare задает отноительный приоритет (а не абсолютный, как в “чистом” QoS) обслуживания для томов данных. Если с ее помощью вы зададите пониженный приоритет томам данных, используемым для, например, хранения дистрибутивов, образов виртуальных машин, резервных копий, и прочих данных, время доступа к которым не является для ваших задач критичным, и наоборот, повысите приоритет для томов с базой данных или критичными для бизнеса виртуальными машинами, то контроллер будет распределять свое “внимание” и процессорные “тики” не равномерно, как по умолчанию, а в соответствии с заданными приоритетами. В результате вы сможете несколько улучшить показатели быстродействия для критичных данных.

no FlexShare

no FlexShare


with FlexShare

with FlexShare

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

fas> priority on

Для более детального управления следует воспользоваться командой priority set:

fas> priority set volume vol1 level=high system=low cache=reuse

Эта команда указывает высокий приоритет обслуживания тома vol1 для операций пользователей и приложений, устанавливает для данного тома пониженный приоритет системным задачам его обслуживания, а также задает политику использования кэша с более быстрым сбросом (flush) его содержимого, по сравнению c политикой по-умолчанию.
Уже установленные приоритеты можно посмотреть с помощью команды:
fas> priority show volume

Остальные опции команды priority вы как всегда можете найти во встроенном хелпе и в выводе команды help priority.