[linux-l] Platte als Image sichern

Steffen Dettmer steffen at dett.de
Mo Mär 10 23:35:41 CET 2008


* Jan-Benedict Glaw wrote on Mon, Mar 10, 2008 at 00:08 +0100:
> On Sun, 2008-03-09 23:51:53 +0100, Steffen Dettmer <steffen at dett.de> wrote:
> > * Jan-Benedict Glaw wrote on Sun, Mar 09, 2008 at 23:00 +0100:
> > > > Kriegt man das mit einem Plattenimage hin? Das dem Kernel wie'n
> > > > mass-storage unterzujubeln? Laut `alles Files' müsste es ja
> > > > eigentlich gehen - rein praktisch vermutlich aber nicht...
> > > > 
> > > > Weiss jemand was dazu? Wie sieht das mit BSD aus? plan9 kanns, was?
> > > 
> > > Zu BSD und plan9 kann ich nichts sagen, aber unter Linux kannst Du für
> > > den loop-mount ein Offset angeben, sodaß Du an die Dateisysteme der
> > > einzelnen Partitionen kommst.
> > 
> > Ja schon klar, aber das ist etwas anderes. Hier wird eine Partition
> > untergejubelt, die anderen Daten der Datei werden einfach
> > ignoriert. Das Ende wird sicherlich nicht erkannt, falls z.B. das
> > filesystem grösser als die Partion laut Partitionstabelle usw.
> > ein resizefs auf maximum killt damit bestimmt alle folgenden
> > Partitionen usw.
> 
> Ich versteh' Dein Problem nicht...

Kein Problem. Ich sagte doch nur, dass das mounten eines
Partitionsimages innerhalb eines Plattenimages mit
offset-Basteleien etwas anderes ist, als ein Plattenimage wie ein
mass-storage inkl. Partionstabelle/disk label zu verwenden.

Letztes sollte `eigentlich' durch die Abstraktion `alles sind
Files' ja theoretisch funktionieren. Meine Vermutung ist, dass es
praktisch bei Linux aber nicht funktioniert (weil `alles sind
Files' ein - sagen wir mal - Ideal ist).

> Meinst Du, jemand loop-mounted mit offset ein image einer
> Partition, daß zu klein geraten ist?  Natürlich werden da
> bounds checks durchgeführt!  Oder reden wir komplett aneinander
> vorbei?

Es können doch keine bounds checks durchgeführt werden, weil doch
nur ein offset für den Beginn, aber kein Ende bzw. Länge bekannt
ist. Aber das war nur ein Beispiel für Unterschiede von
Partitionsimages innerhalb eines Plattenimages mounte
vs
Plattenimage wie ein mass-storage verwenden
Da gibt es natürlich noch weitere Unterschiede. Beispielsweise
kommt Linux ohne Reboot mit Partionstabellenänderungen klar und
überhaupt verwaltet es die offsets automatisch. Aber nur, wenn
das Plattenimage sowas wie /dev/sda ist, aber wohl nicht, wenn es
/tmp/image.bin ist.

> > Kann man z.B. dem Hotplug irgendwie ein /dev/loop0 so
> > unterschieben, dass es es wie z.B. ein /dev/sda benutzt?
> 
> Wozu? loop0 ist ein block device.

/dev/sda ist auch eins.

> Willst Du Partitions-Erkennung? Kann man im userland mit
> losetup und Berechnen des Offsets machen.

Ja, beispielsweise unter anderem Partitions-Erkennung. Der
offset-Workaround ist mir bekannt. Auch, dass ich das Image
zerlegen kann, wenn ich Endeerkennung brauche etc.

  (BTW, ich `will' hier überhaupt nichts konkretes. Ich habe mir
   nur gefragt, ob diese Abstraktion jetzt funktioniert, weil
   wegen dem Hotplug-Krams wohl in den letzten Jahren eh viel
   neugeschrieben wurde. Zu BSD hab ich nur gefragt, weil ich
   beim Lesen in der Vergangenheit oft überrascht war, welch
   schicken Sachen es bei BSD gibt. Bei plan9, wo meinen
   rudimentären Verständnissis nach die File-Abstraktion ernster
   genommen wird, würde ich so eine Möglichkeit erwarten,
   Vorrausgesetzt, es gibt so ein Konzept überhaupt).

  Aber so viel wollte ich dazu gar nicht schreiben...

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.




Mehr Informationen über die Mailingliste linux-l