Über die Installation von Ubuntu 16.04 auf einer M.2-Festplatte. Welches Dateisystem soll ich für die Geschwindigkeit verwenden? [geschlossen]

8

Über die Installation von Ubuntu 16.04 auf einer Samsung M.2-Festplatte. (mit einem USB-Laufwerk)

Welches Dateisystem soll ich verwenden?

  • Fat32
  • ext4
  • ext3
  • ext2
  • NTFS
  • eine andere, die ich nicht erwähnt habe?

Meine Festplatte ist:

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

Wenn sie alle funktionieren, welches ist das schnellste?

Irgendwelche Tipps / Fallstricke für einen verängstigten Noob :)

Conor Cosnett
quelle
2
Warum nehmen Sie an, dass das Dateisystem in Bezug auf die Geschwindigkeit wichtig ist? Oh und warum listen Sie FAT und NTFS auf? Diese sind Windows-bezogen und nicht Linux, können also nicht zur Installation von Ubuntu verwendet werden.
Rinzwind
4
Von Ihren Kandidaten können FAT und NTFS eliminiert werden, da Ubuntu auf keinem von ihnen installiert werden kann und nur die ext * -Familie übrig bleibt. Von diesen ist ext4 natürlich die neueste und fortschrittlichste, was auch die Standardeinstellung ist. Wenn Sie sich nicht auf Probleme freuen, sollten Sie sich lieber an ext4 halten, als mit weniger gut unterstützten Dateisystemen zu experimentieren, um möglicherweise einen minimalen Leistungsgewinn zu erzielen. Siehe auch: superuser.com/q/274172/418736
Byte Commander
2
Soll ich den Ubuntu-Installations-USB mit ext4 formatieren (ich verwende Windows 10, um ihn zu
erstellen
2
Sie formatieren den Installations-USB mit fat32.
Werfen
1
Wenn Sie ein "Noob" sind, folgen Sie den Vorschlägen des Installationsprogramms! . Leiten Sie daraus nur ab, wenn Sie wissen, was Sie tun.
Thorbjørn Ravn Andersen

Antworten:

10

Ziemlich einfach. Sie verwenden das Dateisystem, das für Ihr Betriebssystem am besten geeignet ist. Für die meisten Linux-Distributionen, einschließlich Ubuntu, ist dies:

ext4

NTFS und fat32 sind nicht für Unix / Linux-Systeme geeignet, da ihnen die Linux-Funktionen fehlen. Sie sind möglicherweise eine gute Wahl für Datenpartitionen, auf die von Windows-Systemen aus zugegriffen werden muss. Beachten Sie, dass fat32 keine Dateien mit mehr als 4 GB speichern kann, aber die kompatibelste Wahl ist. Sogar altes DOS kann fat32 lesen / schreiben.

ext2 und ext3 sind grundsätzlich Vorgänger von ext4.

Geschwindigkeit ist übrigens nicht wirklich eine Frage des Dateisystems. Festplatte und Bus (Verbindung, USB-Anschluss) bestimmen die Geschwindigkeit Ihrer Dateivorgänge.

Mondjunge
quelle
5
Das einzige, was es zu beachten gilt, aber nicht Teil der Frage war: Falls jemand das Bedürfnis hat, Schnappschüsse zu erstellen: btrfs ist ebenfalls eine Option.
Rinzwind
1
Auf Ext * kann in Windows mit zusätzlichen Treibern zugegriffen werden ( Beispiel ). Offensichtlich nicht die beste Lösung, wenn Sie Ihr Laufwerk überall anschließen und es einfach funktionieren lassen möchten, aber es ist möglicherweise für die Anforderungen einiger Benutzer in Ordnung (z. B. Dual-Boot).
Jon Bentley
5
Tatsächlich gibt es bei einigen Workloads häufig sehr erhebliche Geschwindigkeitsunterschiede zwischen Dateisystemen. Nicht so sehr für große Streaming-Lesevorgänge, aber wenn Sie eine große Anzahl von Dateien erstellen / löschen / scannen, können Sie einen Leistungsunterschied von mehr als dem Faktor 2 feststellen. Ähnliches gilt für DB-Workloads.
Hobbs
Ich hätte f2fs vorgeschlagen, da dies Flash-Speicher verwendet
Matthew Jeppesen
@hobbs: Stimmt, aber die Frage suchte nach (Zitat): "Irgendwelche Tipps / Fallstricke für einen verängstigten Noob", ich wollte den Noob nicht mit den komplexen Grundlagen von Dateisystemarchitekturen abschrecken.
Mondjunge
4

Ziemlich komplex. Es gibt signifikante Unterschiede zwischen den von Ihnen erwähnten Dateisystemen, und die Bestimmung der Auswirkungen dieser Unterschiede auf die Geschwindigkeit ist meiner Meinung nach nicht trivial und hängt davon ab, welche Vorgänge ausgeführt werden.

Lassen Sie uns zunächst die Möglichkeit verwerfen, Ihr Root-Dateisystem auf einer FAT- oder NTFS-Partition zu installieren. Diese Dateisysteme sind nicht ordnungsgemäß mit dem Linux-Kernel kompatibel, und die Berechtigungen für das Linux-Dateisystem funktionieren auf ihnen nicht ordnungsgemäß, sodass Sie viele interessante Probleme haben würden.

Hinweis : FAT32 ist eine gute Wahl für USB-Installationsmedien, und NTFS ist eine gute Wahl in einem Dual-Boot-Szenario (mit Windows) für Partitionen, in denen Sie persönliche Inhalte (wie z. B. Ihre Medienbibliothek) speichern möchten, auf die zugegriffen werden soll sowohl für Ubuntu (oder ein anderes Linux-System) als auch für Windows. Linux-Systeme können NTFS-Partitionen lesen (und darauf schreiben), solange sie korrekt bereitgestellt wurden, aber ext * -Partitionen sind für Windows (soweit ich weiß) nicht leicht lesbar.

Die ext * -Systeme wurden für die Verwendung mit dem Linux-Kernel entwickelt. Die Verwendung von ext2,3 oder 4 für Ihre Ubuntu-Installation wäre völlig vernünftig. Wahrscheinlich sind die größten Unterschiede zwischen ihnen

  • ext2 ist nicht journalistisch
  • ext3 ist ein Journal, hat aber ansonsten ähnliche Datenstrukturen und Funktionen wie ext2
  • ext4 ist ein Journal und verfügt über einige leistungssteigernde Funktionen, einschließlich eines schnelleren Algorithmus für die Blockzuweisung im Vergleich zu früheren ext * -Systemen, obwohl es ähnliche Datenstrukturen aufweist.

Ich denke, es ist wichtig zu beachten, dass die Geschwindigkeit nicht die einzige Überlegung bei der Auswahl eines Dateisystems ist. Ext4 hat weniger Einschränkungen als frühere Versionen und ermöglicht ein größeres Dateisystem, unbegrenzte Unterverzeichnisse usw. Ext3 wird von einigen als bewährter, sicherer und mit etwas geringerer Wahrscheinlichkeit für Datenverlust angesehen. Ich werde versuchen, mich hier auf die Geschwindigkeit zu konzentrieren, während ich neben der Leistung nur die wichtigsten Dinge erwähne.

Warte was? Journaling? 1

Kurz gesagt, ein Journalling-Dateisystem führt ein Protokoll der Änderungen, die noch nicht in den Hauptteil des Dateisystems geschrieben wurden. Dies geschieht, damit im Falle eines Absturzes die Konsistenz des Dateisystems leicht überprüft werden kann, indem das Journal mit dem verglichen wird, was in den Hauptbereich des Dateisystems geschrieben wurde. Dies bedeutet, dass die Überprüfung des Dateisystems mit ext3 und ext4 viel schneller ist. Da mit ext4 nicht zugewiesene Blöcke markiert werden können, kann die Überprüfung übersprungen werden, was die Arbeit fscknoch beschleunigt.

Ext4 prüft auch das Journal (wodurch weniger E / A-Wartezeiten beim Schreiben möglich sind), was insgesamt zu einer leichten Geschwindigkeitssteigerung im Vergleich zu ext3 führt.

Das Überprüfen der Konsistenz des Dateisystems ist möglicherweise nicht sehr oft erforderlich, und das Journaling hat seinen Preis - mehr Festplattenschreibvorgänge. Dies ist nicht nur schlecht für die Lebensdauer einer schnellen SSD, sondern kann auch die Leistung beeinträchtigen (das Schreiben braucht Zeit). Der allgemeine Konsens scheint jedoch zu sein, dass das Journaling die Kosten wert ist.

Leistungssteigernde Funktionen von ext4

Ext4 unterstützt den fallocate()Systemaufruf, um Speicherplatz für eine Datei vorab zuzuweisen. Der Kernel weist einige Blöcke zu und markiert sie als initialisiert, ohne darauf zu schreiben. Dies ist viel schneller als das Schreiben von Nullen in den Speicherplatz, wie dies in älteren Dateisystemen der Fall war.

Es wird auch eine verzögerte Zuweisung (oder Allocate-on-Flush ) verwendet, bei der Zuweisungen gestapelt werden (anstatt viele kleine auszuführen), wodurch die CPU-Auslastung verringert und eine Fragmentierung vermieden wird.

Ext4 ist abwärtskompatibel mit ext2 und ext3, was bedeutet, dass ext2- und 3-Dateisysteme als ext4 gemountet werden können und einen bescheidenen Leistungsvorteil genießen, da einige Funktionen wie der neue Blockzuweisungsalgorithmus verwendet werden können.

Andere Dateisysteme

Ext * sind nicht die einzigen vollständig Linux-kompatiblen Dateisysteme, obwohl sie die bekanntesten und am meisten getesteten sind. Andere Dateisysteme verwenden Alternativen zum Journaling und verfügen über innovative Funktionen, die sich auf die Leistung auswirken können. Btrfs verwendet beispielsweise eine Kopie beim SchreibenMethode zur Wahrung der Integrität des Dateisystems anstelle eines Journals. Es hat andere Datenstrukturen als ext * -Systeme. Soweit ich weiß, bietet Btrfs keine schnellere allgemeine Leistung als ext4, wird jedoch als besonders gut für die Archivierung von Foto-Videodateien angesehen, da sie weniger wahrscheinlich beeinträchtigt werden. Dadurch kann die Konsistenz des Dateisystems während der Verwendung überprüft und bereinigt werden, was je nach Anwendungsfall Zeit sparen kann. In Zukunft könnten Btrfs oder ein anderes innovatives Dateisystem weiterentwickelt werden, um ext4 in Bezug auf die allgemeine Geschwindigkeit überzeugend zu übertreffen.

Fazit

Die meisten Ubuntu-Benutzer, die nach einer guten Leistung suchen, werden vorerst bei ext4 bleiben wollen ...


1 Dieses und andere Linux-Dateisystemkonzepte werden unter Grundlegendes zum Linux-Kernel sehr gut erklärt .

Zanna
quelle
1
Fantastische Antwort, ich habe eine Kopie von "Understanding the Linux Kernel" bestellt. Ich denke, ich werde jetzt nur ext4 verwenden, aber ich würde gerne in Zukunft experimentieren
Conor Cosnett
1
@ConorCosnett das ist super. Ich denke, die innovativen Dateisysteme wie Btrfs und ZFS brauchen abenteuerlustigere Leute, um sie zu testen. Sogar der Hauptentwickler von ext4 wurde zitiert, dass Btrfs zumindest in seinem theoretischen Rahmen besser (sagen wir potenziell besser) als ext4 ist. Es ist nur so, dass ext * -Systeme gut getestet sind und viele Leute in der Linux-Welt mit ihnen vertraut sind. Wir halten an dem fest, was wir wissen.
Zanna