[Sammelthread] ZFS Stammtisch

Moin allerseits!

Folgendes Ziel habe ich:

Wir haben derzeit einen ESX 6.7er, bald folgt noch ein zweiter.

Wir brauchen / wollen ein Storage mit napp-it bauen.

Folgende Hardware haben wir aktuell, und wir würden wenn möglich so wenig wie möglich aber so viel wie nötig Geld zusätzlich reinstecken.

- Supermicro X10SRi-F
- Mindestens 16 GB frei für eine napp-it VM, bei Bedarf auch mehr
- Xeon 6 Kerne
- 8x Samsung 860 EVO
- 2x 970 Pro 512GB
- LSI 9211-8I

Ich weiß das Consumer SSDs eigentlich nicht so cool sind aufgrund von fehlender PLP, aber wir würden ungerne auf Enterprise SSDs umrüsten, da wir die halt einfach haben.

Unser Workload auf dem Host, welcher das Storage aus den SSDs beinhalten soll, beläuft sich hauptsächlich auf ein paar Webserver, Domänencontroller und einen SQL Server. Wünschenswert wäre noch die Erweiterung durch HDDs => 8TB für eine kleinen Fileserver / Cloud / Storage für lokale Backups.

Machbar wäre die Anschaffung von einer USV, um in Falle eines Stromausfalls den Server ordentlich herunterfahren zu können - würde das die fehlende PLP der SSDs etwas gut machen?
Wir würden ebenso unsere Backup Zyklen erhöhen, um bei Ausfall einen geringeren Verlust zu erleiden.

Was wir machen ist nicht Business kritisch aber es wäre blöd, wenn die Daten ganz weg wären. Ein halber Tag Arbeitsverlust wäre verkraftbar.

Was können wir mit den zwei 970er machen? Brauchen wir überhaupt SLOG L2ARC wenn wir ein Flash-only array haben?
Bzw. bräuchten wir es nur wenn wireinen zweiten HBA + HDDs verbauen?

Das Storage soll dann am Ende per NFS / iSCSI an den Host und evtl. später für den zweiten Server ebenfalls erreichbar sein.

Budget wäre da, wenn es denn wirklich nicht anders geht.

Ein Erwägung von uns wäre der Aufbau des Storage mit WD Red Platten (wenn sowas überhaupt Sinn macht), dann müssten wir aber wiederrum einen gescheiten Cache bauen damit die VMs rennen (wir mögen es gerne schnell).

Ich bedanke mich schon mal für jeden Tipp und / oder Kritik an unserem Vorhaben ;)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich würde wirklich das Geld in die Hand nehmen wenigstens Enterprise SSDs kaufen.
Können ja auch refurbished/gebraucht sein, allemal besser als eine Datenbank und einen DC auf Consumer-SSDs schreiben zu lassen.
 
Ich würde aus dem vorhandenen Krams ein Software RAID 1 (die beiden 970er) machen, dort ESXi und die VMs drauf legen. Die acht 860er über den HBA an nappit durchreichen und dort einen striped mirror (raid10) als flotten Fileserver bauen. Für große Sachen, die i.d.R. auch nicht so megaperformant angebunden sein müssen, kann man dann mit WD Reds einen weiteren Fileserver Pool anlegen.
 
Desktop SSDs haben zwei Probleme
- Schreibrate bricht bei längerem Schreiben ein
- keine Powerloss Protection

Ersteres kann man durch "Overprovisioning" verbessern, z.B. durch eine 10-20% HPA/host protected area bei einer zuvor sicher gelöschten SSD. Zweiteres kann man durch ein Slog mit PLP verbessern (z.B. Intel Optane 4801X-100 oder kleinere WD DC SS 530). Das verbessert auch die Schreibleistung mit sync.

Der LSI 9211 ist bei vielen SSDs etwas schwach.
Zwei 970 Pro als Boot-Raid-1 für ESXi/ napp-it oder ZFS Raid-1 pool ist aber ok (eventuell für den zweiten ESXi) - auch für einen weiteren Plattenpool aus WD Red.

Für einen Pool aus 8 x SSD würde ich eher einen 12G HBA mit LSI 9300 Chipset nehmen
 
Wie ist genau der Zusammenhang bei den Jobs für die Snaps mit "keep" und "delZero"

Wenn ich keep=4 habe, heißt dass er soll 4 behalten doch was macht der bei delZero? werden die mitgezählt?

