Tuning du cache ZFS ARC

Proxmox définit par défaut zfs_arc_max à 50% de la RAM système, plafonné à 16 GiB. Sur un hôte de laboratoire domestique 64 GiB exécutant quatre machines virtuelles, c’est rarement ce que vous voulez réellement, et la mauvaise valeur ici affame silencieusement vos machines virtuelles de RAM dès qu’une sauvegarde consommant beaucoup d’ARC commence. Les meilleures applications pour le tuning du cache ZFS ARC sur desktop et serveurs de laboratoire domestique vous donnent les deux choses dont vous avez besoin pour prendre la décision : taux de succès actuel et dimensionnement conscient de l’espace disponible.

Nous avons testé sept choix, tous exécutables sur Linux (où OpenZFS réside réellement), plusieurs avec des clients Windows et macOS pour le côté du tableau de bord. Six sont gratuits. Les sept s’associent bien à un laboratoire domestique Proxmox.

Ce qu’il faut chercher

Chaque outil de cette liste doit répondre à trois questions pour votre tuning ARC :

Les choix se divisent en trois groupes : les outils CLI livrés avec OpenZFS, les tableaux de bord qui visualisent les données CLI, et les outils d’orchestration qui gèrent l’état ARC aux côtés des snapshots.

Comparaison rapide

Application Meilleur pour Plateformes Plan gratuit Prix de départ Licence
arc_summary Ventilation détaillée d’ARC Linux, FreeBSD, macOS Oui Gratuit CDDL
arcstat Suivi ARC en temps réel Linux, FreeBSD Oui Gratuit CDDL
zpool iostat Statistiques E/S au niveau du pool Linux, FreeBSD, macOS Oui Gratuit CDDL
Cockpit Tableau de bord web pour alternative Proxmox Linux Oui Gratuit LGPL
Netdata Graphiques ARC en temps réel Linux, macOS, FreeBSD Oui Niveau gratuit GPL / cloud
Prometheus + Grafana Tableaux de bord historiques complets Linux, interface multiplateforme Oui Gratuit Apache 2
Sanoid Coordination des snapshots + ARC Linux Oui Gratuit GPLv3

1. arc_summary – Meilleure ventilation détaillée d’ARC

arc_summary est livré avec OpenZFS et est la commande la plus utile pour le tuning ARC. Exécuter arc_summary affiche le ratio de succès, l’équilibre MFU vs MRU, l’efficacité du préchargement et le statut L2ARC tous dans un rapport. Sur Proxmox VE 8.x et 9.x, c’est déjà installé.

Où il est insuffisant : CLI uniquement. Pas de données historiques (c’est un snapshot de “maintenant”).

Tarification :

Plateformes : Linux, FreeBSD, macOS où OpenZFS est installé.

Téléchargement : Inclus dans le paquet zfsutils-linux sur Debian/Proxmox. Voir openzfs.org.

Conclusion : Commencez chaque session de tuning en exécutant ceci. Tout le reste est optionnel.

2. arcstat – Meilleur pour le suivi ARC en temps réel

arcstat est le compagnon en temps réel d’arc_summary. Exécuter arcstat 1 vous donne une vue par seconde du ratio de succès, des succès MRU/MFU et du pourcentage de succès à la demande. Parfait pour observer l’effet du changement de taille ARC en temps réel.

Où il est insuffisant : CLI uniquement. La sortie avec beaucoup de colonnes nécessite plusieurs lectures pour être comprise.

Tarification :

Plateformes : Linux, FreeBSD.

Téléchargement : Inclus dans le paquet zfsutils-linux.

Conclusion : Meilleur choix pour confirmer qu’une modification du tuning ARC a réellement aidé, immédiatement.

3. zpool iostat – Meilleures statistiques E/S au niveau du pool

zpool iostat complète le trio CLI. Là où arc_summary et arcstat couvrent le cache, zpool iostat montre le pool en dessous : opérations lecture/écriture, bande passante et latence par vdev. C’est ainsi que vous distinguez “ARC est sous-dimensionné” de “le pool lui-même est lent.”

Où il est insuffisant : CLI uniquement. Nécessite que vous interprétiez les chiffres de latence.

Tarification :

Plateformes : Linux, FreeBSD, macOS.

Téléchargement : Inclus avec OpenZFS.

Conclusion : L’outil qui vous dit si le tuning ARC aidera réellement, ou si votre goulot d’étranglement se trouve ailleurs.

4. Cockpit – Meilleur tableau de bord web pour alternative Proxmox

Cockpit est le tableau de bord serveur basé sur le web de Red Hat, et son plugin ZFS expose le statut ARC, la santé du pool et les propriétés du dataset via une interface de navigateur. Si vous exécutez TrueNAS SCALE, Cockpit est la console web naturelle pour les hôtes non-TrueNAS.

