[Sammelthread] ZFS Stammtisch

Beim Editieren der Zeiten gibt es viel mehr Optionen als beim Anlegen.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
ich hab folgendes Problem.
VM in ESXI gelöscht und hab nun eine neue VM erstellt. Leider hab ich vergessen Pool export zu machen.
Bei der neuen VM kommt jetzt immer der Fehler das ich nur read only machen kann... Gibt es eine Möglichkeit den Pool wieder read/write einzubinden?

oder hab ich jetzt ein Problem? :/
 
Das sollte eigentlich kein Problem sein.

Man kann einen Pool (solange er unverändert ist) ohne Probleme importieren -
auch wenn man ihn vorher zerstört oder nicht exportiert hatte.

Auch kann man importieren wenn der letzte Stand Defekte hat oder z.B. ein log device fehlt

siehe Optionen von zpool import
illumos: manual page: zpool.1m
 
leider klappen alle optionen nicht. Jedesmal bekomme ich folgende Meldung:

Code:
This pool uses the following feature(s) not supported by this system:
	org.zfsonlinux:userobj_accounting (User/Group object accounting.)
All unsupported features are only required for writing to the pool.
The pool can be imported using '-o readonly=on'.
cannot import 'space': unsupported version or feature
 
In dem Fall hat man nur die Wahl von

- ein neueres Linux nehmen, dass dieses Feauture unterstützt oder
- readonly mounten und Daten auf einen neuen Pool umkopieren
 
Habe mal ne Frage.

Bei meinen Pools steht ACLinherit=restricted und ACLmode=discard
Ist bei allen so, außer bei einem Pool der auf einer USB HDD sich befindet doch steht beides auf passthrough.
Was hat es damit auf sich?
Wieso ist das verschieden?
 
Aclmode und ACLinherit sind ACL/Rechte Eigenschaften eines ZFS Dateisystems.
Einstellungen auf dem Pool haben lediglich die Besonderheit dass die auf tieferliegende Dateisysteme vererbt werden. Kann man da aber einstellen wie gewollt.

Restrictes/ Discard auf dem Pool sind die Unix Vorgaben und bedeuten dass man per default keinen Zugriff hat es sei denn man erlaubt das explizit. Pass-through entspricht dem normalen Windows Verhalten (jeder darf, es sei denn man verbietet das) weshalb ich das bevorzuge.
 
Find ich aber merkwürdig wieso das eine so das andere so konfiguriert ist. Der einzige Unterschied ist dass der eine Pool auf einer USB HDD liegt. Manuell was geändert habe ich nicht.
 
Zuletzt bearbeitet:
Eventuell steuert FreeNAS externe Platten direkt als Windows-Share an, um "kompatibler" zu bleiben?
 
Die restriktive Angabe ACLinherit=restricted und ACLmode=discard ist die ZFS/Unix default-Einstellung.
Wenn der Pool mit einem aktuellen napp-it angelegt wurde, ändert napp-it das auf die "Windows kompatible" Einstellung pass-through

Unabhängig von dieser Pool Voreinstellung ändert napp-it diese Einstellungen beim Anlegen eines Dateisystems auch auf pass-through. Kontrollieren/Ändern kann man das in napp-it in den ACL Einstellungen eines Dateisystems.
 
Zuletzt bearbeitet:
okay einziger Unterschied ist aber abgesehen dass der eine Pool auf ner USB Platte liegt dass die anderen Pools schon älter sind und mit früheren Versionen von Omnios und nappit angelegt wurden. FreeNAS wurde nie benutzt.
 
Ein älteres napp-it hatte die Pool Vorgaben nicht verändert.
Wenn man ein neues Dateisystem in napp-it anlegt, wird aber pass-through dafür gesetzt (altes napp-it und aktuelles).

Die Pool Einstellung wirkt lediglich wenn man ein Dateisystem manuell auf der Console anlegt. Nur damit das möglich ist ohne dass sich das Dateisystem anders als gewohnt verhält benötigt man die Pool Einstellung.
 
