Re: dd und Dateisystem

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 7 Dec 2009 20:53:19 +0100 (CET)

Polytropon wrote:
> Oliver Fromme wrote:
> > Außerdem kann sich durch diese Aktion der Fragmentierungs-
> > grad des Dateisystems erhöhen.
>
> Fragmentierung... das letzte mal, daß ich dieses Wort
> gehört habe, hatte das irgendwas mit DOS oder "Windows"
> zu tun;

Fragmentierung bei FAT ist etwas völlig anderes als bei UFS.
Das eine hat mit dem andren kaum etwas zu tun, außer dem
gleichen Wort.

> unter FreeBSD ist es mir bis dato noch nicht begegnet,

Es begegnet Dir bei jedem Boot-Vorgang. Beispiel:

Starting file system checks:
/dev/mirror/gm0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mirror/gm0s1a: clean, 481895 free (2655 frags, 59905 blocks, 0.5% fragmentation)
/dev/mirror/gm0s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mirror/gm0s1d: clean, 4963344 free (1104 frags, 620280 blocks, 0.0% fragmentation)
/dev/mirror/gm0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mirror/gm0s1e: clean, 4121557 free (115645 frags, 500739 blocks, 2.3% fragmentation)
/dev/mirror/gm0s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mirror/gm0s1f: clean, 45588244 free (38252 frags, 5693749 blocks, 0.1% fragmentation)

Die 2.3% beim dritten Dateisystem sind schon relativ viel,
was aber in diesem konkreten Fall zu erwarten ist, da es
sich um die Partition handelt, auf der sich u.a. ports,
src, obj und ein paar andere »eklige« Sachen befinden.

> obwohl ich mir durchaus vorstellen kann, daß
> auch hier im Prinzip ein solches "Problem" vorliegen
> kann (Problem ja nur bei massiver Fragmentierung).

Bei UFS bezeichnet man als Fragmentierung den Anteil der
Blöcke, die Fragmente enthalten, am Gesamtplatz. fsck
zeigt sie an (z.B. beim Booten, siehe oben). Man kann
den Wert auch im laufenden Betrieb errechen, indem man
sich die Ausgabe von dumpfs(8) anschaut, z.B.:

# dumpfs /dev/ad0s1a | head

Der Anteil von "nffree" an "blocks" ergibt den gleichen
Prozentwert, den fsck ausgibt.

Die Fragmentierung hat einen erheblichen Einfluss darauf,
ob ein UFS-Dateisystem bei der Belegung neuer Blöcke nach
Zeit oder Platz optimiert (time vs. space optimization).
Sie ist also maßgeblich für die Performance.

Wenn man beim newfs die Werte für -f -und -v gleichsetzt
(d.h. Fragment- und Blockgröße sind gleich), kann keine
Fragmentierung entstehen. Sie ist dann immer 0%, und es
wird immer nach Zeit optimiert. Der Nachteil ist dann
natürlich der Platz-Verschnitt. Lohnen tut sich so eine
Einstellung für Dateisysteme, auf denen hauptsächlich
wenige, große Dateien liegen sollen (etwas Multimedia-
Daten, Images o.ä.). Dann sollte man auch die inode-
Dichte reduzieren (Option -i bei newfs). Dadurch wird
auch das fsck im Fall der Fälle deutlich beschleunigt.

Oder halt -- wie gesagt -- ZFS verwenden. Dann muss man
sich um das alles keinen Kopf machen. :-)

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
"Emacs ist für mich kein Editor. Für mich ist das genau das gleiche, als
wenn ich nach einem Fahrrad (für die Sonntagbrötchen) frage und einen
pangalaktischen Raumkreuzer mit 10 km Gesamtlänge bekomme. Ich weiß nicht,
was ich damit soll." -- Frank Klemm, de.comp.os.unix.discussion
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 - 20:53:40 CET

search this site