Hintergrund ist ich möchte alle 15 Minuten ein Snap machen und möchte 4 behalten. Allerdings möchte ich auch nur die Snaps haben wo es Änderungen gibt.

Wenn ich delZero aus habe hab ich letztens bemerkt dass ich zwar 4 Snaps habe nur können die dann auch "leer" sein, sprich keine Änderung enthalten.

Habe eine Datei für ein Projekt wo ich hin und wieder Änderungen durchführe und würde gern durch die Snaps zurückgehen können bis zu den letzen 4 Änderungen.
Ergo darf er dann Snaps die erstellt werden aber mit delzero gelöscht werden nicht mitzählen.
 
Interesanter Aspekt

Bisher wurden bei autosnap z.B. mit keep=4 immer die letzten 4 Snapshots gehalten, auch bei used=0.
Bisher habe ich das Auto - Löschen von Snaps mit used=0 nur bei hold vorgesehen.

Ich habe mir das aber mal durchüberlegt und bin zu dem Schluss gekommen
dass man bis auf den neuesten snap mit used=0 alle älteren mit used=0 löschen kann.

Hat sich z.B. bei keep=4 und einem Snap alle 15 Minuten/h in der letzten Stunde nichts geändert,
so gibt es jetzt nicht mehr 4 Snaps mit used=0 sondern nur noch einen, den neuesten.
Den braucht man damit man auch bei anschließenden Änderungen darauf zurückgehen kann.

Gibt es Änderungen innerhalb der letzten Stunde so werden automatisch bis zu 4 Snaps gehalten.

Ich habe das mal in der aktuellen 19.dev angepasst und die hochgeladen.
Da werden jetzt egal bei welchen keep (halte Anzahl von Snaps) und hold (halte Snaps neuer als n Tage)
Einstellungen alle Snaps mit used=0 (bis auf neueste) gelöscht.

Ich habe das mal bei meinem Filer laufen lassen. Da Semesterferien sind, ist wenig los und damit haben
viele Snaps used=0. Das hat die Anzahl der Snaps gleich um ein paar Hundert Snaps reduziert.
Bringt zwar keinen Platz da Snaps mit used=0 nichts verbrauchen, bringt aber Übersichtlichkeit.
 
moin,
ich habe debian buster auf meinem home-server installiert und ein update auf Proxmox gemacht.

Diese beiden Anleitungen habe ich dazu genutzt:
https://tobs.tips/_doc_/ProxMoxDoc/
Proxmox PVE 6 Server Installation mit Debian 10 (Buster) Unterbau - 4noobs

Soweit läuft auch alles, nur hänge ich an dem Punkt wo ich ZFS nachträglich installiere.
Anleitung ist hier:
Debian · zfsonlinux/zfs Wiki · GitHub


da ist ein fehler
Typ »Package:« in Zeile 22 der Quellliste /etc/apt/sources.list ist unbekannt.


/etc/apt/sources.list

# vi /etc/apt/preferences.d/90_zfs
#Package: libnvpair1linux libuutil1linux libzfs2linux libzpool2linux spl-dkms zfs-dkms zfs-test zfsutils-linux zfs-utils-linux-dev zfs-sed
#Pin: release n=buster-backports
#Pin-Priority: 990


meine etc/apt/sources.list



# deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 DVD Binary-1 20190706-10:24]/ buster contrib main

# deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 DVD Binary-1 20190706-10:24]/ buster main contrib

deb Index of /debian-security buster/updates main contrib non-free
deb-src Index of /debian-security buster/updates contrib main non-free

deb Index of /debian buster main contrib non-free
deb-src Index of /debian buster main contrib non-free

deb Index of /debian buster-updates main contrib non-free
deb-src Index of /debian buster-updates main contrib non-free

deb Index of /debian/pve/ buster pve-no-subscription

# vi /ect/apt/sources.list.d/buster-backports.list
deb Index of /debian buster-backports main contrib
deb-src Index of /debian buster-backports main contrib

# vi /etc/apt/preferences.d/90_zfs
Package: libnvpair1linux libuutil1linux libzfs2linux libzpool2linux spl-dkms zfs-dkms zfs-test zfsutils-linux zfs-utils-linux-dev zfs-sed
Pin: release n=buster-backports
Pin-Priority: 990


wo liegt mein Fehler ?
 
Zuletzt bearbeitet:
Die Fehlermeldung sagt es dir eigentlich schon, in der Zeile 22 ;)


