SMB Multichannel mit FreeNas/windows Server

TapfererToaster

Neuling
Thread Starter
Mitglied seit
25.07.2014
Beiträge
17
Hi,

Ich habe in kürze vor, meinen Speicher im Server zu erweitern und hab mir dazu mal ein paar gedanken gemacht, ob ich nicht vielleicht meine bisherige konfiguration umstellen sollte.
Ich hab mal ein paar Tests gemacht, ob es so laufen würde wie ich mir das vorstelle und bin dabei auf ein paar Probleme gestoßen und würde gerne wissen ob Ihr Vorschläge habt, diese zu umgehen.

IST-Situation

Also mein Netzwerk sieht Folgendermaßen aus:

- Server steht im Keller
- 1 Gbit Leitung Keller <-> 1.OG zu Rechner1
- 1 GBit Leitung Keller <-> 1.OG zu Gästezimmer
- 1 Gbit Leitung Keller <-> Wohnzimmer zu Rechner2, TV usw.

Server:
ESXi Server auf dem FreeNAS läuft. Implementiert in etwa wie hier: https://b3n.org/freenas-9-3-on-vmware-esxi-6-0-guide/
-> FreeNAS läuft auf einer SSD die am Mainboard hängt
-> LSI2008 wurde an VM durchgereicht -2 Speicherpools hängen am HBA.
-> ESXi bekommt zusätzlichen Speicher per iSCSI, verbunden durch ein internes vSwitch
-> Daten werden per CIFS, NFS und iSCSI geshared.

Alles funktioniert auch wunderbar. Einziges "Problem" ist die begrenzung auf die 1GBit.
Also habe ich folgendes gemacht:
- Dual-Link Intel karte in PC1 gebaut
- Weiteres Kabel zwichen PC1 (managed switch im Raum) und dem Gästezimmer verlegt
- Trunk/LAG zwichen Keller und dem 1.OG eingerichtet.

Theoretisch, könnte ich nun in FreeNAS und Rechner1 auch Trunking einrichten. Da trunking aber nur mehr speed bei mehreren verbingen bringt habe ich folgendes getestet:

Tests

- Auf dem ESXi zusätzlich Windows Server 2012 R2 installiert (auf SSD storage), 2 NICs zugewiesen und SMB 3 Multichannel aktiviert (auf Server u. Rechner1)
-> test brachte mir 2x 1Gbit Speeds.

Daher:
Ich könnte meinen Speed zum Server verdoppeln wenn ich Windows server mit SMB3 Multichannel benutze. Der wechsel zu Windows würde aber andere Probleme bringen.

Möglichkeit 1

Wechsel von FreeNas zu Windows Server 2012k R2

+ Multichannel support
- keine webgui
- kein zfs
- Kein Ahnung wie gut das durchreichen von Windows iSCSI-Share an ESXi funktioniert.
- Da ich kein hardware raid habe, müsste ich software raid/StorageSpaces benutzen -> geschwindigkeiten reichen nicht mal mehr um eine Gbit-Leitung auszulasten.

Möglichkeit 2

Diese Möglichkeit habe ich bereits getestet und scheint machbar. Jedoch gibts noch ein paar Sachen die mir nicht 100% gefallen.

Ich behalte FreeNas, richte ein ZVOL ein dass so ziemlich den ganzen Pool braucht und share diesen ZVOL per iSCSI (internal) mit Windows Server.
In Windows füge ich dann das iSCSI laufwerk hinzu und richte darauf freigaben ein. Beim testen hab ich damit zumindest beim lesen vom server ~200MB/s erreicht - beim schreiben schwankte die geschindigkeit stark. hoffe aber mal ich könnte das noch wegbekommen.

+ Multichannel Speeds
+ Daten liegen weiterhin in ZFS pool mit ~300MB/s w/r speeds (auf den pool selber).
- Freigaben können nichtmehr einfach in FreeNAS geregelt werden
- alles andere als elegant

Im grunde kann ich damit leben, freigaben in Windows zu regeln und dafür die doppelte geschwindigkeit zu bekommen. Bevor ich das jedoch ernsthaft umsetze, wollte ich mal wissen ob Ihr elegantere möglichkeiten kennt multichannel ohne Hardware-Raid einzusetzen.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
@TapfererToaster: Dein ZFS-Pool (RaidZ) ist am Ende doch auch nichts anderes als ein "SoftwareRaid", wie eben auch unter Windows Server.