Da mir mein HP ProLiant G8 nicht mehr Performant genug ist habe ich mir neue Hardware angeschafft:

  • AMD Ryzen 5 2600
  • ASRock X470D4U
  • 16GB Kingston KSM26ED8/16ME
Im alten HP ProLiant G8 hängt ein HP P212 Controller der wiederum ein logisches Laufwerk mit 8TB (RAID5) erzeugt.
Als Host System nutze ich ESX, dass auf dem logischen 8TB Laufwerk diverse virtuelle Maschinen angelegt hat.

Als Haupt VM gibt es einen Windows 2012 Server der als reiner Dateiserver fungiert.
Die weiteren virtuellen Maschinen sind meist Linux Webserver mit geringen Anforderungen.

Für den neuen Server ohne Hardware RAID Controller möchte ich ZFS einsetzen.
Hier frage ich mich ob ProxMox einen ZFS Pool erzeugt und diesen dann den diversenen VM zur Verfügung stellt oder ob ich eher einzelne Platten einer Storage-VM direkt durchreiche und innerhalb der VM ein ZFS Pool erzeuge?
 
Zuletzt bearbeitet:
Im G8 hängt ein HP P212 Controller [...] Im Hinblick auf ZFS frage ich mich ob sich dies so weiterhin abbilden lässt, bzw. überhaupt empfiehlt.
ZFS und Hardware RAID sollte man nicht mischen.
Oder ist es geschickter die einzelnen Festplatten nativ einer VM durchzureichen und innerhalb der VM dann ein ZFS Dateisystem zu erzeugen?
Ja, dann aber mit einem HBA und nicht mit einem RAID-Controller mit BBU. Notfalls geht das wohl auch per RDM (raw disk mapping) aber darauf würde ich mich nicht verlassen.
 
Ich habe mich wohl nicht ganz klar ausgedrückt.
Der beschriebene Zustand ist der der alten Hardware.

Bei der neuen Hardware kommt kein Raid Controller zum Einsatz.
 
hallo gea,

okay, dann würde ich das alles neu aufsetzen.
Hab jetzt schon omnios drauf und versuche leider vergeblich die Daten von Linux zu Solaris mittels rsync zu kopieren.
ZFS send fällt ja raus, da Linux und Solaris nicht kompatibel...

Hast du noch eine Idee, wie ich die Daten schnell von a nach b bekomme?



In dem Fall hat man nur die Wahl von

- ein neueres Linux nehmen, dass dieses Feauture unterstützt oder
- readonly mounten und Daten auf einen neuen Pool umkopieren
 
zfs send ginge nur mit dem letzten kompatiblen ZFS v28/5

In diesem Fall gibt es drei Optionen:

1. rsync
z.B. rsync im daemon modus auf Solaris starten und von Linux syncronisieren

2. SMB/NFS direkt
z.B. SMB oder NFS aktivieren (Solaris oder Linux), dann das Share mounten und per cp oder midnight commander kopieren

3. SMB/NFS indirekt
Auf Solaris und Linux ein SMB oder NFS Share freigeben und von einem Mac oder Windows mounten und kopieren. Da alle Daten dann zweimal (lesen/schreiben) übers Netz gehen ist das die langsamste Option.
 
Zuletzt bearbeitet:
Netcat+Tar sind auch recht schnell.
 
Hallo, ich möchte mehrere leere Snaps auf meinem Pool löschen. Unter Used wird mir bei den meisten Snaps 0 Byte angezeigt. Jetzt ist es ja so dass Blöcke die von mehr als einem Snap "festgehalten" werden eben auch zu der Anzeige von 0 Byte führe. Sprich wenn ich nun also 20 0 Byte Snaps auf einmal löschen würde, ich hierdurch ja Dinge löschen würde, die ich gar nicht löschen will.
Gibt es eine Alternative dazu jeden Snap einzelnt zu löschen und dann gucken welche noch mit 0 Byte angezeigt werden?
 