Entferne folgenden Block komplett oder überlege gleich direkt Proxmox zu installieren. Der Umweg über ein manuell installiertes Debian macht keinen wirklich Sinn.

# vi /etc/apt/preferences.d/90_zfs
Package: libnvpair1linux libuutil1linux libzfs2linux libzpool2linux spl-dkms zfs-dkms zfs-test zfsutils-linux zfs-utils-linux-dev zfs-sed
Pin: release n=buster-backports
Pin-Priority: 990
 
Die Fehlermeldung sagt es dir eigentlich schon, in der Zeile 22 ;)


Entferne folgenden Block komplett oder überlege gleich direkt Proxmox zu installieren. Der Umweg über ein manuell installiertes Debian macht keinen wirklich Sinn.

hihi der weg ist das Ziel
die Zeilen sind weg und wenn ich das mache


root@Server:~# apt install --yes dpkg-dev linux-headers-$(uname -r) linux-image-amd64
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket linux-headers-5.0.15-1-pve kann nicht gefunden werden.
E: Mittels des Musters »linux-headers-5.0.15-1-pve« konnte kein Paket gefunden werden.
E: Mittels regulärem Ausdruck »linux-headers-5.0.15-1-pve« konnte kein Paket gefunden werden.
root@Server:~#


und nun ;-)

liegt das jetzt daran das ich in proxmox über die weboberfläche arbeite oder muss das direkt an der konsole sein ?
 
Zuletzt bearbeitet:
Die Fehlermeldung sagt halt einfach "dein Paket gibt es nicht". Entweder fehlt dir ein einfaches apt update oder du brauchst andere Sourcen.

Ansonsten siehe oben, installier direkt mit einer Proxmox ISO. Alles andere ist Pfusch, eine Gui kannst du dir auch unter Proxmox installieren.
 
Hi ich hätte eine Frage zum tatsächlich genutzten Diskspace unter ZFS.

zpool sagt mir folgendes:
Code:
zpool list
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank   [B]598G[/B]   172G   426G         -    11%    28%  1.00x  ONLINE  -

zfs list -o space dagegen:
Code:
#zfs list -o space
NAME                 AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
tank                  [B]408G[/B]   172G         0     19K              0       172G
tank/backup           408G  3,70G         0   3,70G              0          0
tank/data             408G   167G     54,5G    112G              0          0
tank/www              408G   892M      701M    191M              0          0

Man beachte die Size aus dem zpool ist und dem AVAIL aus dem zfs list. Wo sind die restlichen 190GB bzw. wie mache ich diese für die zfs datasets verfügbar?

zfs autoexpand ist "on" gesetzt.
 
Zuletzt bearbeitet:
zpool list addierte einfach alle Platten im Pool.
Wenn man z.B. 6 x 1 T Platten im Pool hat, zeigt zpool list 6T size

zfs list zeigt den nutzbaren Speicher nach Abzug der Raid Redundanz.
Wenn man aus den 6 Platten z.B. ein Raid Z2 vdev baut, so ist die Nutzkapazität 6T - 2T Redundanz = 4T

ZFS zeigt Kapazität übrigens in G oder T an
Das sind Gigibyte oder Tebibybe und nicht Gigabyte GB oder Terabyte TB

Tebibyte – Wiktionary
 
Ok, kann ja sein aber ich habe keine Raidkonfiguration sondern nur einen ZFS Container (Filespace). Muss ich die Datasets noch entsprechend anpassen?

Code:
zpool status
  pool: tank
 state: ONLINE
  scan: scrub in progress since Sun Jul 28 15:13:24 2019
    70,9G scanned out of 172G at 13,7M/s, 2h5m to go
    0 repaired, 41,35% done
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          cryptvol  ONLINE       0     0     0

errors: No known data errors
 
Zuletzt bearbeitet:
NAME AVAIL USED
tank 408G 172G

Available + USED = 580 G

Zu den 598 G fehlen also noch 18G
Das wird im wesentlichen die ZFS interne Reservierung sein, dazu kämen optional Snapshots oder eine eigene Reservierung.
 
Manchmal sieht man den Wald vor lauter Bäumen nicht oder vergisst zwei Zahlen zu addieren. Danke dir!
 
Hi

