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? [fermé]

8

Sur le point d'installer Ubuntu 16.04 sur un disque dur Samsung M.2. (à l'aide d'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 fonctionnent tous, lequel est le plus rapide?

Des conseils / pièges pour un noob effrayé :)

Conor Cosnett
la source
2
Pourquoi pensez-vous que le système de fichiers est important en termes de vitesse? Oh et pourquoi listez-vous les FAT et NTFS. Ce sont des fenêtres et non Linux donc ne peuvent pas être utilisés pour installer Ubuntu.
Rinzwind
4
Parmi vos candidats, FAT et NTFS peuvent être éliminés car Ubuntu ne peut être installé sur aucun d'entre eux, ne laissant que la famille ext *. Parmi ceux-ci, ext4 est bien sûr le plus récent et le plus avancé, qui est également le défaut. À moins que vous n'attendiez avec impatience des problèmes, il vaut mieux s'en tenir à ext4 que d'expérimenter avec certains systèmes de fichiers moins bien pris en charge pour peut-être un gain de performances minimal. Connexe: superuser.com/q/274172/418736
Byte Commander
2
Dois-je formater l'ubuntu installation-usb avec ext4 (j'utilise Windows 10 pour le faire?)
Conor Cosnett
2
Vous formatez l'installation-usb avec fat32. Jetez un œil ici: tutorials.ubuntu.com/tutorial/…
mondjunge
1
Si vous êtes un "noob", suivez les suggestions du programme d'installation! . Ne dérivez de cela que lorsque vous savez ce que vous faites.
Thorbjørn Ravn Andersen

Réponses:

10

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, c'est:

ext4

NTFS et fat32 ne sont pas adaptés aux systèmes Unix / Linux, car ils manquent de fonctionnalités dont Linux a besoin. Ils peuvent être un bon choix pour les partitions de données qui doivent être accessibles à partir des systèmes Windows. Sachez que fat32 ne peut pas stocker des fichiers de plus de 4 Go, mais c'est le choix le plus compatible. Même les anciens DOS peuvent lire / écrire fat32.

ext2 et ext3 sont essentiellement des prédécesseurs d'ext4.

Soit dit en passant, 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 de vos opérations sur les fichiers.

mondjunge
la source
5
Seule chose à noter mais qui ne faisait pas partie de la question: au cas où quelqu'un ressentirait le besoin de créer des instantanés: btrfs est également une option.
Rinzwind
1
Ext * est accessible sous Windows avec des pilotes supplémentaires ( exemple ). Évidemment, ce n'est pas la meilleure solution si vous voulez pouvoir brancher votre lecteur n'importe où et le faire fonctionner, mais cela pourrait convenir aux besoins de certains utilisateurs (par exemple, double démarrage).
Jon Bentley
5
En fait, il existe souvent des différences de vitesse très importantes entre les systèmes de fichiers pour certaines charges de travail. Pas tant pour les lectures en streaming de grande taille, mais si vous créez / supprimez / numérisez un grand nombre de fichiers, vous pouvez voir plus d'un facteur de différence de performances. De même pour les charges de travail DB.
hobbs
J'aurais suggéré f2fs, car cela utilise le stockage flash
Matthew Jeppesen
@hobbs: C'est vrai, mais la question cherchait (Quote): "Tous les trucs / pièges pour un noob effrayé", je ne voulais pas effrayer le noob avec les bases complexes des architectures de systèmes de fichiers.
mondjunge
4

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

Tout d'abord, écartons 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 de système de fichiers Linux ne fonctionnent pas correctement sur eux, vous auriez donc beaucoup de problèmes intéressants.

Remarque : FAT32 est un bon choix pour les supports d'installation USB, et NTFS est un bon choix dans un scénario à double démarrage (avec Windows) pour les partitions où vous souhaitez utiliser pour stocker des données personnelles (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) sur les partitions NTFS tant qu'elles ont été montées correctement, mais les partitions ext * ne sont pas facilement lisibles pour Windows (pour autant que je sache).

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 sensé. Les plus grandes différences entre eux sont probablement

  • ext2 est non journalisé
  • ext3 est un journal, mais a des structures de données et des fonctionnalités similaires à ext2
  • ext4 est un journal et possède certaines fonctionnalités améliorant les performances, notamment un algorithme plus rapide pour l'allocation de blocs par rapport aux systèmes ext * antérieurs, bien qu'il ait des structures de données 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, permettant un système de fichiers plus grand, 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 ici, tout en ne mentionnant que les choses les plus marquantes en plus des performances.

Attends quoi? Journalisation? 1

Un système de fichiers de journalisation , 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 est 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, comme ext4 permet de marquer les blocs non alloués, leur vérification peut être ignorée, ce qui rend fsckencore plus rapide.

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

La vérification de 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. Non seulement cela est mauvais pour la durée de vie d'un SSD rapide, mais cela peut ralentir les performances (l'écriture prend du temps). Le consensus général semble cependant être que le journalisme en vaut le coût.

Fonctions améliorant les performances d'ext4

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

Il utilise également l'allocation retardée (ou allocate-on-flush ) qui regroupe les allocations (plutôt que d'effectuer de nombreuses petites), ce qui tend à réduire l'utilisation du processeur 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 en ext4 et bénéficier d'un avantage de performance modeste car certaines fonctionnalités comme 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 avec Linux, bien qu'ils soient les plus connus et les plus testés. D'autres systèmes de fichiers utilisent des alternatives au journalisation et ont des fonctionnalités innovantes qui peuvent affecter les performances. Btrfs , par exemple, utilise une copie sur écritureméthode de préservation de l'intégrité du système de fichiers au lieu d'un journal. Il a différentes structures de données pour les systèmes ext *. Pour 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 bon pour le stockage d'archives de fichiers vidéo photo, car ils sont moins susceptibles de subir une dégradation. Il permet de vérifier et de nettoyer la cohérence du système de fichiers pendant son utilisation, ce qui peut 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 surpasser de manière convaincante ext4 sur la vitesse générale.

Conclusion

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


1 Ce concept de système de fichiers Linux et d'autres sont très bien expliqués dans Comprendre le noyau Linux .

Zanna
la source
1
réponse fantastique, j'ai commandé une copie de "comprendre le noyau linux", je pense que je vais juste utiliser ext4 pour l'instant, mais j'aimerais expérimenter à l'avenir
Conor Cosnett
1
@ConorCosnett c'est génial. Je pense que les systèmes de fichiers innovants comme Btrfs et ZFS ont besoin de personnes plus aventureuses pour les tester. Même le principal développeur d'ext4 a été cité comme disant que Btrfs est, dans son cadre théorique au moins, meilleur (disons potentiellement mieux) que ext4. C'est juste que les systèmes ext * sont bien testés et que beaucoup de gens dans le monde Linux les connaissent. Nous nous en tenons à ce que nous savons.
Zanna