Bei der Performance kommt es durchaus auch auf die Details an, wie Du die iSCSI LUNs/Volumes einerseits und das "Gast"-Filesystem konfigurierst (vor allem bei der blocksize, auch abhängig von den darunter liegenden Platten!). Da musst du ggf. auch etwas experimentieren.

Auf jeden Fall würde ich für die iSCSI-Verbindung zwischen deiner StorageVM und ESXi einen reinen internen Switch konfigurieren und für diesen sowie alle jeweils an ihn angeschlossenen (virtuellen) NICs Jumbo-Frames aktivieren.

ABER: ich würde in der Tat auch noch einmal überlegen, ob Du wirklich beides, also ZFS + Windows Server brauchst. Verschiedene schöne ZFS-Features gehen dir ja m.W. bei Verwendung von iSCSI-Freigaben trotz darunter liegenden ZFS-Pools verloren (zum Beispiel dass Snaps unter Windows als "vorherige Version" zur Verfügung stehen). Vielleicht wartest Du auch einfach "nur" ein bisschen, bis Samba multi-channel kann... ;)

Für Windows Server gibt's zwar keine webGUI, aber mit RSAT (oder RDP) ein ganz anderes / alternatives grafisches User Interface. ;)
 
smb multichannel geht mit geeigneten Nics von Win zu Win (z.b. 8 zu 2012/R2)

bei VMs kannste das abhaken ... musste schon DS nutzen :)

win 10 hat (gelinde) da Probleme ^^

oder ist das problem Windows ... vergess dass immer, da es zu 99% sonst stimmt ( <--- Smiley aka Sarkassmus)
 
Zuletzt bearbeitet:
Wie kommst Du da drauf? Sehe da keinen Unterschied.

@TapfererToaster: Dein ZFS-Pool (RaidZ) ist am Ende doch auch nichts anderes als ein "SoftwareRaid", wie eben auch unter Windows Server.

Bei der Performance kommt es durchaus auch auf die Details an, wie Du die iSCSI LUNs/Volumes einerseits und das "Gast"-Filesystem konfigurierst (vor allem bei der blocksize, auch abhängig von den darunter liegenden Platten!). Da musst du ggf. auch etwas experimentieren.

Auf jeden Fall würde ich für die iSCSI-Verbindung zwischen deiner StorageVM und ESXi einen reinen internen Switch konfigurieren und für diesen sowie alle jeweils an ihn angeschlossenen (virtuellen) NICs Jumbo-Frames aktivieren.

ABER: ich würde in der Tat auch noch einmal überlegen, ob Du wirklich beides, also ZFS + Windows Server brauchst. Verschiedene schöne ZFS-Features gehen dir ja m.W. bei Verwendung von iSCSI-Freigaben trotz darunter liegenden ZFS-Pools verloren (zum Beispiel dass Snaps unter Windows als "vorherige Version" zur Verfügung stehen). Vielleicht wartest Du auch einfach "nur" ein bisschen, bis Samba multi-channel kann... ;)

Für Windows Server gibt's zwar keine webGUI, aber mit RSAT (oder RDP) ein ganz anderes / alternatives grafisches User Interface. ;)

Bevor ich die FreeNas Speicherpools das erste mal eingerichtet habe, hab ich auch unter Windows Server erstmal getestet wie die Performance denn so sein würde.
Dabei habe ich Read/Write Tests auf ein von Windows angelegtes Raid-5 (Ja, ich weiss es ist nichtmehr Zeitgemäß.) und danach auf ein StorageSpace mit einer Spare gemacht. Bei beiden Varianten waren die write Werte deutlich <100MB/s.

Daher bin ich am Ende bei FreeNas mit RaidZ gelandet - soweit ich weiss, benutzt FreeNas RAM als cache? Wie auch immer, es funktioniert. Read/Write speeds sind deutlich höher als ich es bei Windows mit der Hardware hinbekommen habe.

