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
 

Related content

  • 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.
  • Datei mit System
    Was ist ein Dateisystem? Warum gibt es mehrere davon, und warum verwendet Linux nicht die gleichen wie Windows? Das sind viele Fragen, die wir in diesem Artikel beantworten.
  • 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

title_2014_08

Digitale Ausgabe: Preis € 5,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

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...