Ext4: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:ext4}}
{{SEITENTITEL:ext4}}{{righttoc}}
Das Dateisystem '''ext4''' Ist der Nachfolger des von 2001 - 2009 in den meisten Distributionen standardmäßig verwendeten Dateisystems ext3.
Das Dateisystem ''ext4'' ist der Nachfolger des bis 2009 meistverbreitetsten ''ext3''. Es wurde am 10. Oktober 2006 von {{Wikipedia|Andrew Morton}} vorgestellt. Seit Kernel 2.6.19 ist ext4 offizieller Bestandteil des Kernels.
 
Ext4 ist ein Journaling-Dateisystem[http://de.wikipedia.org/wiki/Journaling-Dateisystem], welches für den Linux-Kernel[http://de.wikipedia.org/wiki/Linux-Kernel] entwickelt wurde. Es wurde am 10. Oktober 2006 von Andrew Morton[http://de.wikipedia.org/wiki/Andrew_Morton_%28Programmierer%29] vorgestellt.
Seit der Kernel Version 2.6.19 war eine Test-Version offizieller Bestandteil des Kernels. Mit dem Erscheinen des Linux-Kernels 2.6.28 verließ ext4 das Hauptentwicklungsstadium.
 
{{achtung|Dieser Artikel ist noch nicht fertig. Insbesondere der Abschnitt  ''' Möglichkeit 2''' bedarf noch einer Überarbeitung}}


== Technische Eigenschaften ==
== Technische Eigenschaften ==
In ext4 sind viele Verbesserungen gegenüber ext3 getroffen worden. Unter anderem:


In ext4 sind viele Verbesserungen gegenüber ext3 getroffen worden. So unterstützt ext4 beispielsweise bis zu einem Exabyte (= 10^18 Byte) an Daten.
* 1 Exabyte (= 10^18 Byte) Gesamtgröße des Dateisystems
 
* mehr als 32.768 Unterverzeichnisse
Seit der Veröffentlichung im Kernel 2.6.19 sind schon folgende Verbesserungen vorgenommen worden:
* Maximale Dateigröße so groß wie das gesamte Dateisystem
 
* '''Kernel 2.6.23''': mehr als 32.768 Unterverzeichnisse
* '''Kernel 2.6.25''': Maximale Dateigröße so groß wie das gesamte Dateisystem
* '''Kernel 2.6.28''': ext4 gilt nun als stabil
 
 
Bestehende ext3 Partitionen können ohne Verlust der Daten problemlos in ext4 Partitionen umgewandelt werden. Ebenfalls können ext2 und ext3 Partitionen in der '''[[fstab]]''' als ext4 eingehängt werden. Das bringt aufgrund der Optimierung des ext4 Treibers ohne jegliches Umwandeln der Partition einen Performancegewinn.
 
== Ext3 zu Ext4 konvertieren  ==
 
Es gibt '''zwei Möglichkeiten''' um eine ext3 Partition unter Arch als ext4 zu integrieren;
 
* Die ext3 Partition als ext4 '''mounten''' (Ohne sie zu konvertieren)
* Die ext3 Partition in ext4 konvertieren '''(Empfohlen)'''


Bestehende ext3 Partitionen können zudem ohne Verlust der Daten problemlos in ext4 Partitionen umgewandelt werden. Ebenfalls können ext2 und ext3 Partitionen in der [[fstab]] als ext4 eingehängt werden. Das bringt aufgrund der Optimierung des ext4 Treibers ohne jegliches Umwandeln der Partition einen Performancegewinn.


== Von ext3 zu ext4 ==
Es gibt 2 Möglichkeiten um eine ext3 Partition als ext4 zu integrieren. Zum einen kann eine bestehende ext3-Parittion einfach als ext4 gemountet werden, zum anderen kann man die ext3-Partition nach ext4 konvertieren, um alle Vorteile von ext4 zu erhalten.


=== ext3 als ext4 mounten ===
=== ext3 als ext4 mounten ===
Um ext3-Partitionen als ext4 zu Mounten, muss dies in der [[fstab]] entsprechend angepasst werden. {{ic|/dev/sda1}} ist hier als Beispiel zu verstehen und muss entsprechend angepasst werden.


Dazu müssen in der Datei '''/etc/fstab''' lediglich folgende Änderungen vorgenommen werden;
  # Alter Eintrag
 
  # /dev/sda1  /home  ext3  defaults  0 2
Beispiel einer ''/etc/fstab'''
 
  # Neuer Eintrag
  /dev/sda1  /home  ext4  defaults  0 2


  #<Filesystem> <Mountpunkt>        <Type>    <Option>                      <dump>  <pass>
Diese Möglichkeit bietet jedoch nur einen geringen Performancegewinn.
  proc          /proc              proc      defaults                      0      0
  none          /dev/pts            devpts    defaults                      0      0
  none          /dev/shm            tmpfs    defaults                      0      0
  /dev/hdd8      /                  '''ext3'''      defaults,errors=remount-ro    0      1
  /dev/hdg1      /home              '''ext3'''      defaults                      0      2
  /dev/hdd7      none                swap      sw                            0      0
  /dev/hdb      /mnt/dvd-rom        iso9660  ro,user,noauto                0      0
 
 
 
Um nun eine ext3 Partition ohne sie zu konvertieren als ext4 einzubinden, muss lediglich aus '''ext3''' ein '''ext4''' gemacht werden. Das sieht dann so aus;
 
  #<Filesystem> <Mountpunkt>        <Type>    <Option>                      <dump>  <pass>
  proc          /proc              proc      defaults                      0      0
  none          /dev/pts            devpts    defaults                      0      0
  none          /dev/shm            tmpfs    defaults                      0      0
  /dev/hdd8      /                  '''ext4'''      defaults,errors=remount-ro    0      1
  /dev/hdg1      /home              '''ext4'''      defaults                      0      2
  /dev/hdd7      none                swap      sw                            0      0
  /dev/hdb      /mnt/dvd-rom        iso9660  ro,user,noauto                0      0
 
 
Diese Möglichkeit bietet jedoch aufgrund dessen, dass die Partition immernoch als ext3 eingehängt wird, jedoch der neue, verbesserte ext4 Treiber verwendet wird, nur einen geringen Performancegewinn.
 
 
'''Näheres hierzu in der [[fstab]]'''
 
 
=== ext3 nach ext4 konvertieren '''(empfohlen)''' ===


=== ext3 nach ext4 konvertieren ===
Um ein bestehendes ext3- in ein ext4-Dateisystem umzuwandeln, müssen die entsprechenden Dateisystemeigenschaften hinzugefügt werden. Nach dem Ändern der Optionen muss ein Dateisystemcheck durchgeführt werden.
Um ein bestehendes ext3- in ein ext4-Dateisystem umzuwandeln, müssen die entsprechenden Dateisystemeigenschaften hinzugefügt werden. Nach dem Ändern der Optionen muss ein Dateisystemcheck durchgeführt werden.


Hinzufügen der Optionen mittels tune2fs:
Hinzufügen der Optionen mittels {{ic|tune2fs}}, {{ic|/dev/sda1}} muss entsprechend an das eigene System angepasst werden.


  tune2fs -O extents,uninit_bg,dir_index /dev/<Gerät>
  tune2fs -O extent,uninit_bg,dir_index /dev/sda1
fsck.ext4 -fCVD /dev/sda1


Das Filesystem kann jetzt erst einmal nicht angemeldet werden und muss mit fsck repariert werden. Dies ist ganz normal.
Danach kann das Dateisystem ganz normal als ext4 eingehängt werden.


fsck.ext4 -fCVD /dev/<Gerät>
== SSD Trim ==
 
Sofern die Firmware der SSD ''live TRIM'' unterstützt, kann dies mit der entsprechenden Mountoption aktiviert werden.
Danach kann das Dateisystem ganz normal als ext4 eingehängt werden.


== SSD Trim Support ==
  # Ohne live TRIM
  # /dev/sda1  /home  ext4  defaults  0 2
 
  # Mit live TRIM
  /dev/sda1  /home  ext4  defaults,discard  0 2


{{achtung|Stelle vorher fest ob du einen Kernel und SSD firmware hast die neu genug ist und von der sicher ist das sie TRIM unterstützt ! Sonst könnte es zu Datenverlust führen, also immer vorher Backups erstellen!! (Wie?) }}
Hierbei ist darauf zu achten, dass diese Option zu Datenverlust führen kann, wenn die SSD dies nicht unterstützt. {{ic|/dev/sda1}} muss natürlich an das eigene System angepasst werden.
In der neusten Version unterstützt jetzt auch der Kernel ( >=2.6.33) und ext4 live SSD TRIM. Um dies zu nutzen muss man nur eine mount Option zu seiner fstab hinzufügen:
discard
Beispiel:
/dev/sda1 / ext4 defaults,noatime,discard 0 1


== Quellen ==
== Weblinks ==
* Wikipedia [http://de.wikipedia.org/wiki/Ext4]
* [https://ext4.wiki.kernel.org/index.php/Main_Page Das ext4-Wiki] {{sprache|en}}
* Heise-Online [http://www.heise.de/kiosk/archiv/ix/2009/7/24_kiosk]


[[Kategorie:Dateisysteme]]
[[Kategorie:Dateisysteme]]
[[en:Ext4]]
[[en:ext4]]

Aktuelle Version vom 4. Januar 2022, 10:02 Uhr

Das Dateisystem ext4 ist der Nachfolger des bis 2009 meistverbreitetsten ext3. Es wurde am 10. Oktober 2006 von Morton Andrew Morton vorgestellt. Seit Kernel 2.6.19 ist ext4 offizieller Bestandteil des Kernels.

Technische Eigenschaften

In ext4 sind viele Verbesserungen gegenüber ext3 getroffen worden. Unter anderem:

  • 1 Exabyte (= 10^18 Byte) Gesamtgröße des Dateisystems
  • mehr als 32.768 Unterverzeichnisse
  • Maximale Dateigröße so groß wie das gesamte Dateisystem

Bestehende ext3 Partitionen können zudem ohne Verlust der Daten problemlos in ext4 Partitionen umgewandelt werden. Ebenfalls können ext2 und ext3 Partitionen in der fstab als ext4 eingehängt werden. Das bringt aufgrund der Optimierung des ext4 Treibers ohne jegliches Umwandeln der Partition einen Performancegewinn.

Von ext3 zu ext4

Es gibt 2 Möglichkeiten um eine ext3 Partition als ext4 zu integrieren. Zum einen kann eine bestehende ext3-Parittion einfach als ext4 gemountet werden, zum anderen kann man die ext3-Partition nach ext4 konvertieren, um alle Vorteile von ext4 zu erhalten.

ext3 als ext4 mounten

Um ext3-Partitionen als ext4 zu Mounten, muss dies in der fstab entsprechend angepasst werden. /dev/sda1 ist hier als Beispiel zu verstehen und muss entsprechend angepasst werden.

  # Alter Eintrag
  # /dev/sda1  /home  ext3  defaults  0 2
  
  # Neuer Eintrag
  /dev/sda1  /home  ext4  defaults  0 2

Diese Möglichkeit bietet jedoch nur einen geringen Performancegewinn.

ext3 nach ext4 konvertieren

Um ein bestehendes ext3- in ein ext4-Dateisystem umzuwandeln, müssen die entsprechenden Dateisystemeigenschaften hinzugefügt werden. Nach dem Ändern der Optionen muss ein Dateisystemcheck durchgeführt werden.

Hinzufügen der Optionen mittels tune2fs, /dev/sda1 muss entsprechend an das eigene System angepasst werden.

tune2fs -O extent,uninit_bg,dir_index /dev/sda1
fsck.ext4 -fCVD /dev/sda1

Danach kann das Dateisystem ganz normal als ext4 eingehängt werden.

SSD Trim

Sofern die Firmware der SSD live TRIM unterstützt, kann dies mit der entsprechenden Mountoption aktiviert werden.

  # Ohne live TRIM
  # /dev/sda1  /home  ext4  defaults  0 2
  
  # Mit live TRIM
  /dev/sda1  /home  ext4  defaults,discard  0 2

Hierbei ist darauf zu achten, dass diese Option zu Datenverlust führen kann, wenn die SSD dies nicht unterstützt. /dev/sda1 muss natürlich an das eigene System angepasst werden.

Weblinks