Hallo, ich möchte mehrere leere Snaps auf meinem Pool löschen. Unter Used wird mir bei den meisten Snaps 0 Byte angezeigt. Jetzt ist es ja so dass Blöcke die von mehr als einem Snap "festgehalten" werden eben auch zu der Anzeige von 0 Byte führe. Sprich wenn ich nun also 20 0 Byte Snaps auf einmal löschen würde, ich hierdurch ja Dinge löschen würde, die ich gar nicht löschen will.
Gibt es eine Alternative dazu jeden Snap einzelnt zu löschen und dann gucken welche noch mit 0 Byte angezeigt werden?


Prinzipiell wird nichts gelöscht wenn ein Snap used=0 hat. Denn das bedeutet ja explizit dass dieser Snap keine Daten enthält die ausschließlich von diesem Snap gehalten werden. Das Problem is ein anderes.

Wenn man einen Snap neu anlegt, so hat der used=0. Legt man einen weiteren Snap eine Stunde später an, ohne zwischenzeitlich Daten verändert zu haben, so hat hat der auch used=0. Den ersten dürfte man löschen denn der Snap-Datenstand zu diesem Zeitpunkt ist identisch mit dem letzten Snapshot davor mit used ungleich 0. Man kann also auch ohne diesen Snap auf den letzten Datenstand zugreifen. Manchmal möchte man den Snapshot aber dennoch behalten, damit man explizit auf eine bestimmte Zeit zugreifen kann, auch wenn sich zum Snap davor nichts geändert hat. Ein paar Tausend Snaps mehr oder weniger machen ZFS wenig aus.

Wenn es sich aber um den letzten Snapshot handelt der gemacht wurde, so darf man den nicht löschen. Würde man das tun so hätte man keinen Zugriff mehr auf den letzten Datenstand vor aktuellen Änderungen. Denn wenn man jetzt eine Datei z.B. ein Bild mit 1 G löscht, so ändert sich used=0 auf used=1G denn der Snap schützt jetzt ja den letzten Stand vor dem Löschen.
 
Okay also müsste ich dann immer den zweitletzten Snapshot löschen wenn er used=0 hat wenn ich keine leeren Snaps haben will?

Sprich neuen Snap erstellen und wenn der Snap davor leer ist, diesen löschen.

Ist das nicht genau das was nappit macht wenn man den entsprechenden Haken setzt?
 
Zuletzt bearbeitet:
Ja genau.
Wenn man mehrere Snaps nacheinander anlegt ohne was zu verändern oder zu löschen haben die alle used=0. Bis auf den letzten darf man die dann löschen ohne eine Wiederherstellungsoption zu verlieren.
 
Servus,

seit dem ich vorhin ein Update meines ESxI vorgenommen hatte startet meine Solaris VM nicht mehr.
Es hängt wie folgt und bringt nicht den Login:

2019-08-21 22_11_32 solaris.png


Ich werd irgendwie die Vermutung nicht los das es evtl. wieder mit dem Passthrough meines Controllers zu tun hat.

Vor dem Update war noch alles IO.
Damals hatte ich Folgendes eingetragen.
pciPassthru0.virtualDev = „pci“, dann bootet Solaris. Die Konfig manuell im Editor ändern, nicht per Menü im ESXi ;)

War das die *.vmx der Solaris VM?

Zufällig jemand ne idee?

Grüße
Elektromat

- - - Updated - - -

Ich hab's hinbekommen, natürlich müssen die Anführungszeichen korrekt neu oben gesetzt sein.
Also lautet die Zeile korrekt:

Code:
pciPassthru0.virtualDev = "pci"

Warum auch immer war der Eintrag nicht mehr vorhanden.
 
zfs send ginge nur mit dem letzten kompatiblen ZFS v28/5

In diesem Fall gibt es drei Optionen:

1. rsync
z.B. rsync im daemon modus auf Solaris starten und von Linux syncronisieren

