Outils de mise en cache SSD NAS

Chaque fil de forum NAS finit par poser la même question: l’ajout d’un cache SSD aide-t-il vraiment? La réponse honnête dépend de si votre charge de travail relit les mêmes fichiers assez souvent pour réchauffer le cache, et si vous pouvez mesurer le taux de succès pour le prouver. La plupart des gens ajoutent le SSD, ne voient pas de changement évident, et blâment le matériel.

Cette semaine, nous avons reconstruit les configurations de cache sur trois plates-formes NAS différentes pour tester quels outils aident vraiment. Cet article couvre sept applications qui implémentent la mise en cache SSD, l’ajustent, ou mesurent si cela fait quelque chose d’utile. Choisissez celles qui correspondent à votre système d’exploitation NAS et à votre charge de travail avant de dépenser plus de stockage flash.

Ce qu’il faut rechercher dans un outil de mise en cache SSD

Une mauvaise configuration de cache rend les écritures plus lentes et les lectures pas plus rapides. Quelques critères séparent les outils utiles de la pensée souhaitée.

Comparaison rapide

Application Idéal pour Plates-formes Plan gratuit Prix de départ/mois Note
TrueNAS SCALE ZFS L2ARC + SLOG Linux (appliance) Entièrement gratuit Gratuit (Enterprise disponible) 4.7
Unraid Pool de cache pour partages utilisateurs Linux Essai Environ $50 Basic unique 4.6
Synology DSM Cache SSD NAS grand public Matériel Synology Inclus N/A (matériel) 4.5
OpenZFS CLI Contrôle fin de la mise en cache Linux, macOS, FreeBSD Entièrement gratuit Gratuit 4.6
bcachefs Mise en cache de blocs moderne Linux 6.7+ Entièrement gratuit Gratuit 4.2
LVM Cache Couche de blocs Linux existante Linux Entièrement gratuit Gratuit 4.1
Netdata Surveillance du taux de succès du cache Linux, macOS, Windows Niveau gratuit Environ $5/mois Cloud 4.6

Les applications

1. TrueNAS SCALE — Idéal pour la mise en cache basée sur ZFS avec GUI

TrueNAS SCALE expose à la fois L2ARC (cache de lecture) et SLOG (journal d’écriture synchrone) en tant qu’opérations GUI de première classe. Ajoutez un appareil NVMe, assignez-le à un pool, et les statistiques ARC apparaissent sur le tableau de bord. Le graphique du taux de succès vous indique en un jour si le cache en vaut la peine.

L2ARC persistant survit aux redémarrages depuis OpenZFS 2.0, donc le problème de préchauffage a disparu. SCALE est livré avec des valeurs par défaut sensées pour les charges de travail intensives en métadonnées par rapport aux données.

Où il échoue: L2ARC a besoin de suffisamment d’ARC (cache RAM principal) pour le suivre. La RAM insuffisante rend L2ARC contre-productif. Règle de base: 1 Go RAM par 40 Go L2ARC.

Tarification:

Plates-formes: Linux (s’exécute en tant que système d’exploitation appliance dédié)

Télécharger: TrueNAS SCALE

Conclusion: Le choix par défaut si vous voulez une mise en cache ZFS sans éditer les fichiers de configuration. Choisissez L2ARC métadonnées uniquement pour les petits SSD, miroir SLOG dédié pour les charges de travail synchrones à écriture intensive.

2. Unraid — Idéal pour les pools de cache de partages utilisateurs

Unraid fait la mise en cache différemment: au lieu de cache au niveau des blocs, il utilise des SSD rapides comme zone d’atterrissage pour les écritures qu’un moteur planifié décharge ensuite dans le tableau. La mise en cache en lecture se produit implicitement parce que les fichiers récemment écrits restent en cache jusqu’à ce que le moteur s’exécute.

La version 7.x a ajouté plusieurs pools de cache nommés, donc vous pouvez dédier un NVMe à appdata (conteneurs Docker), un autre aux images VM, et un autre aux écritures multimédia.

Où il échoue: Pas un vrai cache de lecture pour les données froides. Les fichiers non écrits récemment et pas en appdata ne bénéficient pas. Les pertes du pool de cache peuvent perdre les écritures en vol si elles ne sont pas miroitées.

