Des personnes par ici ont de l'expérience avec l'utilisation combinée de #bcache et #btrfs ?
Vous auriez des retours d'expérience et conseils / recommandations ?

C'est pertinent comme cache en lecture (surtout) si on a une asymétrie du style 500Go de SSD pour >10To de HDD ?
Il me semble que pour mon cas d'usage c'est la lecture aléatoire qui est la plus pénalisante.

1/3

En particulier je m'interroge sur l'intérêt de cette solution pour le cas d'un stockage sur disque dur d'un ensemble de fichiers de quelques Mo (pour la majorité), type collection de photos, pour gagner en performances pour le parcours (donc la lecture) de la collection.
Mon soucis principal est que l'accès initial à la racine de la collection (des centaines de dossier examinés pour affichage) est très lent. Ça aiderait ?

2/3

L'ensemble n'est pas un pur archivage (peu d'écriture) car cela sert aussi de répertoire de travail, mais cela reste principalement beaucoup de lecture et ponctuellement des écritures conséquentes et plutôt séquentielles (ajouts de quelques Go d'un coup).

Et je crois comprendre que de toute façon btrfs a déjà des mécanismes aidant à convertir de petites écritures aléatoires en un lot séquentiel.
3/3

@Lapineige

Vu ce que tu décris, ça me fait penser à un cas similaire : de très très nombreux fichiers et répertoires sur un disque mécanique pas forcément très rapide, rendant l'usage laborieux.
Une solution qui a vraiment améliorée les choses a été de déporter les metadata sur un stockage rapide.

As tu exploré cette piste ?

@AntoineVe on peut avec Btrfs mettre les métadonnées sur un SSD et les données sur les disques durs ?
Il me semblait qu'on avait pas de contrôle sur la localisation des données 🤔

@Lapineige

En effet, ce n'est pas (encore ?) intégré au noyau, mais c'est possible : https://wiki.tnonline.net/w/Btrfs/Allocator_Hints

D'autres fs offrent aussi ce genre de choses, mais j'ai cru comprendre que tu souhaites rester avec btrfs.

Les solutions bcache ou lvm-cache sont aussi une option. J'ai déjà utilisé bcache en production, très efficace. Je n'ai pas d'expérience avec lvm-cache

Allocator Hints for Btrfs | Forza's Ramblings

Allocator hints in Btrfs allow prioritisation of devices for data and metadata, improving performance and flexibility.

Forza's Ramblings
@AntoineVe merci, je vais creuser.
Pour bcache, tu l'as utilisé dans quel contexte ? En terme de quantité de données vs de cache, de type de données et d'accès, de configuration (cache en lecture...).