J'utilise le système de dossiers personnels chiffrés d'Ubuntu depuis un certain temps maintenant et je n'ai pas vraiment remarqué de ralentissements, sauf dans deux cas spécifiques.
du -s
dans mon dossier personnel, cela prend plusieurs fois plus de temps que lorsque vous le faites sur les mêmes données sur une partition non chiffrée.Les deux semblent avoir à voir avec l'accès à plusieurs milliers de fichiers sans vraiment lire aucune de leurs données, ce qui semble signifier que le système devra traverser beaucoup, beaucoup d'inodes. Je ne vois pas pourquoi cela serait plus lent sur ecryptfs que lorsque vous n'utilisez pas le cryptage, car cela devrait toujours être lié aux IO plutôt qu'au CPU, même si les inodes sont tous cryptés.
Quelqu'un a-t-il une idée?
Voici pourquoi, basé sur une explication par l'un des principaux développeurs canoniques:
Obtenir une liste de tous les noms de fichiers dans un répertoire nécessite le décodage, l'analyse et le décryptage des noms de fichiers inférieurs.
Les appels stat () de du cause une recherche, ce qui nécessite d'allouer un inode eCryptfs, de lire une partie des métadonnées de fichier inférieures, de vérifier qu'il s'agit bien d'un fichier eCryptfs, puis d'analyser la taille du fichier non crypté pour définir le champ i_size de l'inode eCryptfs . Gardez à l'esprit que la lecture des métadonnées à partir du système de fichiers inférieur implique la lecture d'une page dans le cache de pages du système de fichiers inférieur.
En termes simples, le problème n'est pas le taux d'E/S, mais les IOP - un grand nombre d'IOP!
eCryptFS s'améliore à mesure qu'il évolue: comparez les benchmarks Phoronix de 9.1 vs 11.1 .
Vous voudrez peut-être considérer dm-crypt, qui a été historiquement plus rapide et semble toujours avoir un Edge .