Où il est insuffisant : Pas aussi poli que l’interface web TrueNAS. La couverture du plugin ZFS est basique comparée à la profondeur CLI.

Tarification :

Plateformes : Linux (serveur). N’importe quel navigateur (client).

Téléchargement : cockpit-project.org

Conclusion : Meilleur choix si vous voulez une interface web qui n’est pas celle de Proxmox lui-même.

5. Netdata – Meilleur pour les graphiques ARC en temps réel

Netdata collecte des centaines de métriques par seconde et son module ZFS rend le ratio de succès ARC, la taille et les taux d’éviction sous forme de graphiques de diffusion en temps réel. Le niveau gratuit s’exécute entièrement sur votre machine et n’appelle jamais à la maison. Le niveau cloud est optionnel pour l’agrégation multi-hôte.

Où il est insuffisant : L’interrogation agressive par défaut peut ajouter une charge CPU mesurable sur les hôtes de faible puissance. Les fonctionnalités cloud sont la voie payante.

Tarification :

Plateformes : Linux, FreeBSD, macOS.

Téléchargement : netdata.cloud

Conclusion : Meilleur choix si vous voulez des graphiques ARC de diffusion en temps réel sans configurer Prometheus et Grafana vous-même.

6. Prometheus + Grafana – Meilleur pour les tableaux de bord historiques complets

Prometheus + Grafana est la combinaison standard de l’industrie pour le suivi historique. Le projet communautaire zfs_exporter scrape les statistiques ARC et pool, Prometheus les stocke, et Grafana les rend avec des tableaux de bord que vous pouvez partager (ou tirer de la communauté).

Où il est insuffisant : La configuration n’est pas une commande. Vous exécutez trois services (exportateur, Prometheus, Grafana) et configurez la rétention.

Tarification :

Plateformes : Linux pour les collecteurs ; navigateur (Windows, macOS, Linux) pour Grafana.

Téléchargement : prometheus.io, grafana.com, github.com/pdf/zfs_exporter

Conclusion : Meilleur choix si vous voulez suivre le ratio de succès ARC sur des mois, pas des minutes.

7. Sanoid – Meilleur pour la coordination des snapshots et ARC

Sanoid gère les snapshots ZFS, et son compagnon Syncoid gère la réplication. Aucun des deux ne règle directement l’ARC, mais l’horaire de Sanoid façonne la pression ARC : une cadence de snapshots agressive génère une agitation du cache. Lire la configuration de Sanoid à côté de votre ratio de succès ARC est comment vous capturez “notre ARC est bon sauf à 2 heures du matin quand les snapshots arrivent.”

Où il est insuffisant : Pas un outil ARC en soi. Utile seulement comme partie d’un tableau complet des opérations ZFS.

Tarification :

Plateformes : Linux.

Téléchargement : github.com/jimsalterjrs/sanoid

Conclusion : Choisissez ceci si votre ratio de succès ARC est bon toute la journée mais baisse pendant les fenêtres de snapshots.

Comment choisir le bon

FAQ

Quelle est la bonne taille pour ZFS ARC sur Proxmox ?

Réservez de la RAM pour vos machines virtuelles et Proxmox lui-même (2 à 4 GiB), et donnez à ZFS le reste. Sur un hôte 64 GiB exécutant deux machines virtuelles 24 GiB, c’est environ 12 GiB pour ARC. Commencez de manière conservatrice et augmentez si arc_summary montre un ratio de succès inférieur à 80%.

Comment définir zfs_arc_max sur Proxmox ?

Créez /etc/modprobe.d/zfs.conf avec la ligne options zfs zfs_arc_max=BYTES, puis exécutez update-initramfs -u et redémarrez. Remplacez BYTES par votre valeur choisie en octets bruts.

L2ARC vaut-il le coup ?

Seulement si votre ratio de succès ARC est déjà supérieur à 90% et que vous voyez des misses fréquentes. Au-dessous de cela, vous voulez plus de RAM pour l’ARC principal. Si le ratio de succès L2ARC reste en dessous de 20%, les emplacements SSD sont mieux utilisés pour un vdev spécial ou un miroir de pool.

Qu’est-ce que arc_summary et comment l’exécuter ?

arc_summary est un script CLI livré avec OpenZFS. Exécutez-le en tant que root dans le shell Proxmox. Il imprime un rapport ARC complet incluant le ratio de succès, l’équilibre MFU vs MRU et le statut L2ARC.

Pourquoi ma machine virtuelle Proxmox est-elle lente après une grosse sauvegarde ?

Presque toujours une pression d’éviction ARC. La sauvegarde tire de grands volumes à travers le cache et expulse les données chaudes de la machine virtuelle, donc la lecture suivante de la machine virtuelle est un pool hit lent. Regardez arcstat 1 pendant la sauvegarde pour confirmer.