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 .

  1. Ordinateur portable avec 1 SSHD (à ne pas confondre avec le disque dur).

  2. Ordinateur portable avec 3 disques: 2 x disques durs grand public en RAID 1 et 1 x SSD.

  3. 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 .

  1. 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 
  2. 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 
  3. 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:

  1. Tiré du serveur avec des disques durs RAID 1 :

    [2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ] 
  2. 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:

  1. Sur le serveur:

    sudo e4defrag -v /dev/md1 
  2. 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 faire e4defrag -r et e4defrag -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 dans e2fsprogs, 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.

Commentaires

  • Existe-t-il des informations sur les meilleures pratiques de défragmentation actuelles (2020) sur ext4 – ou une recommandation de ne pas utiliser doutil existant en raison dun manque de fiabilité? Mon e4defrag --version dit e4defrag 1.45.5 (07-Jan-2020).
  • La situation na pas beaucoup changé.Il y a eu un fil de discussion peu de temps après avoir écrit la réponse ci-dessus, qui comprend un résumé de la pertinence de 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).
  • Merci, Stephen. Cela signifie-t-il que la commande est sûre dans le sens où elle va renflouer avant une action éventuellement nuisible afin que je puisse lutiliser sans risque pour mes données? (En gros, je viens de supprimer 750000 fichiers et je me suis demandé si le disque pouvait maintenant être fragmenté (je suppose que oui) et sil fallait le nettoyer ou le laisser.)
  • Comme toute opération de système de fichiers, cest potentiellement dangereux, donc ne lutilisez que si vous avez des sauvegardes (ou si les données sont jetables). Cependant, la commande est sûre pour autant que ses développeurs le sachent; sil rencontre des situations quil ne peut pas gérer, il sarrête en toute sécurité.
  • Cheers. Il reste encore 3 To de données sur le disque, pas de sauvegarde. Attendrai davoir un jour où je me sens assez audacieux pour essayer 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *