[Sammelthread] ZFS Stammtisch

Mir geht es hauptsächlich darum Speicherplatz für Windows Clients bereitzustellen. (Filer) Bisher nutze ich hierfür einen Server inkl. Hardware Raid auf dem nur Windows Server läuft, keinerlei Virtualisierung.
Die Rechtevergabe mache ich über AD.
Außerdem habe ich auf dem Windows Server die Essential Rolle installiert, dadurch kann ich über den Microsoft Remotewebaccessdienst auch von unterwegs einfach über einen Browser auf meine Dateien zugreifen. (Down- und Upload)
Auf dem neuen Server habe ich nun alles virtualisiert und möchte ZFS (über die napp-it VM) nutzen.
Jetzt ist die Frage wie ich das bisherige System am Besten abbilden und gleichzeitig aber die Vorteile von ZFS kann. Es geht hierbei NICHT um den Speicherplatz für die VMs. (also Laufwerk C: des Windows Servers z.B.)
Nur hier stehe ich irgendwie auf dem Schlauch und es kommen solche Experimente wie mit iSCSI heraus.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Da sehe ich zwei Möglichkeiten.

1.ZFS share per SMB in den Windows Server und hoffen, das man eingebundene SMB Shares wiederum via SMB in Windows freigeben -> Wohl schon getestet da du bei iSCSi rausgekommen bist ?
Wobei hierzu sagen muss, als ich vor einiger Zeit noch einen MS Server 08 als Filer nutzte, musste ich die Freigaben etc. per CMD/ps machen, da der Assi meine per Veracrypt gemountete HDDs nicht gesehen hat.Ggf. hilft das dann auch hier.
3. Die Shares direkt über ZFS bereitstellen und darüber die Rechte machen -> doppelter Aufwand.
 
Zuletzt bearbeitet:
Für einen reinen Filer einfach SMB in Solarish aktivieren. Wenn man eine AD hat, einfach den Solarish Server der Domäne hinzufügen (geht out of the Box). Der Solarish Server nutzt dabei sogar die Windows SID (Rechte bleiben nach Backup/Restore erhalten) und Windows NTFS artige ACL dür die Domänen-Nutzer. Dazu beste Performance, ZFS Snaps als vorherige Version. Man hat auch ein sehr sicheres System (keine ständigen Updates + Reboot).

Von Unterwegs würde ich per SSH darauf zugreifen z.B. per WinSCP.
 
Da sehe ich zwei Möglichkeiten.
1.ZFS share per SMB in den Windows Server und hoffen, das man eingebundene SMB Shares wiederum via SMB in Windows freigeben -> Wohl schon getestet da du bei iSCSi rausgekommen bist ?
Ja das hatte ich schon erfolglos probiert, aber möglicherweise habe ich auch etwas falsch gemacht und geht es doch.
Hat hier jemand einen Tipp?
3. Die Shares direkt über ZFS bereitstellen und darüber die Rechte machen -> doppelter Aufwand.
Die Rechte wären das Eine aber ich möchte ja auch von unterwegs zugreifen können, was ich ja momentan mit der Essentials Rolle mache.
Hier habe ich keinerlei Probleme mit der wechselnden IP und bin auf keinerlei Zusatzsoftware angewiesen. Also FTP, SSH, VPN etc. gehen eigentlich nicht oder machen die Sache viel komplizierter.
Auch hier bin ich für jegliche Tipps dankbar.
 
Zuletzt bearbeitet:
Bei unserem Windows IIS Webserver haben wir Shares von OmniOS als virtuelle Ordner eingefügt. Die Rechteverwaltung auch für diesen Zugriff geht über AD.

SSH über einen DNS Dienst und Port forwarding auf dem Internet Router für SSH wäre das was ich machen würde - mit lokalen Solarish Usern, ohne AD oder zusätzlich zu AD.
 
Hallo bei mir werden aktuell die 0 Byte Snapshots nicht automatisch gelöscht unter OmniOS mit Nappit, oder muss man einfach länger warten nur?

Aktuell habe ich 5 Jobs anlegen müssen für "alle 15Minuten keep 4" "jede Stunde keep 24" "jeden Tag keep 30" "jede Woche keep 7" "jeden Monat keep 12"
Was dabei unschön ist ist dass zur vollen Stunde immer 2 Snapshots gleichzeitig angelegt werden, und um 0Uhr dann sogar noch mehr bis hin zu 5 im Worst Case durch alle 5 Jobs wenn der erste des Monats ein Montag ist.
Kann man notfalls auch "per Hand" das irgendwie so hinbiegen dass man alles in einem Job hat und keine mehrfachen Snapshots anlegt werden? Im Grunde wäre das doch nur ne Logik-Sache.

