HowTo: Probleme mit ext2-Dateisystemen unter FreeBSD

indy

Der Hutträger
Hallo,

wer wie ich auch Linux nutzen muß und damit Dateien zwischen FreeBSD und Linux austauschen möchte,
wird um ext2 nicht drumrumkommen.

Leider bereitet das unter FreeBSD immer mal wieder Probleme. :-(

Diese sind nicht allzu dramatisch, wenn man sich etwas mit dem ext2-Dateisystem beschäftigt.

Als Beispiel möchte ich die Lösung eines Problems erläutern, daß ich erst heute hatte:

Eine USB-Platte, mit 160 Gigabyte großer ext2-Partition dient mir als Backup-Medium für meine Server.
Vor einiger Zeit habe ich unter FreeBSD 5.2.1 eine 3,8 Gigabyte große Datei auf die Platte kopiert,
was ohne Probleme von statten ging.
Auch unter Linux bereitete das keine Schwierigkeiten - bis heute.
Da habe ich die 60 Mounts des Dateisystems erreicht und ein Check des Dateisystems war angesagt,
ohne den lies sich die Partition nur noch read-only mounten.
Dieser Check klärte mich dann darüber auf, daß auf der Platte große Dateien befinden,
das Dateisystem jedoch keinen "support for large files" bietet, ich möge diesen aktivieren.

Was ich unglücklicherweise auch tat, das Resultat war:

kernel: WARNING: R/W mount of da0s1 denied due to unsupported optional features

Mist...
Nun habe ich mir mal die e2fsprogs genauer angeschaut, und ein sehr interessante Werkzeug gefunden:

debugfs

Mit diesem ist es mir gelungen, die Platte wieder gängig zu machen:

Code:
debugfs:  open -w /dev/da0s1
debugfs:  features
Filesystem features: filetype sparse_super large_file
debugfs:  feature -large_file
Filesystem features: filetype sparse_super
debugfs:  close
debugfs:

Was bedeutet das alles?

Mit 'open' öffnet man das Dateisystem, wobei -w für Schreiboperationen benötigt wird.
'features' listet die vom Dateisystem unterstützten Optionen auf, eben auch large_file, was störte.
Also wurde diese Option mit 'feature -large_file' entfernt und das Dateisystem mit close aktualisiert.

Und siehe da: es klappte, ich kann die Partition wieder normal nutzen.

Wenn also nochmal jemand Probleme mit ext2-Dateisystemen hat, dann sollte er debugfs ausprobieren.
Alle Optionen sind in der Manpage dazu ausführlich dokumentiert.

Gruss...

Der Indy
 
Zuletzt bearbeitet:
Erst mal vielen Dank fuer das durchaus nuetzliche HowTo!
Langsam bin ich wirklich am verzweifeln mit FreeBSD und ext2.
Habe das gleiche Problem wie du jedoch scheitere ich immer hiermit:

debugfs: open -w /dev/ad2s1
open: Usage: open [-s superblock] [-b blocksize] [-c] [-w] <device>
debugfs:

Bin ich zu bloed fuer die Syntax?
Da benutz ich sehr lange reiserfs bis ich merke das FreeBSD ja nur mit ext2 umgehen kann bzw. will. Dann baue ich neuen kernel dann muss ich das e2fsprogs und noch paar libs installieren und es klappt immernoch nicht. In diesem Thema hab ich mir FreeBSD wirklich einfacher vorgestellt aber genug gejammert.
Hat jemand vielleicht noch paar andere Tips?

EDIT: Hab das hier gefunden und auch durchgefuehrt :

http://www.onlamp.com/pub/a/bsd/2000/11/16/Big_Scary_Daemons.html

Nachdem ich mir meine partition damit zerschossen hatte, hatte jedoch nochmal ein Backup vom Backup, habe ich das fs gleich mit "mke2fs -s off" erstellt. An der Situation hat sich jedoch trotzdem nichts veraendert. :zitter:

EDIT2: Habe nun das selbe mit einem debugfs von Knoppix gemacht. Konnte jetzt zwar das Large_files ausschalten, jedoch das fs nicht clean bekommen, somit konnte ich es wieder nicht mounten.
Nach einer Nacht darueber schlafen ist mir nun endlich gekommen das ich auf dem fs zwei 4GB grosse Dateien noch erstellt hatte(Backups von Windoof). Diese dann geloescht und somit clean bekommen und siehe da, schon konnte ich die Partition unter FreeBSD mounten! :)
 
Zuletzt bearbeitet:
Zurück
Oben