Mal eine blöde Frage: wie setze ich das root pw für napp-it? Ich hab das Storage im Moment am normalen LAN. Wirkt sich das ändern des root pw auf NFS aus? Ich habe da glaub ich NFS 3 am ESXi benutzt, Passwort musste ich keines angeben. Weil im Moment kann ich aus dem LAN per SMB auf den Storage ohne pw zugreifen (Schande über mein Haupt).

Wie gehe ich da am besten vor?
 
Über ssh per passwd oder über die GUI dachte ich, dass es auch eine Möglichkeit gibt?
 
In napp-it kann man normaler User anlegen oder löschen oder deren Passwort ändern - nicht aber für root. Das geht nur an der Console oder per ssh (Putty) mit passwd root.

NFS3 arbeitet generell ohne Authentifizierung oder Authorisierung also ohne Anmeldung. SMB ohne Anmeldung geht über "guest enabled" beim Einschalten der Freigabe.
 
Hi

Ja, danke!

Aber was heisst das für mich nun konkret? Neuen vSwitch mit allen napp-it Diensten anlegen, und für das Webinterface und SMB die zweite vNIC nutzen? So stelle ich mir das zumindest vor bislang. Wie soll ich da vorgehen? Oder einfach root pw ändern?

Bräuchte da echt mal noch bisschen mehr Input, bevor ich mit dem Basteln anfange. Mein LAN gehört soweit nur mir, trotzdem finde ich es nicht ganz normal, dass ich da einfach ohne Passwort direkt auf den Storage vom Server zugreifen kann...
 
NFS3 wurde von Sun als Netzwerkdateisystem für sichere Netze entwickelt. Jeder der die IP und den Pfad kennt kann darauf zugreifen. Pseudoschutz gibt es durch Einschränkung per ip oder uid des zugreifenden Clients. Sicher bekommt man das durch eine Firewall oder indem man bei einem AiO ESXi und Storage nur per internem vSwitch oder einem sicheren Management Netzwerk verbindet. Will man zusätzlich einen SMB Filer braucht man eine weitere OmniOS Instanz.
 
@gea: ich würde gerne in einer Appliance gerne das Subnetz ändern.

Konfig: 2 Hosts

Server1
NIC1 192.168.1.1
NIC2 10.10.10.1

Server2
NIC1 192.168.1.2
NIC2 10.10.10.2

Bisher läuft die Applicance über die 192.168.1.x IPs. Ich will die aber über die anderen NICs laufen lassen, also im 10.10.10.x Netz, ohne dass mir die Snaps, Jobs (insb. Replikation) usw. verloren gehen.

Wie mach' ich das wohl am schlauesten?
 
Die Appliance Group im 10er Subnet erstellen
Die alten Group Member im 192er Netz kann man löschen

Dann entweder den Job editieren (neue Quell-ip)
entweder im Jobs Menü oder /var/web-gui/_log/jobs/id.par

oder Job löschen und mit der alten jobid und Quell/Ziel ZFS neu anlegen
 
Als Notiz für SSD-Pools mit FreeBSD/Xigmanas/Nas4free mit Supermicro X11 (C23x) :

Mich hat immer gewundert, dass bei meinem Flash-only-Pool (3 Mirror-Päärchen SM863) an den Sata-Ports (ESXI-Passthrough) die SSDs nicht über 300-320 MB/s hinauskamen und lesend das Parallel-Lesen von den Mirrors kaum wirksam war.
Hab nun etwas rumgespielt, auch mit ner anderen Haswell-Maschine, und festgestellt: der Sata-Controller limitiert schlicht bei ~1,8 GB/s Durchsatz und kann den parallelen vollen Datenstrom nicht handeln. Oder VT-d limitiert ggf.
Hab zuerst 2, dann 3 der SSDs nun auf den SAS3008 umgehängt (hab die SSDs ja via GPT-Label im Pool, nicht per /dev/xxx). Und schwupps, 450-480 MB/s per Port und 2,6GB/s beim Lesen und 1,3GB/s beim Schreiben. Geht doch. :bigok:

Also dran denken, bei ZFS und Sata-SSDs: auch an Limits der Onboard-Sata für den Gesamtdurchsatz denken, wenn der Durchsatz fernab der SSD-Specs ist.
 
Zuletzt bearbeitet:
Als Notiz für SSD-Pools mit FreeBSD/Xigmanas/Nas4free mit Supermicro X11 (C23x) :