Das scheint wohl so die Voreinstellung von Solaris zu sein.

Managing Automatic ZFS Snapshots (Solaris ZFS Administration Guide)

Finde in der Übersicht ist das nicht so praktisch wenn es da mehrere identische Snapshots gibt die alle zeitgleich erstellt wurden.
 
Zuletzt bearbeitet:
Meint ihr, dass zeitnah mal eine neue Solaris Beta mit dem SMB Fix kommt? Langsam nervt es doch etwas, dass ich keine SMB Freigaben mehr nutzen kann.
Und ich Trottel hatte die ZFS Version nur aktualisiert, weil ich gedacht hatte, dass die alte Version möglicherweise die Probleme verursacht :(
 
Hallo bei mir werden aktuell die 0 Byte Snapshots nicht automatisch gelöscht unter OmniOS mit Nappit, oder muss man einfach länger warten nur?

Aktuell habe ich 5 Jobs anlegen müssen für "alle 15Minuten keep 4" "jede Stunde keep 24" "jeden Tag keep 30" "jede Woche keep 7" "jeden Monat keep 12"
Was dabei unschön ist ist dass zur vollen Stunde immer 2 Snapshots gleichzeitig angelegt werden, und um 0Uhr dann sogar noch mehr bis hin zu 5 im Worst Case durch alle 5 Jobs wenn der erste des Monats ein Montag ist.
Kann man notfalls auch "per Hand" das irgendwie so hinbiegen dass man alles in einem Job hat und keine mehrfachen Snapshots anlegt werden? Im Grunde wäre das doch nur ne Logik-Sache.

Das scheint wohl so die Voreinstellung von Solaris zu sein.

Managing Automatic ZFS Snapshots (Solaris ZFS Administration Guide)

Finde in der Übersicht ist das nicht so praktisch wenn es da mehrere identische Snapshots gibt die alle zeitgleich erstellt wurden.

Prinzipiell löscht ein Job keine Snaps eines anderen Jobs.
Man könnte allenfalls min auf 15;30;45 und hour auf 1;2;..22;23 setzen (eventuall manuell in Jobfile in /var/web-gui/_log/jobs)

Ansonsten sind auch tausende Snaps kein Problem für ZFS

- - - Updated - - -

Meint ihr, dass zeitnah mal eine neue Solaris Beta mit dem SMB Fix kommt? Langsam nervt es doch etwas, dass ich keine SMB Freigaben mehr nutzen kann.
Und ich Trottel hatte die ZFS Version nur aktualisiert, weil ich gedacht hatte, dass die alte Version möglicherweise die Probleme verursacht :(

Alles Spekulation.
Zwischen der jetzigen Beta und der letzten lagen knapp 2 Monate.

Wenn man genügend Platten hat, könnte man ansonst einen Pool mit einer älteren ZFS Version anlegen und die Daten replizieren.
 
Ja das wäre ne Idee, mal ausprobieren, erklärt aber nicht wieso 0 byte snaps nicht gelöscht werden. Was passiert wenn man manuell im Jobfile was editiert und anschließend mal über die Webgui was verändert? Wird das File dann komplett überschrieben oder kann es dann zu Problemen führen?

15-30-45 kann man auch über die webgui setzen, hab ich gesehen, allerdings nur beim erstellen des Jobs, umändern geht nicht da dieser Eintrag dann in der Liste nicht auswählbar ist.
Wie ist denn die Syntax genau? kann man "every" mit einer Ausnahme auch versehen? zB every/0 (jede stunde außer stunde=0) ?
 
Zuletzt bearbeitet:
Alles Spekulation.
Zwischen der jetzigen Beta und der letzten lagen knapp 2 Monate.

Wenn man genügend Platten hat, könnte man ansonst einen Pool mit einer älteren ZFS Version anlegen und die Daten replizieren.

Ok, mal schauen. In acht Tagen geht es für zwei Wochen in den Urlaub, das sitze ich erstmal aus. Falls Du was über ne neue Beta mitbekommst bitte wieder hier posten oder/und mir ne kurze Mail schreiben.

Gibt es hier echt niemanden, der Solaris kommerziell nutzt und Einblick in den Bugtracker hat?!?
 
Zuletzt bearbeitet:
Ich hatte irgendwann mal bei unserer IT-Abteilung vorsichtig nachgefragt, was gegen Solaris-Fileserver spräche... die wollen aber irgendwie nicht von ihren VNX, VPLEX und Data Domains weg... blöde Bande... ;)
 
Sofern Du den Pool auf autoexpand=on gestellt hast.

Btw, mir würde dieses x-fache Resilvern aufn Keks gehen (geht ja auch ggf. ordentlich auf die Platten) und einfach mit den neuen Platten einen neuen Pool erstellen und per ZFS send/receive die Daten "rüberschubsen". Setzt natürlich genug Anschlüsse bzw. eine zweite Maschine voraus. Das geht um vielfaches schneller; insbesondere wenn es innerhalb einer Maschine ist oder 10Gbit zwischen Maschine1 und 2 verfügbar ist.

So, bin nun fertig mit dem Resilvern aller 8 Disks. Mein Upgrade von 8x 4TB WD Red auf 8x 10TB WD Red hat ohne Probleme geklappt. Alles in allem wurde das Resilvern zum Schluss immer schneller. Anfangs hatte ich Geschwindigkeiten von ca. 275M/s, das Resilvering hat knappe 24 Stunden pro Vorgang gedauert. Bei den letzten Disks hatte ich dann Geschwindigkeiten von ca. 410M/s und das Resilvering beschleunigte sich auf knappe 15h bis zum letzten Vorgang. Die neuen Disks sind also um einiges schneller geworden. Die Lautstärke ist quasi identisch. Schön, so habe ich mir das vorgestellt. [emoji6]

Nachdem das Resilvering der letzten Disk vorhin abgeschlossen war, stand mir sofort mehr Speicher zur Verfügung. Perfekt! Danke für den Tip mit "autoexpand=on".

Alle Disks haben laut Herstellerseite noch Garantie bis Q2 2021, also alles gut.

Ansonsten kann ich zur Verpackung bzw. Versanddauer der Disks noch folgendes sagen. Ich habe bei folgenden 3 Lieferanten bestellt und folgende Erfahrungen gesammelt.

  1. Cyberport - 3 Disks - keine Original-Verpackung, jede Disk in extra Festplatten-Kartonage verpackt - Versand aus Dtl. - Versanddauer 2 Tage
  2. Mindfactory - 3 Disks - keine Original-Verpackung, jede Disk in Luftpolster-Folie eingepackt - Versand aus Dtl. - Versanddauer 2 Tage
  3. Amazon - 2 Disks - keine Original-Verpackung, jede Disk in extra Festplatten-Kartonage verpackt - Versand aus Italien - Versanddauer 4 Tage (mit Ankündigung längerer Lieferdauer)

Die Verpackung von Mindfactory finde ich persönlich etwas dürftig. Aber wie dem auch sei, alle Disks haben den Error-Test (HD-Tune Pro) vor dem Resilvering fehlerfrei bestanden und auch beim Resilvering gab es keinerlei Probleme. Hier ein aktueller Pool-Status:

Code:
root@omv4:~# zpool status
  pool: mediatank
 state: ONLINE
  scan: resilvered 2,69T in 14h41m with 0 errors on Sat Jun  9 17:56:34 2018
config:

        NAME                                    STATE     READ WRITE CKSUM
        mediatank                               ONLINE       0     0     0
          raidz2-0                              ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0
            ata-WDC_WD100EFAX-68LHPN0_XXXXXXXX  ONLINE       0     0     0

errors: No known data errors

und hier nochmal die Pool-Eigenschaften:

Code:
root@omv4:~# zpool list
NAME        SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
mediatank  72,8T  22,1T  50,6T         -     5%    30%  1.00x  ONLINE  -

Von insgesamt 72,8TB stehen mir also 50,6TB zur Verfügung. Knappe 22TB gehen also verloren. :(

So, dann hoffe ich Mal diese neuen 10TB Festplatten genauso fehlerfrei arbeiten wie die 4TB-Modelle.

Viele Grüße Hoppel
 
Zuletzt bearbeitet:
Hatte ich, während du geschrieben hast, bereits in meinem Post oben ergänzt. Alles ok mit der Garantie! [emoji6]

- - - Updated - - -

Cool, freue mich gerade wie ein Schneekönig, dass das alles so völlig problemlos geklappt hat. [emoji3]

Ich nutze übrigens Openmediavault 4 (Debian Stretch) mit Backport Kernel und ZoL.

Code:
root@omv4:~# modinfo zfs
filename:       /lib/modules/4.16.0-0.bpo.1-amd64/updates/dkms/zfs.ko
version:        0.7.9-3
license:        CDDL
author:         OpenZFS on Linux
description:    ZFS

Schönen Abend noch, Gruß Hoppel
 
Zuletzt bearbeitet:
Ja das wäre ne Idee, mal ausprobieren, erklärt aber nicht wieso 0 byte snaps nicht gelöscht werden. Was passiert wenn man manuell im Jobfile was editiert und anschließend mal über die Webgui was verändert? Wird das File dann komplett überschrieben oder kann es dann zu Problemen führen?

15-30-45 kann man auch über die webgui setzen, hab ich gesehen, allerdings nur beim erstellen des Jobs, umändern geht nicht da dieser Eintrag dann in der Liste nicht auswählbar ist.
Wie ist denn die Syntax genau? kann man "every" mit einer Ausnahme auch versehen? zB every/0 (jede stunde außer stunde=0) ?

Man kann die .par Datei des Jobs manuell editieren und ein eigenes Zeitraster setzen, auch z,B. für hour 1;2;3;..23 (oder 1-2-3.., lediglich kein Komma). Ein Editieren via web-ui setzt nur den entsprechenden Wert.

Ein every min/hour/day ohne 0 setze ich mal auf die wishlist
 
Entweder das oder man fügt ne weiteres Feld hinzu wo man Ausnahmen setzen kann, wäre auch ne Idee :)
 
So, der Scrub ist heute auch in knappen 15 Stunden ohne Fehler durchgelaufen. ;)
 
