Loopback
Aus LinWiki.de
Loopback ist eine Technik des Linux Kernels, die es ermöglicht Dateien als blockorientierte Geräte (quasi als Festplatten) zu benutzen. Dabei wird eine neue Gerätedatei erstellt, die dann auf die verwendete Datei verweist. Das ist z.B. dann sinnvoll, wenn man neue/andere Dateisysteme ausprobieren will, ohne dabei eine bestehende Partitionierung zu verändern, oder ein Datenimage erstellen möchte, das z.b. auf CD gesichert werden kann, ohne dabei die Einschränkungen der gängigen CD-Dateisysteme berücksichtigen zu müssen. Man möchte vielleicht aber auch einfach mal andere Techniken wie den device-mapper ausprobieren.
Inhaltsverzeichnis |
[Bearbeiten] Der Kernel
Im Kernel muß folgende Option aktiv sein:
Device Drivers ---> Block devices ---> <*> Loopback device support
Sollte Loopback als Modul kompiliert worden sein, muß das Modul natürlich geladen werden:
modprobe loop
[Bearbeiten] Loopdatei
Als erstes wird eine Datei mit der für die Partition benötigten Größe erstellt, in diesem Beispiel wird eine 100MB große, leere Datei:
dd if=/dev/zero of=/storagefile bs=1M count=100
Es kann prinzipiell jede Datei dafür verwendet werden, jedoch muß die Größe der Datei feststehen.
[Bearbeiten] losetup
Als nächstes wird nun ein Loopback Device mit Verweis auf die Datei erstellt. Der Sicherheit halber sollte man dazu als erstes abgefragen, welches Loopback Device unbenutzt ist:
losetup -f
was dann z.B. /dev/loop0 zurückgibt. Dieses Gerät kann dann verwendet werden:
losetup /dev/loop0 /storagefile
[Bearbeiten] mount
Ab jetzt kann /dev/loop0 als ganz normales block device verwendet werden (wie z.B. eine Partition). Dazu muß als erstes ein Dateisystem darauf erstellt werden (was die festgelegte Größe der Datei verlangt):
mkfs.reiserfs /dev/loop0 mkdir /loopstorage mount -t reiserfs /dev/loop0 /loopstorage
[Bearbeiten] Weiterführendes
Der Linux Kernel verarbeitet bis zu 8 Loopback Devices, die alle ganz nach Bedarf verwendet werden können. Man kann deren Inhalt z.B. verschlüsseln, ein RAID-Array aus Loopback Devices erstellen oder per LVM zu einem einzigen Gerät zusammenfassen lassen, was z.B. dann sinnvoll ist, wenn man für Backupoperationen oder ähnliches darauf angewiesen ist, kleinste Restmengen freien Speicherplatzes auf verschiedenen Dateisystemen zusammenzufassen und Daten darin zu speichern.