Tarification:

Plates-formes: Linux (appliance dédié)

Télécharger: Unraid

Conclusion: Idéal pour les utilisateurs Docker et VM. Le modèle de pool nommé signifie que chaque charge de travail obtient son propre emplacement de cache, ce qui évite le problème “le cache est plein d’une chose”.

3. Synology DSM — Meilleure mise en cache NAS grand public

DSM sur n’importe quel Synology avec emplacements M.2 supporte le cache de lecture SSD et le cache lecture-écriture prêts à l’emploi. L’assistant Storage Manager vous guide dans la création d’un cache métadonnées uniquement (petits SSD, grand impact sur les opérations de répertoire) ou d’un cache de données complet (SSD plus grands, aide les lectures répétées).

L’outil Cache Advisor observe votre charge de travail pendant une semaine et vous dit si l’ajout de cache aiderait réellement avant que vous n’achetiez le SSD.

Où il échoue: Verrouillé sur les lecteurs Synology sur certains modèles (DSM 7.2+). Cache Advisor n’est précis que si votre charge de travail au cours de la semaine d’essai correspond à votre utilisation normale.

Tarification:

Plates-formes: Matériel Synology NAS

Télécharger: Inclus avec Synology DSM

Conclusion: Si vous possédez déjà un Synology avec emplacements M.2, exécutez Cache Advisor avant de dépenser de l’argent. Cela vous sauve du piège “$100 SSD n’a pas aidé”.

4. OpenZFS CLI — Idéal pour un contrôle granulaire

Pour tout ce que l’interface graphique de TrueNAS abstrait, la ligne de commande OpenZFS vous permet de régler manuellement. arc_summary imprime le taux de succès ARC, zpool iostat -v affiche la latence par appareil, et zfs get all expose chaque paramètre y compris l2arc_write_max, l2arc_write_boost et l2arc_headroom.

Pour L2ARC métadonnées uniquement, définissez secondarycache=metadata sur l’ensemble de données. Le cache utilise environ 10% de l’espace qu’un cache de données complète nécessiterait pour le même ensemble de travail.

Où il échoue: Courbe d’apprentissage raide. Les mauvais réglages peuvent nuire aux performances plus qu’aucun cache du tout.

Tarification:

Plates-formes: Linux, macOS, FreeBSD, illumos

Télécharger: OpenZFS

Conclusion: Utilisez ceci pour les 10% finaux de réglage après que TrueNAS ou DSM fasse les 90% premiers.

5. bcachefs — Meilleure mise en cache de blocs modernes sur Linux

bcachefs a été fusionné dans le noyau Linux en 6.7 et offre un modèle de cache plus proche de ZFS mais construit sur des primitives Linux modernes. Vous pouvez assigner des SSD et des HDD à un système de fichiers et laisser bcachefs promouvoir automatiquement les données chaudes vers un stockage rapide, par fichier si vous définissez le drapeau.

La réplication et la compression sont aussi par fichier, ce qui est utile pour un NAS avec des charges de travail mixtes (les archives de sauvegarde compressées et mises en cache moins agressivement que les fichiers de travail quotidiens).

Où il échoue: Plus récent que ZFS, donc l’outillage de récupération est plus mince. Les distributions NAS communautaires (TrueNAS, Unraid) ne le soutiennent pas encore officiellement.

Tarification:

Plates-formes: Linux 6.7 et ultérieures

Télécharger: bcachefs

Conclusion: Choisissez ceci si vous construisez votre propre NAS à partir de Linux standard et voulez du stockage hiérarchisé sans les exigences de mémoire de ZFS. Attendez un an si vous voulez une stabilité au niveau de l’appliance.

6. LVM Cache — Idéal pour les configurations LVM existantes

LVM cache transforme un SSD existant en cache writeback ou writethrough devant un volume LVM plus lent. Il utilise dm-cache dessous et s’intègre à n’importe quel système de fichiers dessus.

Pour un NAS Debian ou Ubuntu qui utilise déjà LVM pour la gestion des volumes, l’ajout d’un cache est trois commandes. Aucune reconstruction de système de fichiers nécessaire.

