ZFS - Frage zum Umgang mit BlockDevices/zVols

whirpool

Member
Themenstarter
Registriert
14 Dez. 2010
Beiträge
289
Moinmoin :o)

Meine Datengräber werden in kürze ausgetauscht und es soll am Ende ein 5x4TB ZFS-Pool(RaidZ1) werden.
Der Umbau an sich lässt keine Fragen aufkommen, doch ein paar Details bereiten mir Kopfschmerzen.

Zum Aufbau:
Ich habe noch 2x2TB, 2x1,5TB und 2x500GB Festplatten welche ich weiterverwende und aus denen zwei 4TB-Pools gebildet werden.
Um den Speicher einbinden zu können lege ich ein BlockDevice/ZVol der beiden kombinierten 4TB an und erzeuge mit drei neuen 4TB Platten zusammen den 5x4TB RaidZ1.

Die drei Pools:
Code:
  pool: comb2x  (kein mount, nur zVol export per 'zfs create -V 12345M combo2x/comb4tb')
    NAME
    comb2x
      ada4    (alt 2TB)
      ada5    (alt 2TB)

  pool: comb4x  (kein mount, nur zVol export per 'zfs create -V 12345M combo4x/comb4tb')
    NAME
    comb4x
      ada6    (alt 1.5TB)
      ada7    (alt 1.5TB)
      ada8    (alt 500GB)
      ada9    (alt 500GB)
    
  pool: archiv
    NAME
    archiv
      raidz1-0
        ada1    (neu 4TB)
        ada2    (neu 4TB)
        ada3    (neu 4TB)
        /dev/zvol/combo2x/comb4tb  (4TB zVol aus 2 alten Platten)
        /dev/zvol/combo4x/comb4tb  (4TB zVol aus 4 alten Platten)

Kopfzerbrechen bereiten mir die zVols auf den Pools 'comb2x' und 'comb4x'.
Wenn in dieser Konfiguration Daten auf das RaidZ1 geschrieben werden und diese dann auf dem zVol landen, werden Checksum, Kompression, etc. doppelt berechnet/ausgeführt?
Einmal auf dem virtuellen BlockDevice/zVol und dann noch einmal wenn der Inhalt des zVol auf dem Pool geschireben wird?

Sollte/könnte man Checksum(etc.) auf den Pools 'comb2x' und 'comb4x' ausschalten da diese innerhalb des zVol/RaidZ1 generiert wird?

Oder gibt es eine Möglichkeit die alten Platten im RaidZ1 einzubinden ohne das diese in einem Pool sind?

Schoneinmal Dank für den Input und noch einen schönen Sonntag :o)

Gruß,
whirpool
 
Zuletzt bearbeitet:
Hi,
Die Checksummen, kompression,.. werden per default auf allen zVols berechnet.
verstehe ich das Richtig das du alle Pools zu einem großen zusammen fassen willst??
wenn das dein Plan ist dann würde ich das lassen, da das Management nur unnötig komplizert wird...

Ich habe mit Pools die nur aus Festplatten bestehen, bessere Erfahrungen gemacht (siehe Signatur: NAS), da diese einfacher zu debuggen sind, außerdem ist das auch die offizielle Empfehlung :)

Flatterlight
 
Zuletzt bearbeitet:
Moinmoin!

Die Checksummen, kompression,.. werden per default auf allen zVols berechnet.
Jau, so solls auch sein :o) Aber wie schaut es mit dem Pool aus, auf dem das zVol liegt?
Ist dem Pool bekannt das die Daten in dem zVol bereits Prüfsummen/Kompression/weissdergeier haben, oder sieht der Pool nur Blöcke die geschrieben werden und macht den Unfug nocheinmal?

verstehe ich das Richtig das du alle Pools zu einem großen zusammen fassen willst??
wenn das dein Plan ist dann würde ich das lassen, da das Management nur unnötig komplizert wird...
Ich habe die Pool-Übersicht im ersten Post etwas angepasst und es sollte nun ersichtlich sein wie ich die Platten verbinden werde.