2. SMB/NFS direkt
z.B. SMB oder NFS aktivieren (Solaris oder Linux), dann das Share mounten und per cp oder midnight commander kopieren

3. SMB/NFS indirekt
Auf Solaris und Linux ein SMB oder NFS Share freigeben und von einem Mac oder Windows mounten und kopieren. Da alle Daten dann zweimal (lesen/schreiben) übers Netz gehen ist das die langsamste Option.


Hi gea,


hat leider alles nicht geklappt. Hab es als read-only gemountet, aber....
egal was ich mache bricht er immer nach ein paar sek ab und der Task hängt sich auf...egal ob rsync, smb, proftpd, nfs
woran kann das liegen, hast du zufällig eine gute Idee dazu? :)
 
Hat sich erledigt ;) Danke trotzdem :)
Nachdem ich ubuntu 19 drauf gemacht habe hab ich wieder vollen Zugriff...jetzt schnell umsiedeln zu Solaris :)
 
Servus,

seit dem ich vorhin ein Update meines ESxI vorgenommen hatte startet meine Solaris VM nicht mehr.
Es hängt wie folgt und bringt nicht den Login:

Anhang anzeigen 473997


Ich werd irgendwie die Vermutung nicht los das es evtl. wieder mit dem Passthrough meines Controllers zu tun hat.

Vor dem Update war noch alles IO.
Damals hatte ich Folgendes eingetragen.


War das die *.vmx der Solaris VM?

Zufällig jemand ne idee?

Grüße
Elektromat

- - - Updated - - -

Ich hab's hinbekommen, natürlich müssen die Anführungszeichen korrekt neu oben gesetzt sein.
Also lautet die Zeile korrekt:

Code:
pciPassthru0.virtualDev = "pci"

Warum auch immer war der Eintrag nicht mehr vorhanden.

Ist bei mir auch schon passiert, allerdings nicht nach einem ESXi-Update, sondern als ich die VM auf eine andere SSD umgezogen hab.
 
Mein ZFS System hat momentan 16GB RAM. Liefert eine zusätzliche SSD für ZIL und L2ARC hier auch schon Vorteile.
 
Ein Slog bringt nur etwas, wenn man syncrones Schreiben aktiviert um den rambasierten Schreibcache abzusichern. Ein normaler Filer nutzt sync nicht. Wenn man aber sicheres Schreiben braucht, bringt ein gutes Slog immer etwas - es sei denn der Pool selber besteht bereits aus NVMe. Das Slog muss dann aber wirklich gut sein und powerloss protection haben.

Ein L2Arc erweitert den RAM Lesecache. Der Lesecache beschleunigt wahlfreies Lesen und Metadaten, nicht sequentielle Daten wie Videos. Ob ein L2Arc was bringt, hängt von der Nutzung ab. Bei Single User Mediaserver bringts wohl nichts, bei vielen Usern kann es sehr viel bringen. Mehr RAM ist aber viel effektiver da schneller.
 
Ich bräuchte mal Hilfe bzgl. napp-it autoservice:

Ich möchte gerne regelmäßig über den napp-it autoservice ein Script starten. Irgendwie will das aber nicht klappen. Wenn ich bei "action" wie in der Hilfe vorgeschlagen das Script mit "ex sh /root/scripts/backupESXi_local.sh" starte, dann erhalte ich im Log lediglich den Eintrag
info: ex sh /root/scripts/backupESXi_local.sh: [New file]​

Trage ich unter "action" lediglich "/root/scripts/backupESXi_local.sh" ein, dann startet das Script, allerdings erhalte ich folgende Fehlermeldung:
info: /root/scripts/backupESXi_local.sh: /root/scripts/backupESXi_local.sh: line 9: zfs: not found​
Im Script steht in Zeile 9 folgendes:
export CURRENT_SNAP=$(zfs list -t snapshot | grep $source_pool@$source_job | tail -1)​

Das Script selbst läuft über die Shell problemlos. Wie bekomme ich es per autoservice zum Laufen? Danke!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh