RaidZ2 mit einer HD

Status
Not open for further replies.

brejoc

Cadet
Joined
Jan 5, 2012
Messages
5
Hi Leute,

kurze Anfängerfrage. Ist es möglich ein RaidZ2 mit einer Platte anzulegen, um das später ohne Datenverlust oder Datenkopiererei zu erweitern?


Vielen Dank und viele Grüße!

Jochen
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Raid-Z2 benötigt mindestens 3 (oder vielleicht sogar 4?) Festplatten.

Um kurz auf die Struktur von ZFS einzugehen:
Man greift im Endeffekt auf zpools zu und speichert dort seine Dateien.
- Ein zpool besteht aus einem oder mehreren vdevs.
- Ein vdev besteht aus einer oder mehreren Festplatten, die entweder redundant (raid-Z, mirror) oder nicht-redundant (stripe, ähnlich raid0) angelegt sein können.

Um nun mehr Platz in dem zpool zu bekommen, gibt es zwei Möglichkeiten:
- Erweiterung des zpools durch einen neuen vdev (z.B. einen weiteren raid-Z)
- Upgrade aller (!) Festplatten eines vdevs (zb von 1TB Platten auf 3TB Platten)


Ich hoffe ich konnte dir helfen.
 

brejoc

Cadet
Joined
Jan 5, 2012
Messages
5
Und wie mir das geholfen hat. Vielen Dank! Dann werde ich wohl doch direkt ein paar Euro mehr ausgeben müssen. :)
 

bubulein

Explorer
Joined
Jun 1, 2011
Messages
62
Moin,
um ein eine Gewisse Sicherheit zu erreichen kann Du auch die Option "copies=X" verwenden.
Dann wird dein ZFS X kopien für jede Datei anfertigen. Wenn Du nun einen Zusätzliche Platte einbaust wird dann jeweils eine Kopie auf eine weitere Platte angelegt. Soweit ich weiss wird ein "scrub" jedoch Daten die berreits auf einer einzelnen Platte sind nicht duplizieren, so das Du die Daten einfach nochmal hin und her kopieren/verschieben musst.

Code:
 copies=1 | 2 | 3

	   Controls  the  number  of  copies  of data stored for this dataset.
	   These copies are in addition to  any  redundancy  provided  by  the
	   pool,  for  example,  mirroring or raid-z. The copies are stored on
	   different disks, if possible. The space used by multiple copies  is
	   charged to the associated file and dataset, changing the used prop-
	   erty and counting against quotas and reservations.

	   Changing this property only affects newly-written data.  Therefore,
	   set	this  property	at  file  system creation time by using the -o
	   copies= option.

Quelle: http://www.freebsd.org/cgi/man.cgi?query=zfs&manpath=FreeBSD+8.2-RELEASE
Mehr: http://blogs.oracle.com/relling/entry/zfs_copies_and_data_protection

Ich stelle gerade meinen Pool darrauf um werde auch Tests laufen lassen um die Zuverlässogkeit zu ermitteln.
Das schöne daran ist das ich einen Mirror einrichten kann ohne beim zukauf von Platten auf die Grösse achten zu müssen.

-Christian
 

brejoc

Cadet
Joined
Jan 5, 2012
Messages
5
@bubulein: hört sich auf jeden Fall mal gut an. Würde mich interessieren, wie deine Tests ausfallen.

Ciao
Jochen
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
Hi,

Ich dachte, der zPool ist zum Partitionieren der vdevs (Diskquota, Komprimierung, Verschlüsselung)
Man kann doch auch ein physikalische z-RAID Volume direct sharen, ohne ein zPool zu machen. Ist das nicht unter Umständen sogar performanter, als
auf einer RAID-Sammlung von zfs Platten noch eine logische Schicht drüberzubügeln? Das frisst doch sicher auch Speicher und CPU ohne Ende.
 

bubulein

Explorer
Joined
Jun 1, 2011
Messages
62
Hi,

Ich dachte, der zPool ist zum Partitionieren der vdevs (Diskquota, Komprimierung, Verschlüsselung)
Man kann doch auch ein physikalische z-RAID Volume direct sharen, ohne ein zPool zu machen. Ist das nicht unter Umständen sogar performanter, als
auf einer RAID-Sammlung von zfs Platten noch eine logische Schicht drüberzubügeln? Das frisst doch sicher auch Speicher und CPU ohne Ende.

Die vdev geben an welchen RAID-Typ man möchte. (mirror, raidz, stripe)
Die vdev werden über einen zpool dem System zugänglich. (man kann auch raidz, stripe und mirror kombinieren)
Dieser zpool ist zugleich auch ein zfs-dataset (spricht root-dataset des zpools)
Die zfs-datasets sind eigentlich nur nötig wenn diese besondere Fähigkeiten haben sollen (snapshots/kompression/quota).
Dem zpool ist es egal ob nun nur ein dataset da ist oder mehrere.

Man darf da etwas nicht verwechseln.
ZFS == Dateisystem
Zpool == Volumemanager (Verwaltung von Festplatten/RAID)

