Re: dd und Dateisystem

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 7 Dec 2009 09:37:38 +0100 (CET)

Marc Santhoff wrote:
> Bernd Walter wrote:
> > Polytropon wrote:
> > > Marc Santhoff wrote:
> > > > Ganz bestimmt werden die Images durch (b)gzip(2) gemangelt, obwohl die
> > > > bei zufälligem Datenmüll auch ihre Probleme haben dürften. So gesehen
> > > > hast DU recht, ich werde mich in jedem Fall nochmal nach passenden Tools
> > > > umgucken, die leere Bereiche ausnullen. Mal gucken wie dann die Relation
> > > > zwischen Platzbedarf und Zeitaufwand ist. Alternativ vielleicht vorher
> > > > nochmal die gesamte Slice "ausnullen", das könnte sogar schneller gehen
> > > > und bei kurzere NUtzungsdauer deutlich wirken.
> > >
> > > Da wüßte ich einen "Trick": Nimme her dd auf der rw-gemounteten
> > > Partition und erstelle eine Datei, etwa so:
> > >
> > > # mount /dev/ad0s1e /mnt
> > > # dd if=/dev/zero of=/mnt/nullfile bs=1m
> > > 1234567890+1 records in
> > > 1234567890+1 records out
> > > cannot write, file system full (oder ähnlich)
> > > # rm /mnt/nullfile
> > > # umount /mnt
> > >
> > > Nun ist der Rest schön ausgenullt.

Wobei das keinerlei Zeitersparnis bringt, im Gegenteil:
Auf diese Weise dauert es _noch_ länger, da das Ausnullen
normalerweise mehr Zeit braucht, als wenn dd(1) die
unbenutzen Blöcke schreiben müsste.

Darüber hinaus besteht die Gefahr, dass Programme, die
während dieses "Gewaltmanövers" auf das Dateisystem
schreiben wollen, dies nicht können und abstürzen oder
(schlimmstenfalls) inkonsistente Daten erzeugen. Dies
durfte ich mit MySQL bereits erleben; die DB war hinter-
her kaputt und musste vom Backup geholt werden.

Außerdem kann sich durch diese Aktion der Fragmentierungs-
grad des Dateisystems erhöhen.

Also, ich würde generell von dieser Methode abraten.

> > Man kann auch einfach das Fielsystem RW mounten, ein snapshot anlegen
> > und dieses per dd abziehen.
> > Das hat Vorteile, vor allem bei Dateisystemen mit viel Leerstand.
> > UFS weiß was belegt ist und was nicht, von daher liest der keine
> > unbelegten Blöcke von der Platte, man muss das System nicht
> > extra anhalten und man hat auch garantierte 0-Blöcke in der
> > Ausgabe, welche sich gut komprimieren lassen, bzw. wenn man mit
> > dd mittels sparse-Erkennung kopiert auch unkomprimiert weniger
> > Platz belegen.
>
> Sehr elegant, das ist eine wirklich smarte Lösung. Lohnt sich doch
> immer, hier zu fragen. :)

Ja, kann man so machen. Ich hatte überlesen, dass es in
Deinem Fall nur um relativ kleine Dateisysteme geht, wo
UFS-Snapshots nicht so große Probleme machen.

Bei Dateisystemen in der Größenordnung heute üblicher
Festplatte würde ich UFS-Snapshots nicht in Erwägung
ziehen. Da würde ich dann auf jeden Fall zu ZFS raten.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
Blogging:  Never before have so many people
with so little to say said so much to so few.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 07 Dec 2009 - 09:37:59 CET

search this site