Nous utilisons RAID1 + 0 avec md sous Linux (actuellement 2.6.37) pour créer un périphérique md, puis utilisons LVM pour fournir une gestion de volume au-dessus du périphérique, puis utilisons ext4 comme système de fichiers sur les groupes de volumes LVM.
Avec des SSD comme lecteurs, nous aimerions voir les commandes TRIM se propager à travers les couches (ext4 -> LVM -> md -> SSD) vers les périphériques.
Il semble que les noyaux 2.6.3x récents aient ajouté beaucoup de nouveaux supports TRIM liés aux SSD, y compris une couverture beaucoup plus étendue des scénarios de Device Mapper, mais nous n'arrivons toujours pas à le faire fonctionner correctement.
Est-ce encore possible? Si c'est le cas, comment? Sinon, des progrès sont-ils réalisés?
Réponses:
Pas possible, car Linux Soft RAID ne le supporte pas (encore?).
UPD. : Merci à Wodin de m'avoir prévenu - selon lkml.org/lkml/2012/3/11/261 cette fonctionnalité a été
ajoutéerécemment proposée . proposé ! = accepté , cependant.la source
Depuis le 2.6.37, il devrait être présent ( source ). Le noyau ne le fait pas en arrière-plan, le processus de suppression des blocs est actuellement conçu pour être exécuté à la demande (script cron!). Le support Dm-crypt n'existe pas encore.Le 13 janvier 2011, un correctif a été fusionné dans dm-raid1.c qui se lit comme suit:
Je ne suis pas à 100%, mais je pense que c'est la fenêtre de fusion pour 2.6.38.
EXT4 a ajouté un support il y a quelque temps, tout comme LVM. RAID est la seule clé qui n'est pas prise en charge. Au 13/01/2011, il semble que le support ait été ajouté. Recherchez-le dans 2.6.38 ou peut-être 2.6.39.
Le temps a passé et le support TRIM est définitivement inclus dans le noyau 3.7 . Le commit pour RAID10 se lit comme suit :
la source
discard
, c'est ce qu'on appelle dans le noyau Linux. Et ce patch semble faire référence à la suppression.Mdtrim peut avoir besoin de plus de travail:
la source
Vous pouvez utiliser mon script MDTRIM ( https://github.com/Cyberax/mdtrim/ ) pour TRIM l'espace vide sur les RAID ext4 / 3 de niveau 1. Nous le démarrons périodiquement à partir de cron et cela fonctionne très bien pour nous.
L'ajout de la prise en charge d'autres niveaux RAID est possible, mais je n'ai pas le temps (ou le besoin) pour cela.
la source
Comme suggéré ici, vous pouvez utiliser
afin de vérifier si vos blockdevices passent par les commandes discard.
Notez également que la section devices de lvm.conf contient une option issue_discards. Voir
pour plus d'informations.
la source