
Proxmox по умолчанию устанавливает zfs_arc_max на 50% системной памяти, максимум 16 ГиБ. На хосте домашней лаборатории с 64 ГиБ памяти, работающем с четырьмя виртуальными машинами, это редко то, что вам нужно, и неправильное значение здесь незаметно голодает ваши виртуальные машины оперативной памяти, как только начинается резервная копия с интенсивным использованием ARC. Лучшие приложения для настройки кэша ZFS ARC на настольных компьютерах и серверах домашних лабораторий дают вам две вещи, которые вам нужны, чтобы принять решение: текущий коэффициент попадания и выбор размера с учетом доступной памяти.
Мы протестировали семь вариантов, все работают на Linux (где на самом деле находится OpenZFS), несколько имеют клиентов для Windows и macOS на стороне панели управления. Шесть бесплатных. Все семь хорошо подходят для домашней лаборатории Proxmox.
На что обратить внимание
Каждый инструмент в этом списке должен ответить на три вопроса по настройке ARC:
- Какой коэффициент попадания ARC прямо сейчас? Ниже 80% и ваш кэш недостаточного размера. Выше 98% и вы можете переалоцировать памяти, которую может использовать виртуальная машина.
- Какой размер должен быть ARC? Правило большого пальца: зарезервируйте выделения виртуальных машин плюс 2–4 ГиБ для хоста Proxmox, а остальное — это ваш бюджет ZFS. Начните с 6–10 ГиБ на хосте с 64 ГиБ.
- Как оказывается давление на ARC? Скорость вытеснения MFU против MRU, статистика предвыборки и коэффициент попадания L2ARC, если он у вас есть.
Выборки разделены на три группы: инструменты командной строки, которые входят в OpenZFS, панели управления, которые визуализируют данные CLI, и инструменты оркестровки, которые управляют состоянием ARC вместе со снимками.
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатный план | Начальная цена | Лицензия |
|---|---|---|---|---|---|
| arc_summary | Подробная сводка ARC | Linux, FreeBSD, macOS | Да | Бесплатно | CDDL |
| arcstat | Мониторинг ARC в реальном времени | Linux, FreeBSD | Да | Бесплатно | CDDL |
| zpool iostat | Статистика ввода-вывода на уровне пула | Linux, FreeBSD, macOS | Да | Бесплатно | CDDL |
| Cockpit | Веб-панель управления для альтернативы Proxmox | Linux | Да | Бесплатно | LGPL |
| Netdata | Графики ARC в реальном времени | Linux, macOS, FreeBSD | Да | Бесплатный уровень | GPL / облако |
| Prometheus + Grafana | Полные исторические панели управления | Linux, кроссплатформенный интерфейс | Да | Бесплатно | Apache 2 |
| Sanoid | Координация снимков + ARC | Linux | Да | Бесплатно | GPLv3 |
1. arc_summary – Лучшая подробная сводка ARC
arc_summary поставляется с OpenZFS и является наиболее полезной командой для настройки ARC. Выполнение arc_summary выводит коэффициент попадания, баланс MFU и MRU, эффективность предвыборки и статус L2ARC в одном отчете. На Proxmox VE 8.x и 9.x он уже установлен.
Где это не так хорошо: Только командная строка. Нет исторических данных (это снимок “прямо сейчас”).
Цены:
- Бесплатно: Да, входит в OpenZFS.
- Платно: Нет.
Платформы: Linux, FreeBSD, macOS, где установлен OpenZFS.
Загрузка: Включено в пакет zfsutils-linux на Debian/Proxmox. См. openzfs.org.
Вывод: Начните каждый сеанс настройки с запуска этого. Все остальное необязательно.
2. arcstat – Лучшее для мониторинга ARC в реальном времени
arcstat — это компаньон в реальном времени к arc_summary. Выполнение arcstat 1 дает вам поминутное представление коэффициента попадания, попаданий MRU/MFU и процента попадания по требованию. Идеально подходит для наблюдения влияния изменения размера ARC в режиме реального времени.
Где это не так хорошо: Только командная строка. Вывод с большим количеством столбцов требует несколько прочтений, чтобы понять.
Цены:
- Бесплатно: Да, входит в OpenZFS.
- Платно: Нет.
Платформы: Linux, FreeBSD.
Загрузка: Включено в пакет zfsutils-linux.
Вывод: Лучший выбор для подтверждения того, что изменение настройки ARC действительно помогло немедленно.
3. zpool iostat – Лучше всего для статистики ввода-вывода на уровне пула
zpool iostat завершает трио командной строки. Где arc_summary и arcstat охватывают кэш, zpool iostat показывает основной пул: операции чтения/записи, пропускную способность и задержку на vdev. Вот как вы различаете “ARC недостаточного размера” от “сам пул медленный”.
Где это не так хорошо: Только командная строка. Требует интерпретации числовых значений задержки.
Цены:
- Бесплатно: Да.
- Платно: Нет.
Платформы: Linux, FreeBSD, macOS.
Загрузка: Включено с OpenZFS.
Вывод: Инструмент, который указывает, поможет ли настройка ARC, или ваше узкое место находится в другом месте.
4. Cockpit – Лучшая веб-панель управления для альтернативы Proxmox
Cockpit — это веб-панель управления сервером от Red Hat, а его плагин ZFS предоставляет статус ARC, здоровье пула и свойства набора данных через интерфейс браузера. Если вы работаете на TrueNAS SCALE, Cockpit является естественной веб-консолью для хостов, отличных от TrueNAS.
Где это не так хорошо: Не так отполирована, как веб-интерфейс TrueNAS. Охват плагина ZFS является базовым по сравнению с глубиной командной строки.
Цены:
- Бесплатно: Да.
- Платно: Нет.
Платформы: Linux (сервер). Любой браузер (клиент).
Загрузка: cockpit-project.org
Вывод: Лучший выбор, если вам нужен веб-интерфейс, который не является собственным Proxmox.
5. Netdata – Лучше всего для графиков ARC в реальном времени
Netdata собирает сотни метрик в секунду, и его модуль ZFS отображает коэффициент попадания ARC, размер и скорость вытеснения как диаграммы потоковой передачи в реальном времени. Бесплатный уровень полностью работает на вашей машине и никогда не связывается домой. Облачный уровень не требуется для агрегации множеством хостов.
Где это не так хорошо: Агрессивное опрашивание по умолчанию может заметно увеличить нагрузку на CPU на хостах с низкой мощностью. Облачные функции — это платный путь.
Цены:
- Бесплатно: Полная локальная установка, на каждый узел.
- Платно: Планы Netdata Cloud начинаются бесплатно с платными уровнями для команд.
Платформы: Linux, FreeBSD, macOS.
Загрузка: netdata.cloud
Вывод: Лучший выбор, если вы хотите потоковые графики ARC в реальном времени без настройки Prometheus и Grafana самостоятельно.
6. Prometheus + Grafana – Лучше всего для полных исторических панелей управления
Prometheus + Grafana — это стандартная отраслевая комбинация для исторического мониторинга. Проект сообщества zfs_exporter скребет статистику ARC и пула, Prometheus сохраняет их, а Grafana отображает их с панелями управления, которыми вы можете делиться (или извлекать из сообщества).
Где это не так хорошо: Установка — не одна команда. Вы работаете три сервиса (экспортер, Prometheus, Grafana) и конфигурируете удержание.
Цены:
- Бесплатно: Все.
- Платно: Grafana Cloud имеет бесплатный уровень и платные уровни.
Платформы: Linux для сборщиков; браузер (Windows, macOS, Linux) для Grafana.
Загрузка: prometheus.io, grafana.com, github.com/pdf/zfs_exporter
Вывод: Лучший выбор, если вы хотите отслеживать коэффициент попадания ARC в течение месяцев, а не минут.
7. Sanoid – Лучше всего для координации снимков и ARC
Sanoid управляет снимками ZFS, а его спутник Syncoid обрабатывает репликацию. Ни один из них напрямую не настраивает ARC, но расписание Sanoid формирует давление ARC: агрессивный ритм снимков создает волнение кэша. Чтение конфигурации Sanoid рядом с вашим коэффициентом попадания ARC — это то, как вы ловите “наш ARC хорош, кроме как в 2 часа ночи, когда начинаются снимки”.
Где это не так хорошо: Не инструмент ARC. Полезно только как часть полной картины операций ZFS.
Цены:
- Бесплатно: Да, GPLv3.
- Платно: Нет.
Платформы: Linux.
Загрузка: github.com/jimsalterjrs/sanoid
Вывод: Выберите это, если ваш коэффициент попадания ARC нормальный в течение дня, но падает во время окон снимков.
Как выбрать правильный
- Начните каждый сеанс настройки с:
arc_summaryиarcstat 1. Ничто иное не заменит эти. - Если вам нужен веб-интерфейс на хосте, не являющемся Proxmox: Cockpit.
- Если вам нужны потоковые графики в реальном времени практически без настройки: Netdata.
- Если вам нужны исторические графики в течение месяцев и агрегация множеством хостов: Prometheus + Grafana с экспортером ZFS.
- Если ваш коэффициент попадания ARC падает в определенные время дня: Sanoid, чтобы проверить, являются ли снимки причиной.
- Если вы работаете на TrueNAS SCALE: Встроенные панели управления TrueNAS охватывают большую часть этого. Обращайтесь к инструментам командной строки только когда панели управления не могут ответить на конкретный вопрос.
- Если вы работаете на Proxmox VE 8.x или 9.x: все вышеприведенное работает. Начните с
arc_summary, так как это уже установлено.
FAQ
Какой правильный размер для ZFS ARC на Proxmox?
Зарезервируйте памяти для ваших виртуальных машин и самого Proxmox (2–4 ГиБ), и дайте ZFS остальное. На хосте с 64 ГиБ, работающем две виртуальные машины по 24 ГиБ, это примерно 12 ГиБ для ARC. Начните консервативно и растите, если arc_summary показывает коэффициент попадания ниже 80%.
Как установить zfs_arc_max на Proxmox?
Создайте /etc/modprobe.d/zfs.conf со строкой options zfs zfs_arc_max=BYTES, затем запустите update-initramfs -u и перезагрузитесь. Замените BYTES на ваше выбранное значение в сырых байтах.
Стоит ли L2ARC?
Только если ваш коэффициент попадания ARC уже выше 90% и вы видите частые промахи. Ниже этого, вам нужна больше памяти для основного ARC. Если коэффициент попадания L2ARC остается ниже 20%, слоты SSD лучше использовать для специального vdev или зеркала пула.
Что такое arc_summary и как его запустить?
arc_summary — это сценарий CLI, который входит в OpenZFS. Запустите его как root в оболочке Proxmox. Он выводит полный отчет ARC, включая коэффициент попадания, баланс MFU и MRU и статус L2ARC.
Почему моя виртуальная машина Proxmox медленная после большой резервной копии?
Почти всегда давление вытеснения ARC. Резервная копия тянет большие объемы через кэш и вытесняет горячие данные виртуальной машины, поэтому следующее чтение виртуальной машины — это медленное попадание пула. Смотрите arcstat 1 во время резервной копии, чтобы подтвердить.