Jai les appareils suivants avec Linux Mint 18.1 sur les ordinateurs portables et GNU / Linux Debian 9 sur le serveur.
(Tous sont 64 bits et avec le bureau Cinnamon.)
Tous les lecteurs sont formatés avec le système de fichiers ext4 ; RAID 1 est effectué en utilisant mdadm
.
-
Ordinateur portable avec 1 SSHD (à ne pas confondre avec le disque dur).
-
Ordinateur portable avec 3 disques: 2 x disques durs grand public en RAID 1 et 1 x SSD.
-
Serveur avec 5 disques: 4 x disques durs dentreprise en deux fois RAID 1 et 1 x SSD.
Jai le système sur ces SSD et je ne défragmenterais jamais un SSD.
La question concerne les HHD et un SSHD.
Jai trouvé un ancien PDF décrivant quelques fonctionnalités supplémentaires pour e4defrag
.
-
Pourquoi le système de fichiers doit être monté, selon ce message derreur lorsque vous essayez de défragmenter un système de fichiers non monté? Je veux comprendre pourquoi:
Filesystem is not mounted
-
Jaimerais avoir implémenté la défragmentation de lespace libre. AFAIK il est actuellement en cours de révision. Est-il possible pour moi par ex. compiler
e4defrag
à partir de la source avec ces options disponibles ou quoi quil en soit?e4defrag -f /deviceOrDirectory
-
Je le ferais aime également utiliser la fonctionnalité de données pertinente:
e4defrag -r /deviceOrDirectory
Jai de nombreuses raisons pertinentes de croire que la fragmentation de ces machines ralentit la vitesse de lecture, exemple:
-
Tiré du serveur avec des disques durs RAID 1 :
[2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ]
-
Tiré de lordinateur portable avec RAID 1 Disques durs:
[29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4: 100% extents: 31 -> 6 [ OK ]
Comme vous pouvez le voir, la défragmentation na même pas pu mettre le fichier de 31 blocs en un seul morceau. Bien sûr, vous pourriez dire quil sagit dun fichier vidéo, donc ce nest pas grave. Vrai, mais seulement dans ce cas.
La commande que jutilise pour démarrer la défragmentation:
-
Sur le serveur:
sudo e4defrag -v /dev/md1
-
Sur lordinateur portable:
sudo e4defrag -v /raid1/
Oui ne semble pas avoir dimportance, que jappelle la commande en utilisant le nom de lappareil ou un répertoire.
Pouvez-vous mindiquer la bonne direction?
Commentaires
- Vous avez des résultats de mesure qui indiquent que la défragmentation est la source dun accès lent? Si oui, lesquels? Dans la majorité des cas, vous navez ‘ pas besoin deffectuer une défragmentation manuelle sur les systèmes de fichiers ext4, à condition quil y ait ‘ assez despace libre pour que lalgorithme dallocation le défragmente automatiquement en fonctionnement normal.
- @dirkt Aucune mesure na été prise jusquà présent. Je ne ‘ t argumenter, que ce soit ou non efficace pour défragmenter le système de fichiers
ext4
. Les questions sont claires: Comment fairee4defrag -r
ete4defrag -f
.
Répondre
e4defrag
a besoin que le système de fichiers soit monté car il demande au pilote du système de fichiers du noyau deffectuer la défragmentation, il ne le fait pas t le faire lui-même.
En ce qui concerne la défragmentation de lespace libre et la défragmentation des fichiers pertinents, les correctifs nont jamais été terminés; la dernière mention sur la liste de diffusion correspondante remonte à 2014 :
Le
e4defrag
est danse2fsprogs
, et le code est toujours maintenu et amélioré. Dmitry Monakhov a en particulier ajouté de nombreux «tests de torture», et trouvé un certain nombre de conditions de race dans le code du noyau sous-jacent. Il a récemment envoyé un refactor du code du noyau qui la considérablement amélioré et (réduit la taille de ext4 de 550 lignes de code).Cela étant dit, il ny a pas eu de véritable développement de fonctionnalités pour
e4defrag
depuis un certain temps. Il y a eu des discussions sur ce que pourraient être les API du noyau pour prendre en charge cette fonctionnalité, mais il ny a jamais eu de proposition dAPI finalisée, encore moins dimplémentation.
Je doute donc quil y ait quelque chose qui vaille la peine dêtre testé actuellement.
e4defrag --version
dite4defrag 1.45.5 (07-Jan-2020)
.e4defrag
sur le temps. Cest toujours une partie entièrement prise en charge dExt4, mais elle nest pas utilisable dans tous les cas (les systèmes de fichiers avec bigalloc ne peuvent pas être défragmentés, la journalisation des données est incompatible avec la défragmentation, et les inodes DAX et les fichiers cryptés ne peuvent pas être déplacés).