EXT4 Konvertierung

Aus OE-Alliance Support Wiki

Version vom 1. Februar 2012, 22:48 Uhr von Bonsai Baum (Diskussion | Beiträge)


(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Tutorial -> Ext4 -> Konvertierung von ext3 zu ext4


Warnung: Die Umwandlung auf Ext4 ist nicht Rückgaengig zu machen! Nach Konvertierung kann man die Festplatte nur noch mit ein Linux >= 2.6.31 (zb PLI 2.1 basiertes Image) nützen!

Wer nicht weisz was ext3 oder ext4 ist, sich überhaupt nicht mit Linux oder Telnet auskennt, oder nicht daran interessiert ist sein Dateisystem auf dem neuesten Stand zu bringen, braucht diese Anleitung nicht.


Diese Anleitung ist vor allem interessant für die, die bereits Halb umgestiegen sind durch ins Menu Convert Filesystem ext3 to ext4 aus zu führen. Andere, die sich noch nicht eintschieden haben, aber daran interessiert sind: Nur weiter lesen!


Voraussetzungen:

PLi 2.1 basiertes Image (kernel >= 2.6.31) Telnet verbindung zum ET9000


Benötigte Programme:

e2fsprogs


1. - Konvertierung auf Ext4 übers Menu.

2. - War die Konvertierung erfolgreich - überprüfen.

3. - Extents Attribute setzen bei die alten Dateien.




1.- Konvertierung auf Ext4 übers Menu.


In PLi 2.1 gibts die Möglichkeit unsere Festplatte nach Ext4 zu Konvertieren:


Menu -> Einstellungen -> System -> Festplatte -> Convert Filesystem ext3 to ext4


Das machen wir also erstens. Es kann eine weile dauern, da das Dateisystem überprüft werden müss. Je nach Festplattengrösse/Belegung und Geschwindigkeit, ist es schwer zu sagen wie lange. Das kann aber mehrere Stunden sein. Alles passiert im Hintergrund. Am besten also in der Nacht machen, dann ist die Konvertierung am naechsten Morgen bestimmt fertig.




2. - War die Konvertierung erfolgreich - überprüfen.


Jetzt wollen wir überprüfen ob die Konvertierung geklappt hat. Da OpenPLi 2.1 das ext3 Dateisystem bereits als ext4 mountet, können wir mit dem mount Befehl keine zuverlaessige Info's bekommen.

Um sicher zu sein ob die Konvertierung auf ext4 fehlgeschlagen hat oder gelungen ist, per Telnet eingeben:

opkg update
opkg install e2fsprogs


Dann eine neue Datei erstellen:

touch /media/hdd/testfile.tst


Und dann überprüfen ob das extents Attribute gesetzt ist:

lsattr /media/hdd/testfile.tst


Falls das ergebnis so aussieht hast du kein ext4:

--------------- /media/hdd/testfile.tst


Sieht das Ergebnis aber so aus:

-------------e- /media/hdd/testfile.tst


Dann hat die konvertierung auf ext4 stattgefunden (extents Attribute ist gesetzt).




3. - Extents Attribute setzen bei die alten Dateien.


Jetzt sind wir aber nur Halbwegs.

Neu erstellte Dateien werden ab jetzt als ext4 abgespeichert, aber die alte bleiben ext3 bis sie bearbeitet oder kopiert werden. Bearbeitet man einen Film mit dem Schnitteditor und dann Execute Cuts, dann ist die neue Datei auch ext4. Weil wir das aber nicht mit Jedem Film machen wollen, oder das bereits gemacht haben, ist es einfacher und schneller um mit einem Telnet Befehl alle Dateien auf einmal Ext4 zu machen, durch bei alle Dateien das Extents Attribute zu setzen.


Per Telnet eingeben:

find /media/hdd -xdev -type f -print0 | xargs -0 chattr.e2fsprogs +e


Das hat bei mir knapp eine Stunde gedauert (2TB Platte (WD20EARS), 25% belegt (wovon etwa 350GB noch ext3)).

Zusaetzlich kann man dann per Telnet auch noch bei die Verzeichnisse das extents Attribute setzen durch eingabe von:

find /media/hdd -xdev -type d -print0 | xargs -0 chattr.e2fsprogs +e


Ich weisz nicht ob das letzte unbedingt notwendig ist, aber war hier in weniger als eine Minute gemacht.


OK, alle Dateien sind jetzt umgewandelt. Nach der Vorgang kann es mit eingabe von:

umount /dev/sda1
fsck.ext4 -v /dev/sda1

eine Fehlermeldung geben, aber statt gleich rum zu basteln, erstmal die Box neu starten.

Danach nochmal eingeben:

umount /dev/sda1
fsck.ext4 -v /dev/sda1


Ergebnis:

/dev/sda1: clean, 1022/1907840 files, 127341463/488378390 blocks (check in 3 mounts)


Dann mal eingeben:

fsck.ext4 -f /dev/sda1


Ergebnis:

e2fsck 1.41.14 (22-Dec-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 1022/1907840 files (24.3% non-contiguous), 127341463/488378390 blocks


fsck war in weniger als 10 minuten fertig!

Dann noch per Telnet eingeben:

mount /dev/sda1 /media/hdd
lsattr /media/hdd/*


Dann sieht man das alle Dateien jetzt das extents Atrribute erhalten, und kann man ext4 in vollen Zügen genießen