Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PD-1631 / 25.04 / Pd 1631 add smb limitations to tutorials and UI ref (by micjohnson777) #3425

Closed
wants to merge 2 commits into from

Conversation

bugclerk
Copy link
Contributor

Automatic cherry-pick failed. Please resolve conflicts by running:

git cherry-pick -x 4aae0a73697db6e4bea8eea26e6fddb25c8d7c8d
git cherry-pick -x f9bc0a9dad3cecdb9d873532f7e55a72cf109fcc
git cherry-pick -x e4cc435b0788d9a3cefad885d0bbc6a7647483e9
git cherry-pick -x ef06727c08d4ae0e5c91f380ac33b0c5028538af
git cherry-pick -x 54200ed5814df170b02aef7f22e0d0e975c4c85d
git cherry-pick -x 62cfd7eaa731fd0f6c38bec27a102a5118e16afb
git cherry-pick -x 8621210386906d9765cd3663a85d277624ebd346
git cherry-pick -x efbd34f7eb0142a41e24de9d150761206d503bff

If the original PR was merged via a squash, you can just cherry-pick the squashed commit:

git reset --hard HEAD~2
git cherry-pick -x 4d6619dc61789f81bdc21acb0000d24a2070ba71

This PR creates a snippet with SMB limitations information and issues/limitations related to using third-party file managers.

The snippet is only added to the main SMB tutorial index file.

backport to 25.04, 24.10, and 24.04

Thanks for contributing to TrueNAS documentation! By opening a Pull Request, you're acknowledging that your changes will be distributed under the Creative Commons 4.0 license.

Original PR: #3415
Jira URL: https://ixsystems.atlassian.net/browse/PD-1631

This commit saves the first draft of Samba SMB limitation snippet file.

(cherry picked from commit b497626)
This commit adds limits for MacOS to the file limits tables, and makes spelling and grammar changes.

(cherry picked from commit d1a7b59)
Copy link
Contributor

@anodos325 anodos325 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this may contain AI-driven hallucinations.


#### Windows, Linux, and MacOS Client SMB Limitations
{{< truetable >}}
| | Windows | Linux (Ext4) | Linux (XFS) | MacOS |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are different Linux filesystems listed here? This is SMB client, so the filesystem will be SMB.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each OS client has different limitations. We have users on Windows, Linux and Mac so this is provided for those individuals to know what the limitations are.

| Maximum length for path (characters) | 260* | 4096 | 4096 | 255*** |
| Invalid characters | angle brackets < ><br>colon :<br>asterick *<br>slashes / \<br>pipe | | NULL (?0)<br>slash (/) | NULL (?0)<br>slash (/) | slash /<br>colon :<br> |
| Case sensitivity | Yes | No | No | Yes |
| Single file size/write size** | 16 TB | 16 TB | 8 EB | # |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what relevance is here. The single file size is basically determined by the filesystem limitations of the server holding the file. I'm not aware of any SMB client imposing a filesize limitation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was listed as information I should provide. If it is not relevant I can strip this out.

| Invalid characters | angle brackets < ><br>colon :<br>asterick *<br>slashes / \<br>pipe | | NULL (?0)<br>slash (/) | NULL (?0)<br>slash (/) | slash /<br>colon :<br> |
| Case sensitivity | Yes | No | No | Yes |
| Single file size/write size** | 16 TB | 16 TB | 8 EB | # |
| Maximum volume size | 256 TB | 1 EB | 8 EB | # |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is relevance here? We're talking SMB, not the local filesystem.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relevance was what each OS client's capabilities are. If not relevant we can strip out this information.

| Case sensitivity | Yes | No | No | Yes |
| Single file size/write size** | 16 TB | 16 TB | 8 EB | # |
| Maximum volume size | 256 TB | 1 EB | 8 EB | # |
| Available file descriptors | 1024 | 1024 | 1024 | 256 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this coming from? It's very wrong.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ChatGPT hallucination most likely. I'll strip this out.

| Single file size/write size** | 16 TB | 16 TB | 8 EB | # |
| Maximum volume size | 256 TB | 1 EB | 8 EB | # |
| Available file descriptors | 1024 | 1024 | 1024 | 256 |
| File permissions: ACL entries (ACEs) per ACL, per file or directory | 1025 | 32 | 1000+ | 64 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't isn't related to SMB protocol.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll strip out this information.

| Maximum volume size | 256 TB | 1 EB | 8 EB | # |
| Available file descriptors | 1024 | 1024 | 1024 | 256 |
| File permissions: ACL entries (ACEs) per ACL, per file or directory | 1025 | 32 | 1000+ | 64 |
| Maximum file descriptors simultaneously opened by a process | set limit | 1024+ | 1024+ | 256 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't related to SMB protocol or client.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll strip out this information.

Change the system limits in Linux <file>limits.conf</file> file to increase the default number of file descriptors allowed.

#### Samba SMB Limitations
Samba SMB is not designed to work well in distributed file systems like Ceph or GlusterFS without careful configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is irrelevant. We're not using Ceph or Glusterfs. I don't know where this is coming from, but it's quite wrong.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll strip this out as well. Same source for all this information.

Samba SMB is not designed to work well in distributed file systems like Ceph or GlusterFS without careful configuration.

Performance is impacted by single-threaded connections that are handled one at a time. These can become a bottleneck in high-demand environments.
Samba SMB might not achieve the same raw I/O as native SMB implementations, especially in high-number file access or large file environments.
Copy link
Contributor

@anodos325 anodos325 Jan 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we calling this out? It's not helpful for our users and is incorrect.

Samba can consume significant amounts of memory when handling many concurrent sessions, large files, or high numbers of shares.
Higher numbers of clients increase memory requirements exponentially.

The Samba SMB server might need heavy optimization or to be scaled horizontally to avoid bottlenecks in environments with massive numbers of clients connecting simultaneously.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we talking about Samba needing heavy optimization?

| | SMB1* | SMB2 | SMB3 |
|--|-------|------|------|
| Maximum file size/write size | 2 GB | 256 TB | 256 TB |
| Large file and volume size support | No | 16 EB | 16 EB |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this coming from? It's wrong.

@Mrt134
Copy link
Collaborator

Mrt134 commented Jan 16, 2025

Significant issues found during SME review. I'm closing this PR and am investigating the original ticket to identify a path forward for this requested content.

@Mrt134 Mrt134 closed this Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants