AA_ground_4seasons_sxc_1390168.jpg

© 4seasons, sxc.hu

Neuer Untergrund

Dateisysteme on-the-fly umwandeln mit Fstransform

14.08.2012
Mit Fstransform wandeln Sie Dateisysteme um, ohne den Datenträger zu formatieren oder die Daten darauf zu löschen.

Das Dateisystem gibt vor, wie das Betriebssystem Dateien auf der Festplatte speichert. Dummerweise gibt es gleich einen ganze Reihe von Ansätzen zum Speichern der Daten. Unter Linux erfreut sich derzeit Ext4 großer Popularität, als Nachfolger steht Btrfs in den Startlöchern. Windows dagegen verwendet NTFS, dessen Urahn FAT32 vor allem noch auf vielen USB-Sticks zum Einsatz kommt.

Welches Dateisystem Sie unter Linux einsetzen, bestimmen Sie bei der Installation des Systems, falls Ihnen die Distribution diese Wahl nicht schon abnimmt. Liegt das System erst einmal auf der Platte, fällt ein Wechsel schwer: Wer auf Nummer sicher gehen will, kopiert die Dateien erst auf einen anderen Datenträger, formatiert dann die Festplatte neu und spielt schließlich alle Dateien wieder zurück. Mit etwas Glück bleiben deren Attribute dabei erhalten.

Eine alternative zu diesem aufwendigen Verfahren verspricht Massimiliano Ghilardi mit seinem Programm Fstransform: Die Software für die Kommandozeile wandelt ein Dateisystem in ein anderes um, ein Zwischenspeicher ist dabei nicht mehr nötig. Hinter Fstransform verbirgt sich übrigens nur ein Wrapper-Skript: Das eigentliche Konvertieren erledigen im Hintergrund die beiden Programme fsmove und fsremap. Der Kasten "Installation" erläutert, wie Sie die Software auf dem gewünschten System aufsetzen.

Installation

Als Neuling hat Fstransform noch nicht den Weg in alle Distributionen gefunden. Canonical nimmt es beispielsweise erst mit Ubuntu 12.10 in seine Repositories auf. Im Moment gilt es Fstransform daher selbst zu übersetzen. Das erledigen Sie jedoch rasch: Zunächst installieren Sie über den Paketmanager den C++-Compiler und make. Unter Ubuntu liegen die beiden in den Paketen g++ und make.

Anschließend laden Sie die aktuelle Fstransform-Version von der Homepage [1], entpacken das Archiv auf der Festplatte und rufen dann im neu entstandenen Verzeichnis nacheinander die drei Befehle ./configure, make und – als rootmake install auf.

Nur mit Backup

Wie üblich gibt es aber ein paar Haken: So kann Fstransform nur mit den unter Linux gebräuchlichen Dateisystemen Ext2, Ext3, Ext4, ReiserFS, JFS und XFS umgehen, nicht aber mit den Windows-Dateisystemen NTFS, MS-DOS und FAT32. Der häufige Wunsch, eine alte Windows-Partition in eine mit Ext4-Dateisystem zu verwandeln, bleibt somit vorerst unerfüllt.

Darüber hinaus besteht bei Fstransform prinzipbedingt die Gefahr, dass beim Umwandeln Daten im Nirwana landen. Der Entwickler übernimmt für Verluste ausdrücklich keine Haftung und weist in der Dokumentation deutlich auf die Gefahren hin. Möchten Sie das Tool einsetzen, legen Sie als Erstes eine Sicherheitskopie an, am besten in Form eines Images. Dieses spielen Sie im Falle eines Falles bei Bedarf schnell wieder ein. Für das Spiegeln bietet sich zum Beispiel das Live-System Clonezilla [2] an (siehe Kasten "LinuxUser Rescue CD").

LinuxUser Rescue CD

Eine Partition mit allen darauf liegenden Daten kopieren Sie im Handumdrehen mit der LU Rescue CD 08.12 aus der letzten Ausgabe. Das Komplettsystem eignet sich nicht nur zum Kopieren von Partitionen, sondern auch zur Pflege von Systemen und zur Analyse und zum Retten von Daten nach einem Crash. Es enthält neben System Rescue CD 2.8.0 und Parted Magic 2012_05_30 zusätzlich das im Beitrag erwähnte Clonezilla in der aktuellen Version 1.2.12-67. Haben Sie das Heft nicht vorliegen, bestellen Sie die Ausgabe komfortabel über das Internet [5].

Um mit Fstransform ein Dateisystem umzuwandeln, benötigen Sie auf der entsprechenden Partition mindestens fünf Prozent freien Speicherplatz. Je mehr allerdings bereit steht, desto reibungsloser klappt das Konvertieren. Der Autor des Programms rät, vor dem Umwandeln einer Partition nach XFS mindestens zehn Prozent freien Plattenplatz zu reservieren.

Außerdem setzt die Software das Vorliegen der jeweiligen System-Tools für das vorhandene und das neue Dateisystem voraus. Möchten Sie unter Ubuntu eine Partition mit dem XFS-Dateisystem ausstatten, rüsten Sie die XFS-Tools über das Paket xfsprogs nach.

Das neu einzurichtende Dateisystem muss zusätzlich sogenannte Sparse-Dateien [3] unterstützen. Außerdem setzt Fstransform die Systemaufrufe ioctl(FS_IOC_FIEMAP) beziehungsweise ioctl(FIBMAP) voraus. Selbstverständlich benötigt die Software einen Kernel mit entsprechendem Support für Ausgangs- und Zieldateisystem.

Sowohl für das aktuell verwendete wie für das gewünschte Dateisystem benötigen Sie auf dem betreffenden Rechner die Programme mkfs und fsck. Darüber hinaus verwendet Fstransform die Kommandozeilen-Tools aus der Tabelle "Kleine Helfer".

Kleine Helfer

which Pfad zum Kommando ausgeben
expr Ausdrücke evaluieren
id Ausgabe der realen und effektiven User-ID
blockdev Systemfunktionen für Blockgeräte direkt aufrufen
losetup Loop-Devices aufsetzen und verwalten
mount Geräte einhängen
umount Geräte aushängen
mkdir Verzeichnisse erstellen
rmdir Verzeichnisse löschen
rm Dateien und Verzeichnisse löschen
mkfifo FIFO erstellen
dd Datei konvertieren oder kopieren
sync Zwischenspeicher wegschreiben
fsck Dateisystem überprüfen
mkfs Dateisystem erstellen

Haben Sie die zu konvertierende Partition gerade in einem Verzeichnis eingehängt, benötigt das Skript auf jeden Fall Schreib- und Leserechte. Außerdem dürfen während des Umwandelns keine Prozesse auf die Partition zugreifen, da Fstransform die Partition aushängt. Das bedeutet, dass ein Umwandeln der Root-Partition im laufenden Betrieb nicht funktioniert.

Erfüllt das System alle Voraussetzungen, rufen Sie Fstransform mit den Rechten des Superusers auf. Es verlangt als Parameter die Gerätedatei mit der umzuwandelnden Partition sowie das Zieldateisystem. Der Befehl

# fstransform /dev/sdb1 xfs

konvertiert die erste Partition der zweiten Festplatte in das XFS-Dateisystem.

Umzug

Im ersten Schritt prüft die Software, ob sie alle Hilfsprogramme findet. Tritt hier ein Fehler auf (Abbildung 1), sollten Sie über [Eingabe] den Vorgang abbrechen und die fehlenden Programme nachinstallieren. Sofern die zu konvertierende Partition noch nicht eingehängt ist, mountet Fstransform sie in einem Verzeichnis unter /tmp.

Abbildung 1: Fstransform findet die Werkzeuge für das XFS-Dateisystem nicht und bricht daher den Vorgang ab.