Alle Verbindungen zwischen VMs auf dem ESXi-Host laufen bereits über ein ESXi-vSwitch. Daher kann ich in WindowsServer auch mit ~2Gbit+ speeds auf meine per iSCSI angeschlossene "Festplatte" zugreifen.
Den Tip mit Blocksize werde ich mal näher testen, Danke! JumboFrames hatte ich Anfangs mal verwendet, hatte dann aber immer Warnungen in FreeNas-Logs, dass die verbindung gedropped wird da pings fehlschlugen.
Werd damit aber auch nochmal rumspielen bevor ich die neuen Platten einbaue.

Ich habe beim nachforschen gelesen, dass SAMBA 4.4 wohl Multichannel als expermintelles feature bekommen SOLL.. daher hab ich ja vielleicht Glück und Multichannel landet in nem Jahr oder so auch in FreeNas..
Daher werd ich es wohl so machen, dass ich den Großteil der Daten weiterhin mit FreeNas verwalte/share und zusätzlich mit Windows noch Speicher bereitstelle auf den ich schneller zugreifen kann. Sollte SAMBA dann irgendwann mal Multichannel bekommen, kann ich die Windows VM einfach löschen.
 
Vielleicht mal als Hinweis dieser Link.
Multichannel-SMB ist ein Feature von SMB Protokoll 3.0, was bereits ab Samba 4.0.0 unterstützt wird. Die SMB-Version 3.0.2 ist gerade in der Umsetzung.
Ich hatte den Eindruck, auf Linux-Seite muss die smb.conf zwingend ergänzt werden um:
client max protocol = SMB3
(und "client min protocol = SMB3", wenn nur >= Windows 8-PCs im Netzwerk)

FreeNAS habe ich ewig nicht mehr probiert, aber SMB3 wird seit Version 9.2.1 unterstützt...

Edit: Ich habe gerade das von Dir genannte Experimental-feature gefunden. Bin etwas ratlos, warum SMB3 bereits Multichannel beinhaltet und jetzt als neues Feature angepriesen wird. Lt. technischer Beschreibung ist es bereits Feature seit Samba 4.0.0....?!
 
Zuletzt bearbeitet:
Ich bin zwar nicht so tief in Linux und Samba drin aber soweit ich weiß sind halt in Samba nicht alle Feature die SMB3 kann umgesetzt, wie zb Multichannel das jetzt wohl erst mit 4.4.0 eingebaut wurde.

https://www.samba.org/samba/history/samba-4.4.0.html


In deinem Link steht zb:

Basic support for SMB3 is included in Samba 4.0.0 and later.

Was dann darunter steht sind wohl die Feature von SMB3 die noch nicht alle in Samba umgesetzt sind , sieht man auch wenn man sich die Roadmap von Samba anschaut dort steht :

RDMA (SMB direct) - Planning
 
Jau, ich hatte neulich auch mal geschaut und es sah für mich nicht so aus, als ob Multipath da aktuell "an" ist - da muss man glaub ich noch selbst frickeln.
 
Neee es ist überhaupt erst mal drin mit dem Samba 4.4.0 man muss es auch konfigurieren und es ist nicht für Produktiv gedacht :) Denke mal bis sowas dann mal in Freenas drin ist geht noch sehr viel Zeit ins Land die sind ja aktuell noch bei Samba 4.1.x oder so :)

Tante Edith sagt:

Freenas 9.10 hat wohl doch schon Samba 4.3.4
 
Zuletzt bearbeitet:
Ich hole den alten Beitrag mal wieder hoch...
Inzwischen gibts ja FreeNAS 11, funktioniert dort nun Multi-Channell SMB?

@TapfererToaster
Wie hast Du Dein Problem gelöst?
 
Man kann SMB Multichannel Support aktivieren in FreeNAS 11, ja. Das Ganze ist aber "experimantal", es scheint da ein Problem zu geben, wodurch es unter bestimmten Umständen zu Datenverlust kommen kann. Wann genau das auftreten kann, da hab ich keine Ahnung. Ich vermute wenn ein Netzwerk-Link mal kurzzeitig das Signal verliert oder DHCP erneuert wird oder sowas... Probieren kannst du es aber mal. Einfach in den Einstellungen für den SMB-Dienst im FreeNAS folgendes eintragen (Auxiliary parameters):

server multi channel support = yes
aio read size = 1
aio write size = 1


In FreeNAS 11.2 solls dann auch ne extra Checkbox dafür geben um den experimentellen Support zu aktivieren: Feature #17697: Add a checkbox to enable multichannel samba - FreeNAS - Bug Tracking System
 
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