Gibt es hier echt niemanden, der Solaris kommerziell nutzt und Einblick in den Bugtracker hat?!?

@martingo: kenne mich nur mit den OracleDBs aus, habe aber mal nach dem Bug geschaut. Angeblich ist der 27950956 mit OS8.7.19 behoben. (Panic due to NULL pointer in smbclnt2 on OS8.7.17 IDR 1.5).
Den Patch gibt es seit 6.6.
 
Super, herzlichen Dank für die Info! Mich wundert es etwas, dass im Bug vom Solaris 8.7.x die Rede ist. Hätte nicht gedacht, dass da noch viel dran gemacht wird.
Ich habe leider 11.4 und dort scheint der Patch erst mit der nächsten Beta ausgerollt zu werden.
Zumindest findet pkg update keine zu aktualisierenden Pakete.
 
Kleine Anfängerfrage: Wenn ich die 900p 280GB Optanes als SLOG und L2ARC nutzen will und ich habe 2 Pools mit meist geringer Last (SSD Pool für VMs und HDD Pool für größtenteils sequentielle async Zugriffe), muss ich echt 6 Optanes verbauen? Also zwei mirrored fürs SLOG und eine für den L2ARC und das pro Pool. Oder kann ich die Poolübergreifend teilen und vielleicht auch SLOG und L2ARC auf die gleiche Optane? Bei 6 Optanes wird das mit den PCIe Steckplätzen eng und zu teuer ist es sowieso.
Ich hätte am liebsten 2 Optanes, darauf Partitionen für SLOG die mirrored sind und eine große für L2ARC die striped ist. Kurzes Googlen sagt, geht nicht und wäre eh blöd. Stimmt das?
 