-Christian
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
OK, Danke. Das heisst aber doch im Umkehrschluss, dass man mit dem zfs vdev (root-dataset des zpools) bereits

- zfs als dateisystem hat (Paritätsblöcke und Datenschutz gegen Alterungserscheinungen)
- ein Software RAID gegen Plattenausfall
- die Möglichkeit shadow copy (snapshots) zu nutzen für die Rücksicherung versehentlich gelöschter / zerstörter Daten

mit einem ZPool gewinnt man (mit dem Preis von zusätzlichem Speicherhunger / CPU Last) zusätzlich:

- Kompimierung
- Deduplizierung
- Verschlüsselung (geht noch nicht)

Wenn man also eine schwachbrüstige NAS hat (2GB RAM, alter Celeron dual core), ist vdev ohne zpool die bessere Wahl - oder?
 

bubulein

Explorer
Joined
Jun 1, 2011
Messages
62
Moin,

ich machs kurz - entweder alles oder nichts.
Ein Zpool besteh immer aus vdev, dataset und z-dateisystem.
Entweder Oder gibts es nicht.

-Christian
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
OK, danke.

Ich verstehe aber eins noch nicht. Ich habe in meiner Unwissenheit

- ein new volume creiert (2 Platten RAID1, zfs)
- dann habe ich mit change permissions meine Rechte vergeben
- habe mit add periodic tasks mein volume ausgewählt und snapshots konfiguriert
- habe mit sharing -> add cifs shares mein volume mount point ausgewählt und freigegeben.
- habe anschließend meine Daten auf die NAS geschoben

ich habe kein zfs volume angelegt und kein dataset. Meine daten sind auf der NAS, snapshots funktionieren.

in zfs snapshots sehe ich die snapshots und kann sie auch unter linux / xp in Ordner .zfs finden und lesen

Was hätte ich anders machen sollen und wie bekomme ich meine daten dorthin migriert?

Der richtige Weg wäre also gewesen, z-datasets anzulegen und diese dann in ein z-volume zu packen, und dann das z-volume freizugeben?

Ich habe mal in einer VM versucht, es nachzustellen, ich kann in ein z-volume keine z-datasets hinzufügen, sondern nur physische zfs volumes - und auch nur jeweils eins (ich kann nicht mehrere zfs volumes zu datasets oder z-volumes aggregieren)

Mit sharing bekomme ich über das UI auch nur die physischen zfs-volumens und die datasets darunter angeboten. Die logischen volumens tauchen gar nicht in der Liste auf. Sie sind auch ganz wo anders im pfad (/dev/zvol/[vol1]/[zvol1])


Irgendwo habe ich noch einen Denkfehler, oder das UI macht nicht mit.
 

bubulein

Explorer
Joined
Jun 1, 2011
Messages
62
Moin,

[...]
Ich habe in meiner Unwissenheit
- ein new volume creiert (2 Platten RAID1, zfs)
[...]

ich habe kein zfs volume angelegt und kein dataset. Meine daten sind auf der NAS, snapshots funktionieren.
Als Du Deine Festplatten zu einem RAID1 gemacht hast ist folgendes passiert.
1. Du hast ein "vdev miror" erstellt
2. Du hast einen zpool (Volume) mit dem "vdev" erstellt
3. Du hast ein zfsdataset angelegt "dein zpool == erstes dataset"
zpool name == tank
zfs dataset name == tank
deshalb kannst Du auch "snapshoots" vom zpool "tank" machen, weil du ja eigentlich "snapshots" vom dataset tank machst

Der richtige Weg wäre also gewesen, z-datasets anzulegen und diese dann in ein z-volume zu packen, und dann das z-volume freizugeben?
Nein, weil Du ohne zpool kein dataset anlegen kannst. Es ist einfach so das alles voneinander abhängig ist.

Ich habe mal in einer VM versucht, es nachzustellen, ich kann in ein z-volume keine z-datasets hinzufügen,
sondern nur physische zfs volumes - und auch nur jeweils eins (ich kann nicht mehrere zfs volumes zu datasets oder z-volumes aggregieren)
[/QUOTE]

Dann will ich mal helfen Dich über Deinen Denkfehler aufklären:

Du musst verstehen was folgende begriffe bedeuten.

zpool
zfs dataset
zfs filesystem
zvol == z volume

Du hast schlichtweg versucht ein "zvol" bei deinen Ãœberlegungen mit einzubringen. Ein zvol ist eine Sonderform des datasets, dabei wird kein Dateisystem angelegt. Es ist eher vergleichbar mit einer unformatierten Partition. Es wird oft dazu benutzt um es via iSCSI freizugeben. Kurzum, dem System wird vorgegaukelt das es sich dabei um eine Festplatte handelt.

-Christian
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
Vielen Dank! - Also alles intuitiv richtig gemacht, ich brauche meine Daten nicht noch mal migrieren und auch keine extra datasets anlegen, es ist ja automatisch eins angelegt worden.
 
Status
Not open for further replies.
Top