Ja, der Fluch des Verbrauchers...
Noch .. *drei.mal.auf.holz.klopf* .. sind die alten Platten fehlerfrei und weitere ~250-280€ für 2x4TB, um noch funktionierende(!) Platten abzulösen, sind derzeit einfach nicht drin.
Klarer Fall von 'Empfohlen != Wirtschaftlich' :o)

Wenn eine alte Platte den Geist aufgibt, dann wird das gesamte zVol in dem sie ist durch eine einzige Platte ausgetauscht.
(z.B.: zpool replace archiv /dev/zvol/combo4x/comb4tb ada6 && zpool destroy comb4x )
So wird der Pool dann irgendwann nur aus 'echten' Festplatten bestehen, doch hoffe ich das das noch eine Weile hin ist ;o)

Ich habe mit Pools die nur aus Festplatten bestehen, bessere Erfahrungen gemacht (siehe Signatur: NAS), da diese einfacher zu debuggen sind, außerdem ist das auch die offizielle Empfehlung :)
Hast du ein paar Negativbeispiele aus der freien Wildbahn für mich was dir bei so einem Setup ärger gemacht hat?
Die VM schaut mich schon ganz böse an, so wie die in den letzten Tagen gequält wurde, doch trotz erheblicher Anstrengungen konnte ich keinen Fehler produzieren der nicht zu beheben war. Aber VM != RealWorld ..

Gruß,
whirpool
 
...
Jau, so solls auch sein :o) Aber wie schaut es mit dem Pool aus, auf dem das zVol liegt?
Ist dem Pool bekannt das die Daten in dem zVol bereits Prüfsummen/Kompression/weissdergeier haben, oder sieht der Pool nur Blöcke die geschrieben werden und macht den Unfug nocheinmal?

dem Pool ist vermutlich nicht bekannt das 2 seiner Volumes zVols sind... Frag diesbezüglich doch mal im IRC-Chat von #freebsd oder #freenas nach... (english)

Ich habe die Pool-Übersicht im ersten Post etwas angepasst und es sollte nun ersichtlich sein wie ich die Platten verbinden werde.

Ja, der Fluch des Verbrauchers...
Noch .. *drei.mal.auf.holz.klopf* .. sind die alten Platten fehlerfrei und weitere ~250-280€ für 2x4TB, um noch funktionierende(!) Platten abzulösen, sind derzeit einfach nicht drin.
Klarer Fall von 'Empfohlen != Wirtschaftlich' :o)

Wenn eine alte Platte den Geist aufgibt, dann wird das gesamte zVol in dem sie ist durch eine einzige Platte ausgetauscht.
(z.B.: zpool replace archiv /dev/zvol/combo4x/comb4tb ada6 && zpool destroy comb4x )
So wird der Pool dann irgendwann nur aus 'echten' Festplatten bestehen, doch hoffe ich das das noch eine Weile hin ist ;o)

Guter Mirgationsansatz :thumbsup:
Beim Pool archiv würde ich anstelle der einfachen Parität eines RaidZ1 auf ein RaidZ2 mit doppelter Parität setzten, dann können dir 2 Volumes flöten gehen.

Hast du ein paar Negativbeispiele aus der freien Wildbahn für mich was dir bei so einem Setup ärger gemacht hat?
Die VM schaut mich schon ganz böse an, so wie die in den letzten Tagen gequält wurde, doch trotz erheblicher Anstrengungen konnte ich keinen Fehler produzieren der nicht zu beheben war. Aber VM != RealWorld ..
...

Srry, andere haben mit solchen konstrukten schlechte Erfahrungen gemacht.... Zumal ich nicht weiß mit was für Hardware du dein Datengrab betreibst. Hardware kann immer ihre macken haben... ;)
Ich habe mir den Luxus geleistet mir für mein erstes NAS mit ZFS direkt mit neuen Festplatten zu starten. Die alten (2) sind zurzeit als offline Backup in Benutzung.

Flatterlight
 
Bitte immer daran denken, dass sich ein ZFS Volume nachträglich nicht vergrößern lässt :) Das passt zwar nicht direkt hier rein, wird aber oft übersehen und war kurz vor Fertigstellung meines Systems das K.O.-Kriterium. Seitdem experimentiere ich mit btrfs und dessen RAID-Feature. Was ich aber niemandem empfehlen kann :D Dann lieber auf Funktionen wie RAID und Kompression und Checksummen auf Dateisystemebene verzichten!
 
