Poor CIFS write performance - Freenas 9.3

Status
Not open for further replies.

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
It wasn't the point to understanding how samba works. The point what to understand the freenas settings:
Why you have 3 options that will do the same thing ?

If you set max protocol "SMB2" in freenas , what is the max SMB protocol that will actually use according to you ?
Depends on the client. Right now, SMB2.02 because I like my Vista. My phone and openbsd machine will probably do an SMB1 connection. My hypothetical Windows 8 box would use SMB2.10. There are actually only two options that do the same thing (SMB2 and SMB2_10). You can either specify the generic "SMB2" or select the specific sub-protocol you want.
 
Joined
Nov 11, 2014
Messages
1,174
Depends on the client. Right now, SMB2.02 because I like my Vista. My phone and openbsd machine will probably do an SMB1 connection. My hypothetical Windows 8 box would use SMB2.10. There are actually only two options that do the same thing (SMB2 and SMB2_10). You can either specify the generic "SMB2" or select the specific sub-protocol you want.

If you are right , this is very well explained with few words. The problem is the way was implemented in freenas.
I wonder How do you know that SMB2 will stop at SMB2.10 when connected to Widnows 8, and not go all the way to SMB2.24 ?
It make logically sense if you set SMB2 generic , to use all SMB2.x protocols as high as SMB2.24 right or wrong ?
I think if generic option wasn't there it wouldn't confuse me at all , I don't know it might be just me, but I doubt it.:)
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
If you are right , this is very well explained with few words. The problem is the way was implemented in freenas.
I wonder How do you know that SMB2 will stop at SMB2.10 when connected to Widnows 8, and not go all the way to SMB2.24 ?
It make logically sense if you set SMB2 generic , to use all SMB2.x protocols as high as SMB2.24 right or wrong ?
I think if generic option wasn't there it wouldn't confuse me at all , I don't know it might be just me, but I doubt it.:)

Easy. The stuff after SMB2_10 is NOT compatible with anything except the betas and such of Windows 8. They were tests of Samba that were later abandoned. So unless you are using one of those forsaken builds.

FreeNAS isn't 'implementing' it any which way. FreeNAS is simply making the settings available that is already in Samba. Nothing more and nothing less.

This is easy and I have no idea why I'm about to explain all this in more detail and not clicking "Post Reply" and being done with this... not to mention we've totally hijacked a thread from January and gone totally off-topic with it.

SMB1 stopped with XP.

When Vista was released, SMB2 (also called SMB 2.0) came out. Samba called it SMB2_02. This was because there were some fixes made after Vista came out, so 2.0 became 2.02. But they are effectively backwards compatible.

When Win 7 came out SMB 2.1 came out (known to Samba as SMB2_10). Again, backwards compatible with 2.02 and client/server would negotiate the highest supported.

Samba also added SMB2_00 to reference the SMB2 protocol as a whole. It was meant to be a "whatever the default/table SMB2 protocol that your version of Samba recommends". So you set all of your servers to SMB2_00 and someday when the next version of windows comes out with SMB2.2 (or whatever it would be) and the Samba team makes 2.2 stable, then upgrading Samba would automatically enable the newer settings.

But Microsoft screwed the Samba team.

Windows 8 had 2.22 for early releases (which the samba team incorporated) and then later 2.24 (which the samba team also incorporated). Then Microsoft decided to abandon 2.2 totally and went to 3.0. The code was left for 2.22 and 2.24 because it was already written and complete.

Keynote: Windows 8 "RELEASE" is not entirely compatible with 2.22 and 2.24

So Samba team made 3.0 (which it coded as SMB3_00 and SMB3) to keep with Microsoft. In essence, SMB3_00 is SMB3 with support for a few small things that aren't in 3.0, but are in 2.24 IIRC. Anyway, SMB3_00 is the "highest" supported. If you read the documentation for Samba, you'll find that choosing SMB3 and SMB3_00 are the same exact thing right now.

In theory, if SMB 3.1 came out, I'd expect something like an SMB3_10 variant to exist. Later, when the Samba team declares it as stable and ready for production then the SMB3_00 will probably be equivalent to SMB3_10 (or something like that).

Makes total sense when you understand the history.. no?

Am I the only one foolish enough to have been around to actually keep up with this history when it was in the making?
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Easy. The stuff after SMB2_10 is NOT compatible with anything except the betas and such of Windows 8. They were tests of Samba that were later abandoned. So unless you are using one of those forsaken builds.

FreeNAS isn't 'implementing' it any which way. FreeNAS is simply making the settings available that is already in Samba. Nothing more and nothing less.

This is easy and I have no idea why I'm about to explain all this in more detail and not clicking "Post Reply" and being done with this... not to mention we've totally hijacked a thread from January and gone totally off-topic with it.

SMB1 stopped with XP.

When Vista was released, SMB2 (also called SMB 2.0) came out. Samba called it SMB2_02. This was because there were some fixes made after Vista came out, so 2.0 became 2.02. But they are effectively backwards compatible.

When Win 7 came out SMB 2.1 came out (known to Samba as SMB2_10). Again, backwards compatible with 2.02 and client/server would negotiate the highest supported.

Samba also added SMB2_00 to reference the SMB2 protocol as a whole. It was meant to be a "whatever the default/table SMB2 protocol that your version of Samba recommends". So you set all of your servers to SMB2_00 and someday when the next version of windows comes out with SMB2.2 (or whatever it would be) and the Samba team makes 2.2 stable, then upgrading Samba would automatically enable the newer settings.

But Microsoft screwed the Samba team.

Windows 8 had 2.22 for early releases (which the samba team incorporated) and then later 2.24 (which the samba team also incorporated). Then Microsoft decided to abandon 2.2 totally and went to 3.0. The code was left for 2.22 and 2.24 because it was already written and complete.

Keynote: Windows 8 "RELEASE" is not entirely compatible with 2.22 and 2.24

So Samba team made 3.0 (which it coded as SMB3_00 and SMB3) to keep with Microsoft. In essence, SMB3_00 is SMB3 with support for a few small things that aren't in 3.0, but are in 2.24 IIRC. Anyway, SMB3_00 is the "highest" supported. If you read the documentation for Samba, you'll find that choosing SMB3 and SMB3_00 are the same exact thing right now.

In theory, if SMB 3.1 came out, I'd expect something like an SMB3_10 variant to exist. Later, when the Samba team declares it as stable and ready for production then the SMB3_00 will probably be equivalent to SMB3_10 (or something like that).

Makes total sense when you understand the history.. no?

Am I the only one foolish enough to have been around to actually keep up with this history when it was in the making?
Except for the facts we recounted pretty much exactly the same story. As a lawyer once told me, "never let the facts get in the way of a good story".
 
Joined
Nov 11, 2014
Messages
1,174
Easy. The stuff after SMB2_10 is NOT compatible with anything except the betas and such of Windows 8. They were tests of Samba that were later abandoned. So unless you are using one of those forsaken builds.

FreeNAS isn't 'implementing' it any which way. FreeNAS is simply making the settings available that is already in Samba. Nothing more and nothing less.

This is easy and I have no idea why I'm about to explain all this in more detail and not clicking "Post Reply" and being done with this... not to mention we've totally hijacked a thread from January and gone totally off-topic with it.

SMB1 stopped with XP.

When Vista was released, SMB2 (also called SMB 2.0) came out. Samba called it SMB2_02. This was because there were some fixes made after Vista came out, so 2.0 became 2.02. But they are effectively backwards compatible.

When Win 7 came out SMB 2.1 came out (known to Samba as SMB2_10). Again, backwards compatible with 2.02 and client/server would negotiate the highest supported.

Samba also added SMB2_00 to reference the SMB2 protocol as a whole. It was meant to be a "whatever the default/table SMB2 protocol that your version of Samba recommends". So you set all of your servers to SMB2_00 and someday when the next version of windows comes out with SMB2.2 (or whatever it would be) and the Samba team makes 2.2 stable, then upgrading Samba would automatically enable the newer settings.

But Microsoft screwed the Samba team.

Windows 8 had 2.22 for early releases (which the samba team incorporated) and then later 2.24 (which the samba team also incorporated). Then Microsoft decided to abandon 2.2 totally and went to 3.0. The code was left for 2.22 and 2.24 because it was already written and complete.

Keynote: Windows 8 "RELEASE" is not entirely compatible with 2.22 and 2.24

So Samba team made 3.0 (which it coded as SMB3_00 and SMB3) to keep with Microsoft. In essence, SMB3_00 is SMB3 with support for a few small things that aren't in 3.0, but are in 2.24 IIRC. Anyway, SMB3_00 is the "highest" supported. If you read the documentation for Samba, you'll find that choosing SMB3 and SMB3_00 are the same exact thing right now.

In theory, if SMB 3.1 came out, I'd expect something like an SMB3_10 variant to exist. Later, when the Samba team declares it as stable and ready for production then the SMB3_00 will probably be equivalent to SMB3_10 (or something like that).

Makes total sense when you understand the history.. no?

Am I the only one foolish enough to have been around to actually keep up with this history when it was in the making?

I understand all that, Do you remember when I told you the SMB3.0 can do multichannel and now "LAG is still only 1Gb on a single link not a fatter pipe" no longer applies ? You didn't believe me then I hope you know by now , but anyways the point on "explaining all this" is that we can learn from each other, isn't that the point.

There is a lot that you know that I don't and there a lot I know you don't. I hope that answers why you explaining all this.


For the freenas setting you are missing my point I guess I wasn't able to explain it properly. It's just like this:
When I see in consumer nic adapter option "green Ethernet" option that you can enable or disable I find this stupid. If the say "Jumbo Frame" enable or not , if you don't know what jumbo frame is you can learn and then decide if you want it or not, but how in the hell I can understand what "green Ethernet" is , unless I was in his head .
The makers think this is a way of making it "easy" to setup , and they don't get it why they make it worst.
I don't know if this make sense but it's similar to the freenas setting of this protocol. Not intuitive.
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,874
Joined
Nov 11, 2014
Messages
1,174
Do you have multichannel working on FreeNAS?

Just because SMB3.0 has multichannel, doesn't mean that it's been implemented in Samba4.
http://blog.fosketts.net/2012/12/12/samba-40-released-active-directory-smb-support/
https://wiki.samba.org/index.php/Roadmap

Oh no I just mention it , because I know it's working on Window 8 to Windows 2012. On Freenas I heard it won't come.

I use Windows 7 as client for my freenas so even if it starts working it won't help me. In a fact if I was able to use os with smb3.0 , I wouldn't probably jump on 10Gb wagon just yet.
 
Status
Not open for further replies.
Top