У меня дома простая настройка 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, но я не знаю, с чего начать.
Ответы:
Вот скрипт, который был обновлен для отражения данных в L2ARC.
Смотрите: http://blog.harschsystems.com/2010/09/08/arcstat-pl-updated-for-l2arc-statistics/
Источник доступен здесь: https://github.com/mharsch/arcstat
источник
Возможно, я бы поспорил, что вам следует заботиться не о том, что находится в кеше, а о том, были ли кешированы наиболее эффективные вещи. Т.е. кэш ARC используется максимально эффективно?
Я запускаю небольшую (9TB) реализацию ZFS на работе и считаю инструмент Бена Роквуда arc_summary.pl и Sun arcstat.pl , оба подробно описанные в этом посте cuddletech , очень полезными.
Я знаю, что он не дает прямого ответа на ваш вопрос о том, что именно находится в кеше ARC, но они должны дать вам точные данные о том, как используется ваш кеш, и требуется ли вам больше памяти / места на SSD.
источник