dem Pool ist vermutlich nicht bekannt das 2 seiner Volumes zVols sind... Frag diesbezüglich doch mal im IRC-Chat von #freebsd oder #freenas nach... (english)
ja, ne *g* ich meinte das genau anders herum :o)
Ist dem Pool (comb2x,comb4x) der nur das zVol beherbergt bekannt das die über das BlockDevice (comb4tb) einkommenden Daten bereits im ZFS-Format gespeichert werden.

Aber egal, denn zVols in 'archiv' interessieren die Optionen der ursprünglichen Pools ja garnicht.
Damit kann ich bei comb2x & comb4x alles abschalten ohne das es 'archiv' beeinflusst.
Ob es etwas bringt, und wenn wie viel davon, ist eine andere Frage *g*

Den IRC werde ich mal im Hinterkopf behalten, danke für den Tipp.

Guter Mirgationsansatz :thumbsup:
Beim Pool archiv würde ich anstelle der einfachen Parität eines RaidZ1 auf ein RaidZ2 mit doppelter Parität setzten, dann können dir 2 Volumes flöten gehen.
Ein Raidz2 stand auch auf der Agenda, doch ist letztlich auch aus Kosten- und Platzgründen gestorben.
Ein 5x4TB RaidZ2 bringt Netto etwa 10,7TB. Nimmt man noch die 10% weg die ZFS immer frei haben sollte sind es noch 9,6TB von denen ich ~6TB befüllen werde und mich dann mit 'nur' 3,6TB freien Platz begnügen müsste.
Die gleiche Rechnung für ein RaidZ1 bringt mich auf 6,9TB freien Platz.

Für nur 3,6TB Platzgewinn ist das für mich ein zu großer Batzen Geld den ich auf den Tisch lege. Da gehe ich dann lieber das Risiko ein das 2 Platten Totalausfall und/oder defekte Sektoren an der selben stelle haben.

Lebenswichtiges ist sowieso mehrfach vorhanden, denn bekanntlicher weise ist Raid == Verfügbarkeit != Backup ;o)
Wobei man Raum zur Diskussion hätte inwieweit, bei einem System mit COW und Snapshots, diese Aussage noch zutrifft :o)

Zumal ich nicht weiß mit was für Hardware du dein Datengrab betreibst. Hardware kann immer ihre macken haben... ;)
*g* Meine 'Hardware' ist der T400 aus meiner Signatur *g* Nur das OS wird noch auf FreeBSD geändert.
Wird alles per USB3 angestöpselt und ist damit gut austauschbar und zur Not auch 'portabel' :o)
Man könnte sagen: Solide Basis, wackeliger Aufbau *g*

Was die Geschwindigkeit angeht könnte es noch spannend werden, aber mit 60-80MB/s würde ich schon zufrieden sein und mehr als 1Gb/s(112MB/s) werde ich nicht brauchen.

Bitte immer daran denken, dass sich ein ZFS Volume nachträglich nicht vergrößern lässt :) Das passt zwar nicht direkt hier rein, wird aber oft übersehen und war kurz vor Fertigstellung meines Systems das K.O.-Kriterium.
Ja, Danke :o)
Ist aber bekannt und der Grund dafür das ich zuerst ein 5x2TB RaidZ1 aus den 3x4TB Platten mache und dann ~26TB Daten hin- und herschieben muss bis der Raid aus 5x4TB besteht und mit den 6TB Daten befüllt ist...
Das wird noch ein Spaß :o/

Seitdem experimentiere ich mit btrfs und dessen RAID-Feature. Was ich aber niemandem empfehlen kann :D Dann lieber auf Funktionen wie RAID und Kompression und Checksummen auf Dateisystemebene verzichten!
*g* auf btrfs habe ich auch geschielt, aber zfs ist mir dann doch als die bessere Wahl erschienen *g*

Gruß,
whirpool
 
Zuletzt bearbeitet:
  • ok1.de
  • thinkstore24.de
  • ok2.de - Notebook Computer Server
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben