web-dev-qa-db-fra.com

SSD Linux comme cache HDD

J'ai un système de serveur Linux installé sur un SSD et un disque dur pour les données utilisateur. Comme il reste de l'espace sur le SSD, je veux l'utiliser comme cache de lecture pour le disque dur.

En regardant les possibilités, j'ai trouvé:

  • dm-cache: nécessite beaucoup de lectures avant que la mise en cache ne montre des améliorations de performances selon https://www.redhat.com/en/blog/improving-read-performance-dm-cache . Je pense que dans mon cas d'utilisation, ce n'est pas une bonne stratégie.

  • lvmcache: s'appuie sur dm-cache et je devrais mettre SSD et HDD dans un LV. J'aimerais garder le cache transparent, donc je peux facilement mais le disque dur dans un autre système sans avoir à faire de magie LVM au préalable.

  • Bcache: J'aurais besoin de formater le disque dur pour Bcache. Pas ce que je veux.

  • Flashcache: Sonne comme ce que je veux (allumez-le simplement), mais n'est plus maintenu activement selon https://github.com/facebookarchive/flashcache .

  • EnhanceIO: s'appuie sur Flashcache, mais mort depuis 2015.

Existe-t-il quelque chose de similaire à Flashcache ou EnhanceIO, mais toujours activement maintenu?

7
GxB

EnhanceIO est toujours maintenu par la communauté. Il y a un fork de lanconnected qui a été corrigé pour les noyaux récents et quelques autres fourches avec les derniers commits à peu près au même moment (avril 2019). Je l'utilise avec btrfs sur Arch via dkms depuis quelques années et je n'ai remarqué aucun problème majeur.

2
Nattgew

C'est une étude décente des caches de blocs du noyau Linux. Parmi ceux-ci, je ne considère que lvmcache et bcache: intégrés dans le noyau et documentés par des distributions stables.

Les deux nécessitent un format pour les métadonnées, ce qui ne sera pas facile à éviter.

Le déplacement de disques vers un autre système est relativement facile si le système cible prend également en charge la mise en cache. Les distributions compatibles LVM analysent les volumes, sinon automatiquement avec une simple commande. Similaire à bcache.

Dans les deux cas, montez les volumes par UUID ou étiquette du système de fichiers, en vous éloignant de la numérotation des périphériques.

Procédures de test pour supprimer le cache dans les scénarios planifiés et non planifiés. Tels que bcache en mode passthrough détaché. Une fois que vous pouvez récupérer uniquement le disque de sauvegarde sans son cache, plus besoin de revenir à un disque brut de pré-cache.

0
John Mahowald

Je suggérerais de redimensionner la partition et de créer le système dessus ou d'utiliser un disque dur USB et de le déployer là-bas temporairement?

0
djdomi