Mich hat immer gewundert, dass bei meinem Flash-only-Pool (3 Mirror-Päärchen SM863) an den Sata-Ports (ESXI-Passthrough) die SSDs nicht über 300-320 MB/s hinauskamen und lesend das Parallel-Lesen von den Mirrors kaum wirksam war.
Hab nun etwas rumgespielt, auch mit ner anderen Haswell-Maschine, und festgestellt: der Sata-Controller limitiert schlicht bei ~1,8 GB/s Durchsatz und kann den parallelen vollen Datenstrom nicht handeln. Oder VT-d limitiert ggf.
Hab zuerst 2, dann 3 der SSDs nun auf den SAS3008 umgehängt (hab die SSDs ja via GPT-Label im Pool, nicht per /dev/xxx). Und schwupps, 450-480 MB/s per Port und 2,6GB/s beim Lesen und 1,3GB/s beim Schreiben. Geht doch. :bigok:

Also dran denken, bei ZFS und Sata-SSDs: auch an Limits der Onboard-Sata für den Gesamtdurchsatz denken, wenn der Durchsatz fernab der SSD-Specs ist.

Also, wenn ich mir das Blockdiagramm zum Supermicro X11SSH-CTF anschaue, wundert mich das so gar nicht.
Der ganze Chipsatz, inkl. deiner 10GBase-T onboard NICs, vermutlich deiner PM961 im M.2 Slot und der 6 SSDs an den SATA-Boards teilen sich eine PCIe 3.0 x4 Anbindung an die CPU.
 
Valider Punkt, beim lokalen und stupiden sequentiellen DD-Test (ohne Netzwerklast, die PM961 ist im Notebook (die Configs recht von dem Slash sind alle im Notebook, nicht im AIO/ZFS-Maschinchen)) sollte der DMI3 x4 eigentlich nicht limitiert haben.

Aber dennoch werd ich wohl alle SSDs auf den SAS-HBA klemmen, um Last vom DMI zu bekommen. Eventuell muss sogar ein SAS3-Expander (Intel res3tv360) ran, dann gibts da kein Bottleneck mehr und die 12G-Ports hätten dann auch ihren Zweck erfüllt. Hoffe mal, FreeBSD und ZFS meckern da nich (Sata-Devices an SAS3-Expander...).
 
Zuletzt bearbeitet:
Sata SSDs an einem Expander geht recht problemlos.
Ich habe aber schon Berichte gesehen und das selbst erlebt, dass eine defekte Sata Platte einen Expander blockierte oder bei mehreren Platten Probleme anzeigte. Die Fehlersuche ist dann nicht so einfach. Mit SAS Platten gibts sowas eher nicht.

Ich würde bei Sata Platten daher immer einen weiteren HBA nehmen statt einem Expander. Ist auch schneller.
 
ESXI 6.7 u2
Napp it erkennt meine beiden NVME SSD nicht mehr ( Passtrough) diese werden beide als removed angezeigt, nachdem ich => Pool export aus gemacht habe.
Alle Versuche diese Drives wieder zu reaktivien schreitern. Da Sie im Web GUI als "removed" angezeigt werden.

2019-08-06_07h19_02.png

Die SSD sind aber völlig in Ordnung, habe Sie zum testen an eine Win VM durchgereicht, sofort erkannt, Laufwerk sind 100% i.O.
 
Valider Punkt, beim lokalen und stupiden sequentiellen DD-Test (ohne Netzwerklast, die PM961 ist im Notebook (die Configs recht von dem Slash sind alle im Notebook, nicht im AIO/ZFS-Maschinchen)) sollte der DMI3 x4 eigentlich nicht limitiert haben.

Aber dennoch werd ich wohl alle SSDs auf den SAS-HBA klemmen, um Last vom DMI zu bekommen. Eventuell muss sogar ein SAS3-Expander (Intel res3tv360) ran, dann gibts da kein Bottleneck mehr und die 12G-Ports hätten dann auch ihren Zweck erfüllt. Hoffe mal, FreeBSD und ZFS meckern da nich (Sata-Devices an SAS3-Expander...).

Vielleicht limitiert da auch intern an einer Stelle der C2XX-Chipsatz, kann ja eigentlich gar nicht anders sein, wäre die Anbindung für alle Komponenten "Best Effort" würdest du ja mit lokalem dd volle Bandbreite bekommen.
 
Werden die NVMe noch angezeigt wenn man format aufruft (console oder napp-it cmd Fenster?)
Waren die zuvor als Slog aktiv?
 
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