Einige Distributionen, wie etwa Ubuntu, öffnen dabei automatisch den Dateimanager (Abbildung 2). Dessen Fenster sollten Sie umgehend wieder schließen, andernfalls kommt es zu einem weiteren Fehler.

Abbildung 2: Hat das Skript die zu konvertierende Partition einhängt, öffnet Ubuntu in der Regel automatisch den Dateimanager. Diesen schließen Sie sofort wieder.

Das Skript pausiert anschließend noch einmal und bietet Ihnen die Möglichkeit, den gesamten Vorgang mit [Strg]+[C] abzubrechen. Möchten Sie das Umwandeln fortsetzen, drücken Sie [Eingabe]. Nachdem Fstransform den ersten Teil des Konvertierens hinter sich gebracht hat, hängt es die zu konvertierende Partition wieder aus.

Falls das nicht klappt, hält das Skript mit einer Fehlermeldung an (Abbildung 3). Das ist aber kein Grund zur Panik: Sie öffnen kurzerhand ein zweites Terminal und hängen die Partition per Hand aus, etwa mittels:

$ sudo umount /dev/sdb1
Abbildung 3: Fstransform schafft es nicht, die zu konvertierende Partition /dev/sdb1 selbst wieder auszuhängen.

Jetzt tippen Sie im Fenster mit Fstransform continue ein und drücken [Eingabe]. In jedem Fall sollte in dieser Phase eine Meldung wie in Abbildung 4 erscheinen. Hier drücken Sie wieder [Eingabe] und haben anschließend – zumindest beim Umwandeln größerer Partitionen – die Gelegenheit, gleich mehrere Liter eines Heißgetränks der Wahl zu sich zu nehmen.

Abbildung 4: Der erste Teil der Konvertierens ist an dieser Stelle abgeschlossen.

Das Umwandeln dauert etwa eine Minute pro Gigabyte. Das ergibt bei einer Partition mit 250 GByte Daten also eine Dauer von bis zu vier Stunden. Während dieser Zeit dürfen Sie die Arbeit unter keinen Umständen unterbrechen. Es empfiehlt sich, das System nicht zu nutzen, bis eine Meldung ähnlich der aus Abbildung 5 erscheint.

Abbildung 5: Eine schlichte Nachricht kündet vom erfolgreichen Konvertieren.

Läuft etwas schief, finden Sie unter /var/tmp/fstransform mehrere Log-Dateien mit den Namen fstransform.log.Nummer und fsremap.job.Nummer/fsremap.log. Sollte fsremap seine Arbeit abbrechen, lohnt es sich, es über

# fsremap --resume-job=Nummer /dev/sdc1

dazu zu bewegen, die unterbrochene Arbeit noch einmal aufzunehmen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Clonezilla Live 2.2.4-12 veröffentlicht
    Die neue Version des Klon-Werkzeugs für Festplatten und Partitionen behebt nicht nur zahlreiche Fehler, sondern bringt auch einige kleinere Neuerungen mit.
  • Kernel und Dateisystem-Tools aktualisiert

    Die Rettungsdistribution System Rescue CD ist in Version 2.5.0 mit aktualisierter Software erhältlich.
  • resize_reiserfs
    Nach der Installation stellen Sie oft fest, dass das Installationsprogramm die gesamte Distribution auf eine einzige Root-Partition installiert hat. Diese Anleitung beschreibt, wie Sie eine ReiserFS-Partition verkleinern, um Platz für neue zu gewinnen.
  • Clever schachteln
    Btrfs bringt alles mit, was die großen Spieler im Linux-Business von einem Dateisystem erwarten: Es ist schnell, erweiterbar und flexibel. Dieser Artikel stellt Ihnen das neue Linux-Dateisystem vor.
  • Inode in Not
    Mit den richtigen Werkzeugen fühlen Sie Ihrem Dateisystem auf den Zahn, beseitigen Inkonsistenzen und restaurieren beschädigte Dateien.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...