Что находится в моих кэшах ZFS ARC и L2ARC?

8

У меня дома простая настройка ZFS, четыре зеркальных диска, 8 ГБ оперативной памяти и 120 ГБ Intel X25-M SSD для L2ARC. Я запустил, а zpool add poolname cache cXtXdXзатем сгенерировал нагрузку и с нетерпением отслеживал процесс прогрева zpool iostat -v mypool. Несколько часов спустя L2ARC заполнен, но что именно было кэшировано?

Могу ли я заглянуть и посмотреть, что находится в моем ARC / L2ARC? Я понимаю, что определенные блоки будут отображаться в нескольких файловых системах (из-за снимков, клонирования или дедупликации), но я все же хотел бы получить статистику, подобную этой:

  • Тип кешируемого блока: метаданные. iSCSI, данные. и т.п.
  • Возраст: как долго каждый блок был в L2ARC
  • Какие файлы: каталоги, в которых содержится некоторое их содержимое
  • Сбой файловой системы: ГБ кэшируется на файловую систему
  • Расположение энергонезависимых копий блоков (которые приводят / vdev)

Я думаю, что zdb и / или dtrace будут инструментами de jour, но я не знаю, с чего начать.

notpeter
источник
3
Есть отличная запись в блоге Брендана Грегга, которая отвечает на некоторые ваши вопросы.
user9517 30.01.11
Проверьте сценарий, указанный в моем ответе.
2012 года
Запись в блоге Брендана Грегга переместилась: ZFS L2ARC
Марко

Ответы:

6

Возможно, я бы поспорил, что вам следует заботиться не о том, что находится в кеше, а о том, были ли кешированы наиболее эффективные вещи. Т.е. кэш ARC используется максимально эффективно?

Я запускаю небольшую (9TB) реализацию ZFS на работе и считаю инструмент Бена Роквуда arc_summary.pl и Sun arcstat.pl , оба подробно описанные в этом посте cuddletech , очень полезными.

Я знаю, что он не дает прямого ответа на ваш вопрос о том, что именно находится в кеше ARC, но они должны дать вам точные данные о том, как используется ваш кеш, и требуется ли вам больше памяти / места на SSD.

growse
источник