Où il échoue: Pas d’interface graphique de surveillance intégrée. Le taux de succès du cache nécessite de lire /proc ou la sortie dmsetup. Le mode writeback risque une perte de données en cas d’échec du cache.

Tarification:

Plates-formes: Linux

Télécharger: Inclus avec LVM2

Conclusion: Meilleur choix pour un NAS Linux standard qui utilise déjà LVM. Ignorez si vous exécutez ZFS ou Btrfs; ceux-ci ont une mise en cache native.

7. Netdata — Idéal pour mesurer si le cache aide réellement

Netdata surveille le taux de succès ZFS ARC, le taux de succès L2ARC, les métriques dm-cache, les statistiques bcache et les statistiques Btrfs dans un seul tableau de bord. Il prélève par seconde et stocke des mois d’historique.

Si vous avez ajouté un cache SSD à votre NAS et ne pouvez pas déterminer si cela aide, installez Netdata. En un jour, vous avez un graphique qui vous dit exactement à quelle fréquence le cache sert les lectures au lieu du disque sous-jacent.

Où il échoue: Niveau gratuit par nœud; la surveillance multi-nœuds veut Netdata Cloud (toujours gratuit pour personnel). Courbe d’apprentissage sur les graphiques qui importent.

Tarification:

Plates-formes: Linux, macOS, Windows, FreeBSD

Télécharger: Netdata

Conclusion: Installez ceci sur n’importe quel NAS avec cache. Le numéro de taux de succès vous indique en 48 heures si le cache vaut la peine de garder.

Comment choisir celui qui convient

Si vous voulez l’option la plus simple: Synology ou TrueNAS SCALE. Tous deux gèrent L2ARC et les pools de cache via une interface graphique sans fichiers de configuration.

Si vous avez besoin du réglage maximal: OpenZFS CLI sur FreeBSD ou Linux, superposé au-dessus de TrueNAS pour l’interface graphique où possible.

Si vous êtes sur un budget: LVM cache sur Ubuntu Server standard avec un petit NVMe. Gratuit, sans licence, fonctionne avec n’importe quel matériel.

Si vous êtes un utilisateur avancé qui veut du stockage hiérarchisé: bcachefs. Le plus récent, le plus flexible, le moins éprouvé au combat.

Si vous avez déjà essayé d’ajouter un cache et cela n’a pas aidé: installez Netdata d’abord avant d’acheter un autre SSD. Les métriques montrent généralement que l’ensemble de travail est déjà dans la RAM, ou que la charge de travail ne relit pas.

FAQ

Quelle est la meilleure configuration gratuite de cache SSD NAS? TrueNAS SCALE pour une expérience d’appliance complète, LVM cache pour un NAS Linux bricolé. Les deux sont gratuits sans licence requise.

L’ajout d’un cache SSD accélère-t-il toujours un NAS? Non. Si votre charge de travail écrit une seule fois et ne relit jamais, ou lit un ensemble de travail qui rentre déjà dans la RAM, le cache ne fait rien. Mesurez avec Netdata ou les statistiques ZFS ARC pendant une semaine avant de dépenser.

Dois-je utiliser un cache de lecture ou un cache lecture-écriture? Le cache de lecture est sûr et moins cher. Le cache lecture-écriture a besoin de miroir (deux SSD) pour survivre à une défaillance de l’appareil. À moins que vous ayez des besoins spécifiques de latence d’écriture, commencez par la lecture.

Combien de SSD ai-je besoin pour L2ARC? Règle de base: 5 à 10 fois votre ensemble de travail actif. Pour L2ARC métadonnées uniquement, 1 à 2% de la taille totale du pool est suffisant. L2ARC surdimensionné gaspille les frais généraux de gestion du cache.

Quelles applications de cache NAS fonctionnent avec Btrfs? Btrfs n’a pas de mise en cache SSD native. Utilisez LVM cache ou dm-cache sous le volume Btrfs, et surveillez avec le module dm-cache de Netdata.

Les caches SSD s’usent-ils rapidement? Les caches d’écriture s’usent le plus rapidement, surtout SLOG sur ZFS. Choisissez des SSD enterprise avec une note TBW élevée et surveillez l’endurance avec smartctl ou Netdata. Les caches de lecture s’usent à des taux normaux.