Wenn ich das richtig sehe benötigst du nur ein Mirrored SLOG für den VM Pool. Den Rest kannst du durch RAM viel besser beschleunigen. (Asinc Write nutzt kein SLOG, L2ARC ist halt nur die 2. Wahl für Caching, RAM ist die erste Wahl.)
 
Ok. Und von den 280GB werden dann ~6GB genutzt, bei 40Gbit/s vielleicht noch 25GB. Der Rest liegt brach. Gibt's da eine weniger verschwenderische Lösung?

Wegen RAM vs L2ARC. Immer RAM bis zum Vollausbau treiben bevor in L2ARC investiert wird, oder gibt's ein Punkt ab dem sich L2ARC eher lohnt? Oder sind solche Pauschalaussage eh wertlos und ich müsste es ausprobieren?
 
Um eine Optane für mehrere Pools und/oder Slog und L2Arc zu nutzen kann man sie einfach partitionieren.
Die gleichzeitige Schreib-Leselast ist kein so großes Problem für Optane (die ist einfach zuu gut)

Wenn ein Slog im Normalbetrieb kaputtgehen sollte, so schaltet ZFS auf den onpool ZIL zurück.
Ein Datenverlust droht also nur wenn der Rechner beim Schreiben abstürzt und dabei das Slog kaputt geht.

Neben diesem minimalen Sicherheitsgewinn (wer hatte den jemeils zwei Batterien an seinem Hardwareraid)
zählt bei einem Slog Mirror vor allem, dass die Performance bei einem Slog Ausfall nicht einbricht.
 
