Difference between revisions of "Cool Solution - Convert ext3 to ext4"

From Univention Wiki

Jump to: navigation, search
m (moved Dateissystem ext3 nach ext4 konvertieren to Cool Solution - Convert ext3 to ext4: moved for translation & cool solution)
Line 1: Line 1:
{{Version|UCS=2.4}}
+
{{Version|UCS=3.2}}
  
Dieser Artikel beschreibt die Vorgehensweise um bestehende ext3-Dateisysteme nach ext4 zu konvertieren.
+
This article describes how to convert an existing ext3 file systems to an ext4 file system.
  
'''Achtung:''' Die im UCS eingesetzte Version vom Bootloader GRUB kann das System nicht von ext4-Partitionen starten. Es ist eine separate /boot-Partition erforderlich, welche mit einem von GRUB lesbaren Dateisystem formatiert ist, z. B. ext3.
+
== Non-Root filesystem ==
  
Die Konvertierung kann, muss aber nicht, im laufenden Betrieb durchgeführt werden. Mit einer Live-CD (z. B. der [http://www.sysresccd.org/Main_Page SystemRescue CD]) wie auch im laufenden Betrieb werden der angegebenen Partition die neuen ext4-Features hinzugefügt:
+
Non-root filesystems are rather unproblematic and can be converterd during ongoing business.
  
tune2fs -O extents,uninit_bg,dir_index /dev/Partition
+
The first step is to umount the partition or device
 +
<pre>
 +
umount /dev/partition
 +
</pre>
 +
After the partition or device is unmounted you should check if there are any errors on it that should be fixed befor migrating to ext4
 +
<pre>
 +
fsck.ext3 -pf /dev/partition
 +
</pre>
 +
Now, the partition or device will be converted to ext4 using ''tune2fs''
 +
<pre>
 +
tune2fs -O extents,uninit_bg,dir_index /dev/partition
 +
</pre>
 +
Afterwards, the filesystem must be checked again since it was changed
 +
<pre>
 +
fsck.ext4 -yfD /dev/partition
 +
</pre>
 +
After the check is done, the entry for your partition or device must be changed from ext3 to ext4.
  
Anschließend ist es zwingend erforderlich, dass eine Dateisystemprüfung für jede konvertierte Partition durchgeführt wird:
+
Finally, mount the filesystem
 +
<pre>
 +
mount /dev/partition
 +
</pre>
 +
and the convertion is finished.
  
fsck -Df /dev/Partition
+
== Boot partition ==
 +
Regarding to the version of your bootloader, converting the ''/boot'' partition may not be working. But you can still mount your ''/boot'' partition as ext4 by editing it's entry in the ''/etc/fstab''. However, booting from ext4 is possible with GRUB2 1.97 and should work on every 3.x UCS System.
  
'''Achtung:''' Die Partition muss während der Prüfung ausgehangen sein, da es sonst zu einem Datenverlust kommen kann! Wurde die Root-Partition (/) konvertiert, so muss die Dateisystemprüfung entweder beim nächsten Systemstart oder aber von einer Live-CD durchgeführt werden.
+
The procdure for the ''/boot'' partition is the same as described in ''Non-root filesystem'' so, please refer to it.
  
''Hinweis:'' Um eine Dateisystemprüfung beim nächsten Start des Systems zu erzwingen reicht es aus mit <tt>touch /forcefsck</tt> die Datei forcefsck anzulegen. Beim nächsten Start wird dann das Dateisystem geprüft. Die Datei muss nach dem Neustart manuell wieder entfernt werden, ansonsten wird jedes Mal eine Prüfung durchgeführt.
+
== Root partiton ==
 +
To convert your root partition, you need to start your system via a Live-System (e.g. System Rescue CD). Apart from that, the procedure is the same as described in ''Non-Root filesystem''.
 +
'''Note:''' If your root partition is a LVM, you need to select your LVM container to do the filesystem checks (fsck)
  
''Hinweis:''Ist ein LVM im Einsatz muss der LVM-Container anstatt der Partitition angegeben werden.
+
== Migrate files to extents ==
 
+
The migration is nearly complete. All new files will use ''extents'', but all already existing files will use the old bitmap mapping from ext3. To check if a file is already using ''extents'', you can execute
Es wird dabei der Hinweis "One or more block group descriptor checksums are invalid" ausgegeben. Die Meldung ist in diesem Fall zu erwarten, da das Dateisystem nach der Konvertierung wieder in einen konsistenten Zustand gebracht werden muss.
+
<pre>
 
+
lsattr /path/to/file
Wurde die Root-Partition angepasst, muss noch der Eintrag für den Kernel in Grub geändert werden. Dies geschieht, indem die UCR-Variable ''grub/append'' angepasst wird: der Wert root2fstype=ext3 muss umgeändert werden zu root2fstype=ext4. Zusätzlich muss das Dateisystem für jede konvertierte Partition in der Datei <tt>/etc/fstab</tt> auf ext4 geändert werden.
+
</pre>
 
+
If you see an output similar to this
Nach einem Neustart werden die konvertierten Partitionen mit dem neuen Dateisystem eingehangen und benutzt.
+
<pre>
 +
-----------------e- /path/to/file
 +
</pre>
 +
your file already uses ''extents''. If not, you can set ''extents'' for your files with the following command
 +
<pre>
 +
find /home -xdev -type f -print0 | xargs -0 chattr +e
 +
</pre>
 +
and for directorys with
 +
<pre>
 +
find /home -xdev -type d -print0 | xargs -0 chattr +e
 +
</pre>
 +
Afterwards the migration is fully completed and you can take advantage of ext4.

Revision as of 13:47, 25 August 2014

Produktlogo UCS Version 3.2

This article describes how to convert an existing ext3 file systems to an ext4 file system.

Non-Root filesystem

Non-root filesystems are rather unproblematic and can be converterd during ongoing business.

The first step is to umount the partition or device

umount /dev/partition

After the partition or device is unmounted you should check if there are any errors on it that should be fixed befor migrating to ext4

fsck.ext3 -pf /dev/partition

Now, the partition or device will be converted to ext4 using tune2fs

tune2fs -O extents,uninit_bg,dir_index /dev/partition

Afterwards, the filesystem must be checked again since it was changed

fsck.ext4 -yfD /dev/partition

After the check is done, the entry for your partition or device must be changed from ext3 to ext4.

Finally, mount the filesystem

mount /dev/partition

and the convertion is finished.

Boot partition

Regarding to the version of your bootloader, converting the /boot partition may not be working. But you can still mount your /boot partition as ext4 by editing it's entry in the /etc/fstab. However, booting from ext4 is possible with GRUB2 1.97 and should work on every 3.x UCS System.

The procdure for the /boot partition is the same as described in Non-root filesystem so, please refer to it.

Root partiton

To convert your root partition, you need to start your system via a Live-System (e.g. System Rescue CD). Apart from that, the procedure is the same as described in Non-Root filesystem. Note: If your root partition is a LVM, you need to select your LVM container to do the filesystem checks (fsck)

Migrate files to extents

The migration is nearly complete. All new files will use extents, but all already existing files will use the old bitmap mapping from ext3. To check if a file is already using extents, you can execute

lsattr /path/to/file

If you see an output similar to this

-----------------e- /path/to/file

your file already uses extents. If not, you can set extents for your files with the following command

find /home -xdev -type f -print0 | xargs -0 chattr +e

and for directorys with

find /home -xdev -type d -print0 | xargs -0 chattr +e

Afterwards the migration is fully completed and you can take advantage of ext4.

Personal tools