Re: zfs

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 9 Oct 2007 15:53:59 +0200 (CEST)

Michael Gusek wrote:
> Ich spiele gerade ein wenig mit zfs herum und habe da eine Frage. Mit
> zfs kann man ja mehrere Methoden verwenden, um seine Daten sicher zu
> halten. Da wären z.b. mirror, raidz und raidz2. Ich frage mich, welche
> Methode die bessere ist.

Mirror ist RAID-1, "raidz" ist mit RAID-5 (eine Redundanz-
Disk) vergleichbar, und "raidz2" mit RAID-6 (zwei Redun-
danz-Disks).

Wenn Du Google, Altavista o.ä. nach diesen RAID-Levels
befragst, findest Du jede Menge Informationen, die Dir bei
der Entscheidung helfen können. Wobei raidz2 schonmal aus-
fällt, wenn Du nur vier Platten hast, von denen Du eine als
Hot-spare verwenden möchtest.

Außerdem möchte ich Dir dringend den »ZFS Best Practices
Guide« ans Herz legen, dort insbesondere den Abschnitt
1.2.4 »Should I Configure a RAID-Z, RAID-Z2, or a Mirrored
Storage Pool?« -- Der ist wie für Dich gemacht:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

> Meine erste Wahl war eigentlich raidz. Ich
> würde 4 Platten verwenden, wobei eine Hotspare spielt.

OK, dann hättest Du also 50% des Gesamtplatzes für Nutz-
daten. Genausoviel wäre es, wenn Du die vier Platten
mirrorn würdest -- das brächte bessere Performance, aber
Du hättest keinen Hot-spare.

> Allerdings ist es
> nicht möglich, diesem erstellten raidz weitere Festplatten hinzuzufügen,
> wenn der Speicherplatz ausgeht. Ich kann lediglich dem entsprechenden
> pool ein neues raidz oder mirror hinzufügen.

Das ist (leider) korrekt.

> Das find ich ungünstig, da
> ich im zweifelsfall lediglich eine Festplatte zufügen möcht und da wäre
> eine Konfiguration als mirror oder raidz nicht gut, denn es besteht ja
> in diesem Fall keine Redundanz für die eine Festplatte, richtig ?

Korrekt.

> Also
> käme eigentlich in diesem Szenario nur eine Konfiguration als mirror in
> Frage, denn hier kann man jederzeit Festplatten per 'attach' zufügen,
> sodass man ein (laut doku) one-way, two-way, ... -Mirror erhält.

Das stimmt, aber damit gewinnst Du keinen neuen Platz, son-
dern Du erhöhst lediglich die Redundanz. Hilft Dir also
nicht. Du müsstest schon zwei (gleichgroße) Platten hinzu-
fügen, die dann erneut einen Mirror bilden.

> Hier stellt sich aber die Frage, wie performt eine mirror-
> Konfiguration im Vergleich zu einer raidz-Konfiguration ?

Im allgemeinen besser. Siehe dazu auch obigen URL.

Andererseits ist es ja häufig so, dass, wenn man irgendwann
neue Platten kauft, diese größer sind als die alten. Fest-
platten werden ja ständig größer, und der »Sweet spot« für
das beste Preis-Größen-Verhältnis verschiebt sich auch
ständig nach oben. Wenn man heute zwei 500GB-Platten kauft
und in ein, zwei oder drei Jahren der Platz ausgeht, dann
wird man dann vermutlich eher 1TB-Platten (oder größer)
kaufen, weil dann das Preis-Größen-Verhältnis der kleinen
500GB-Platten deutlich schlechter sein wird.

Wenn Du also irgendwann mehr Platz brauchst, dann kauf zu
dem Zeitpunkt einfach zwei (oder mehr) gleichgroße Platten
der Größe, die dann preislich am günstigsten ist -- das
werden mit Sicherheit größere sein als die, die Du heute
hast. Und mit denen bau dann einen neuen Mirror oder raidz
auf. Die alten kannst Du dann (nach der Migration der Da-
ten) entweder verscherbeln, oder für Backup-Zwecke verwen-
den, oder sonstiges. Ich habe auch festgestellt, dass es
nie schadet, für Notfälle Ersatzfestplatten im Regal liegen
zu haben.

Eine weitere Möglichkeit, die mir gerade einfällt: Ulf
Lilleengen schreibt im Rahmen seines SoC-2007-Projektes
ein verbessertes gvinum (Vinum auf GEOM-Basis). Es hat
unetr anderem die Möglichkeit, eine Festplatte zu einem
bestehenden RAID-5 hinzuzufügen, um die Nutzkapazität zu
vergrößern. Siehe auch dieser Commit:

http://perforce.freebsd.org/chv.cgi?CH=123662

Das neue gvinum ist allerdings bisher nur im P4-Repository,
noch nicht in -current. Du müsstest es also aus dem Per-
force auschecken und ausprobieren. Das gvinum-RAID-5
kannst Du dann als Storage für ein ZFS verwenden. Du hät-
test dann also trotzdem alle ZFS-Features (Checksummen,
Snapshots usw.) zur Verfügung, auch ohne ZFS storage pool
darunter.

Das waren jetzt nur Vorschläge und Möglichkeiten; entschei-
den musst Du selbst.

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
"The scanf() function is a large and complex beast that often does
something almost but not quite entirely unlike what you desired."
        -- Chris Torek
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 09 Oct 2007 - 15:55:31 CEST

search this site