Man kann die .par Datei des Jobs manuell editieren und ein eigenes Zeitraster setzen, auch z,B. für hour 1;2;3;..23 (oder 1-2-3.., lediglich kein Komma). Ein Editieren via web-ui setzt nur den entsprechenden Wert.

Ein every min/hour/day ohne 0 setze ich mal auf die wishlist

Dienstag bis Sonntag für "Day" wäre auch nützlich weil wenn man die Snaps immer um 0 Uhr macht, wird man den wöchentlichen Snap ja um 0:00Uhr machen was dann nicht mehr der Sonntag ist sondern schon der Montag. Und wenn man ihn auf 23:59 setzt müsste man auto service auf 1min setzen.



Habs mal in der .par Datei editiert. "1-2-3-4-...-23" für die Stunden funktioniert problemlos!

edit: Hat sich erledigt mit der 18.09dev
 
Zuletzt bearbeitet:
Entweder das oder man fügt ne weiteres Feld hinzu wo man Ausnahmen setzen kann, wäre auch ne Idee :)

In der akltuellen 18.09dev habe ich für min, hour und day die Option every/n1;n2 (ausser) hinzugefügt.
Ein Bug bei der Erkennung von size=0 (bis auf neuesten Snap) ist ebenfalls behoben.
 
Perfekt: Eine Frage hab ich noch zu Replikationen: Laut Webinterface heißt es die 0 Byte Snapshots darf man nicht löschen bei Replikationen. Ich frage mich ob das auch dann gilt wenn ich eigene Snaps erstelle ausschließlich für Replikationen, um sagen wir jeweils immer um 3Uhr. Kann ich dann bei meinen täglichen, stündlichen Snaps usw 0 Byte Snapshots dann nich dennoch löschen ohne dass sich das gegenseitig stört?
Also gilt das nur für den Replikationsjob-Snap oder für alle Snaps die auf dem Dataset erstellt werden?

Eigentlich sollte sich Replikation daran doch nicht stören, weil die eigenen Snaps ja immer vorhanden ist.
 
Zuletzt bearbeitet:
Das Problem mit Autodelete von 0 Byte Snapshots

Wenn man eine Auto-Replikation laufen läßt, so hat der danach neu erstellte neue Target Snap nach der Replikation size=0, da er ja identisch zum gerade replizierten Dateisystem ist. Wenn man danach ein normales Auto-Snap laufen läßt und dabei Snaps mit size=0 erstellt werden und man die löscht, so wird der jeweils vorherige Snap aktualisiert. In dem Fall kann es passieren dass der Replikationssnap nicht mehr exakt identisch zum Quellsnap mit der gleichen Nummer ist. Die Replikation scheitert dann (Fehler: Snaps nicht identisch).

Der aktuelle Autosnap behält den letzten Snap mit size=0 bei aktiviertem delzero so dass das kein Problem mehr sein "sollte"
 
Nach drei Wochen Zwangspause habe ich jetzt wieder Zeit mich mit meinem DHCP Problem zu beschäftigen.

Wenn ich die Napp-It VM hochfahre, dann hat diese keine Netzwerkverbindung. Ein ipadm show-addr -o ALL sagt mir, dass der STATE vom Interface auf disabled ist. Aber warum?
Wenn ich ein ipadm create-if -T dhcp e1000g0/dhcp mache und ein anschließendes ipadm show-addr -o ALL, dann ist der STATE up und ich komm auf das WebGUI.
Nach einem Restart ist der State aber wieder disabled.

Hat jemand eine Idee, was das sein könnte und wie ich das weg bekomme?

Edit: Wenn ich ein ipadm create-if -T static -a IP e1000g0/dhcp mache (vorher ein ipadm delete-addr) dann klappts auch nach nem Reboot. Aber ich würde eigentlich gerne DHCP nutzen bzw. wenigstens wissen, was schief läuft...

Edit2: Kommando zurück. Ich komme zwar gleich aufs WebGUI, aber hab keinerlei Zugriff aufs Internet per Console oder WebGUI. Aber in der resolv.conf sind domain und nameserver eingetragen
 

Anhänge

  • IPADM01.PNG
    IPADM01.PNG
    2,5 KB · Aufrufe: 76
  • IPADM02.PNG
    IPADM02.PNG
    1,4 KB · Aufrufe: 63
  • IPADM03.PNG
    IPADM03.PNG
    2 KB · Aufrufe: 72
Zuletzt bearbeitet:
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