web-dev-qa-db-fra.com

Sur le point d'installer Ubuntu 16.04 sur un disque dur M.2. Quel système de fichiers dois-je utiliser pour la vitesse?

Sur le point d'installer Ubuntu 16.04 sur un disque dur Samsung M.2. (en utilisant une clé USB)

Quel système de fichiers dois-je utiliser?

  • Fat32
  • ext4
  • ext3
  • ext2
  • NTFS
  • un autre que je n'ai pas mentionné?

Mon disque dur est:

1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)

S'ils travaillent tous, lequel est le plus rapide?

Des astuces/pièges pour un Noob apeuré :)

8
Conor Cosnett

Assez facile. Vous utilisez le système de fichiers le mieux adapté à votre système d'exploitation. Pour la plupart des distributions Linux, Ubuntu inclus, ceci est:

ext4

NTFS et fat32 ne conviennent pas aux systèmes Unix/Linux, car ils manquent des fonctionnalités dont Linux a besoin. Ils peuvent constituer un bon choix pour les partitions de données devant être accessibles à partir de systèmes Windows. Sachez que fat32 ne peut pas stocker de fichiers de plus de 4 Go, mais qu’il s’agit du choix le plus compatible. Même le vieux DOS peut lire/écrire fat32.

ext2 et ext3 sont essentiellement les prédécesseurs de ext4.

À propos, la vitesse n'est pas vraiment une question de système de fichiers. Le disque dur et le bus (connexion, port USB) déterminent la vitesse d'exécution de vos fichiers.

10
mondjunge

Assez complexe. Il existe des différences significatives entre les systèmes de fichiers que vous avez mentionnés, et déterminer l’impact de ces différences sur la vitesse est, à mon humble avis, non trivial et dépend des opérations qui seront effectuées.

Tout d'abord, supprimons la possibilité d'installer votre système de fichiers racine sur une partition FAT ou NTFS. Ces systèmes de fichiers ne sont pas correctement compatibles avec le noyau Linux et les autorisations du système de fichiers Linux ne fonctionnent pas correctement sur eux. Vous rencontreriez donc beaucoup de problèmes intéressants.

Remarque : FAT32 est un bon choix pour le support d'installation USB et NTFS est un bon choix pour un scénario à double démarrage (avec Windows) pour les partitions où vous le souhaitez. à utiliser pour stocker des éléments personnels (comme votre bibliothèque multimédia par exemple) qui devraient être accessibles à la fois à Ubuntu (ou à tout autre système Linux) et à Windows. Les systèmes Linux peuvent lire (et écrire) des partitions NTFS tant qu'elles ont été montées correctement, mais les partitions ext * ne sont pas facilement lisibles par Windows (à ma connaissance).

Les systèmes ext * ont été conçus pour être utilisés avec le noyau Linux. Utiliser ext2,3 ou 4 pour votre installation Ubuntu serait parfaitement sain d’esprit. Probablement les plus grandes différences entre eux sont

  • ext2 est non-journalling
  • ext3 est en journalisation, mais a par ailleurs des structures de données et des fonctionnalités similaires à ext2
  • ext4 est en journalisation et offre certaines fonctionnalités d'amélioration des performances, notamment un algorithme plus rapide pour l'allocation de blocs par rapport aux systèmes ext * précédents, bien que ses structures de données soient similaires.

Il est important de noter, je pense, que la vitesse n'est pas la seule considération lors du choix d'un système de fichiers. Ext4 a moins de limitations que les versions précédentes, autorisant un système de fichiers plus volumineux, des sous-répertoires illimités, etc. Ext3 est considéré par certains comme plus éprouvé, plus sûr et légèrement moins susceptible de perdre des données. Je vais essayer de me concentrer sur la vitesse, tout en ne mentionnant que les aspects les plus importants, à part les performances.

Attends quoi? Journalling?1

Un système de fichiers journalisé , en bref, conserve un journal des modifications qui n'ont pas encore été écrites dans la partie principale du système de fichiers. Ceci est fait de sorte qu'en cas de plantage, il soit facile de vérifier la cohérence du système de fichiers en comparant le journal à ce qui a été écrit dans la zone principale du système de fichiers. Cela signifie que la vitesse de vérification du système de fichiers est beaucoup plus rapide avec ext3 et ext4. De plus, étant donné que ext4 permet de marquer des blocs non alloués, leur vérification peut être ignorée, ce qui rend fsckencore plus rapide.

Ext4 contrôle également le journal (permettant moins d'attentes d'E/S lors de l'écriture), ce qui donne une légère augmentation globale de la vitesse par rapport à ext3.

Vérifier la cohérence du système de fichiers peut ne pas être nécessaire très souvent, et la journalisation a un prix: plus d'écritures sur disque. Cela n’est pas seulement néfaste pour la durée de vie d’un SSD, il peut également ralentir les performances (l’écriture prend du temps). Le consensus général semble être que la journalisation vaut le coût, cependant.

Fonctions améliorant les performances d'ext4

Ext4 prend en charge l'appel système fallocate() pour préallouer de l'espace pour un fichier. Le noyau alloue des blocs et les marque comme initialisés sans leur écrire, ce qui est beaucoup plus rapide que d'écrire des zéros dans l'espace, comme c'était le cas dans les systèmes de fichiers plus anciens.

Il utilise également l'allocation retardée (ou allocate-on-flush ) qui regroupe les allocations (plutôt que de nombreuses petites), ce qui tend à réduire l'utilisation de la CPU et à éviter la fragmentation.

Ext4 est rétrocompatible avec ext2 et ext3, ce qui signifie que les systèmes de fichiers ext2 et 3 peuvent être montés au format ext4 et offrent un avantage modeste en termes de performances puisque certaines fonctionnalités, telles que le nouvel algorithme d'allocation de blocs, peuvent être utilisées.

Autres systèmes de fichiers

Ext * ne sont pas les seuls systèmes de fichiers entièrement compatibles Linux, bien qu'ils soient les plus connus et les plus testés. D'autres systèmes de fichiers utilisent des alternatives à la journalisation et intègrent des fonctionnalités innovantes pouvant affecter les performances. Btrfs , par exemple, utilise une méthode copie sur écriture pour préserver l'intégrité du système de fichiers au lieu d'un journal. Il a différentes structures de données aux systèmes ext *. Autant que je sache, Btrfs n'est pas connu pour fournir des performances générales plus rapides que ext4, mais est considéré comme particulièrement utile pour le stockage d'archives de fichiers de photos vidéo, car ils risquent moins de subir une dégradation. Il permet de vérifier et de nettoyer la cohérence du système de fichiers en cours d'utilisation, ce qui peut permettre de gagner du temps en fonction de votre cas d'utilisation. À l'avenir, Btrfs ou un autre système de fichiers innovant pourrait être développé pour surperformer ext4 de manière convaincante à la vitesse générale.

Conclusion

La plupart des utilisateurs d'Ubuntu à la recherche de bonnes performances voudront s'en tenir à ext4 pour le moment ...


1Ceci et d’autres concepts de système de fichiers Linux sont très bien expliqués dans Comprendre le noyau Linux .

4
Zanna