Сайзинг Flash Pool

Попробуем разобраться как подобрать нужное количество SSD-кэша для систем NetApp. Эти советы подойдут тем, у кого уже используется NetApp или есть возможность взять систему в тест. Даже демо-система без SSD дисков, позволит понять насколько эффективно будет работать кэш с вашими данными.

К сожалению, универсального ответа на вопрос «Как понять процент “горячих” данных?» без тестирования на реальном оборудовании у меня нет. Если кто-то поделится таким рецептом для каких-либо приложений, буду рад.

Как понять насколько эффективно работает Flash Pool в текущей конфигурации? Какая ёмкость SSD-кэша в Flash Pool будет оптимальной, если вы только собираетесь добавлять кэш к обычному агрегату?

Поговорим про AWA — Automated Workload Analyzer. Инструмент, который помогает получить ответы на эти вопросы.

Некоторую статистику по работе FlashPool можно увидеть в OnCommand System Manager. Но она не особо информативна и, например, не позволяет понять какие тома больше используют кэш, а каким он в принципе не нужен.

Куда больше информации можно получить, запустив AWA. Это часть ONTAP. Появилась эта функциональность в Data ONTAP 8.2.1 и доступна для 7-mode и cluster-mode. AWA собирает и анализирует статистику по определенному агрегату. На основе собранных данных рекомендует оптимальный размер SSD-кэша, показывает предполагаемые показатели cache hit rate для рекомендуемой ёмкости Flash Pool и аналогичные показатели при меньшем размере кэша. С выходом Data ONTAP 8.3.1 можно посмотреть информацию в разрезе томов на агрегате.

AWA — это по сути 3 node-shell команды:

- wafl awa start
- wafl awa print
- wafl awa stop

Вот как это выглядит на практике (вывод можно копировать):

Последовательность действий следующая. Сначала мы запускам AWA для агрегата. Ждём 24 часа, а ещё лучше несколько дней. Останавливаем работу AWA. Желательно, чтобы в период работы AWA на СХД была типичная нагрузка. В процессе можно смотреть результаты работы, используя wafl awa print. Можно запускать анализ сразу нескольких агрегатов одновременно. Максимально работа AWA “отъест” 2% CPU, независимо от количества анализируемых агрегатов и не более 0.2% от кэша контроллера на каждый агрегат.

Для просмотра информации по томам используется опция -t. Если добавить после неё число n, то выведется информация по n самым нагруженным томам.

AWA можно запускать на агрегатах, где уже используется Flash Pool.

Само собой, результат работы AWA, показанный выше далёк от того, что можно увидеть в реальной жизни. Я запускал это на симуляторе.

Вот например, как выглядят результаты работы AWA на «боевой» системе после сбора статистики в течение 2 недель. Это FAS8040 у клиента, который предоставляет облачные услуги.

### FP AWA Stats ###

                     Host NA-Store-A                    Memory 28342 MB
            ONTAP Version NetApp Release 8.2.1 Cluster-Mode: Fri Mar 21 14:48:58 PDT 2014
              AWA Version 1
           Layout Version 1
               CM Version 1

Basic Information

                Aggregate aggr_SAS
             Current-time Fri May 13 15:14:56 FET 2016
               Start-time Fri Apr 29 00:21:37 FET 2016
      Total runtime (sec) 1263213
    Interval length (sec) 600
          Total intervals 2111
        In-core Intervals 1024

Summary of the past 1023 intervals
                                   max
          Read Throughput      247.095 MB/s
         Write Throughput      274.819 MB/s
       Cacheable Read (%)       78.298 %
      Cacheable Write (%)       35.510 %
 Max Projected Cache Size     5888.973 GB
   Projected Read Offload       60.000 %
  Projected Write Offload       28.000 %

Summary Cache Hit Rate vs. Cache Size

       Size        20%        40%        60%        80%       100%
   Read Hit     46.000     52.000     55.000     59.000     60.000
  Write Hit     26.000     26.000     26.000     26.000     28.000

The entire results and output of Automated Workload Analyzer (AWA) are
estimates. The format, syntax, CLI, results and output of AWA may
change in future Data ONTAP releases. AWA reports the projected cache
size in capacity. It does not make recommendations regarding the
number of data SSDs required. Please follow the guidelines for
configuring and deploying Flash Pool; that are provided in tools and
collateral documents. These include verifying the platform cache size
maximums and minimum number and maximum number of data SSDs.

### FP AWA Stats End ###

Что мы можем понять из этого вывода?

  • Read throughput and write throughput: Это максимальные показатели throughput из всех 10-минутных интервалов. Учитывается случайная и последовательная нагрузки.
  • Cacheable read and cacheable write: Это показатели из интервала, который имеет максимальные значения cache hit. Причём это может быть интервал отличный от интервала из предыдущего пункта. Flash Pool кэширует все случайные операции чтения на агрегате, то есть Cacheable Read (%) это процент случайного чтения с агрегата. Значение Cacheable Write (%) показывает операции записи, которые могут попасть в Flash Pool при использовании политики по-умолчанию “random-write” (это случайные операции перезаписи). Вообще про работу Flash Pool и доступные политики я сделаю отдельный пост. Когда-нибудь.
  • Max projected cache size: Это то, ради чего и запускается AWA — рекомендуемый размер кэша для агрегата. Чем дольше работал AWA, тем выше это значение может быть.
  • Summary cache hit rate vs. cache size: Это таблица показывает показатели cache hit при использовании меньшего объема кэша, чем указано в Max projected cache size. Иногда на значение Max projected cache size может влиять нетипичная нагрузка в течение некоторых интервалов. И в таблице можно будет увидеть, что меньшее количество кэша может дать такую же выгоду.

Рекомендую не забывать использовать AWA с новыми только настраиваемыми системами с SSD под Flash Pool. NetApp не даёт возможности удалить диски из агрегатов, в том числе используемые для кэша, без разрушения агрегата. Поэтому, чтобы в будущем не было “мучительно больно” из-за неправильного распределения кэша, лучше разбить диски по агрегатам, а добавление кэша отложить. В течение пары недель собрать статистику с помощью AWA, и на основе этой информации оптимально сконфигурировать Flash Pool.

AWA можно использовать и для сайзинга Flash Cache. Для этого надо обращать внимание только на показатели связанные с чтением, так как Flash Cache работает только как кэш на чтение.





Поделиться
Отправить
2016   AWA   Flash Cache   Flash Pool   SSD   tutorial
Популярное