Skip to content

Commit f4c7ce5

Browse files
committed
SMB MC for Linux2
1 parent 74a979a commit f4c7ce5

1 file changed

Lines changed: 36 additions & 4 deletions

File tree

articles/storage/files/smb-performance.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,33 @@ Higher I/O sizes drive higher throughput and will have higher latencies, resulti
4848

4949
## SMB Multichannel
5050

51-
SMB Multichannel enables an SMB client to establish multiple network connections to an SMB file share. Azure Files supports SMB Multichannel on SSD file shares for Windows clients. On the service side, SMB Multichannel is now enabled by default for all newly created storage accounts in all Azure regions. There's no other cost for enabling SMB Multichannel.
51+
SMB Multichannel enables an SMB client to establish multiple network connections to an SMB file share, improving throughput and resiliency. Azure Files supports SMB Multichannel on SSD file shares for both Windows and Linux SMB clients.
52+
For supported OS versions and detailed configuration, see the Linux SMB Multichannel section below.
53+
54+
### Linux SMB Multichannel Support
55+
Azure Files supports SMB Multichannel with native Linux SMB clients on the following distributions:
56+
57+
- *Ubuntu 22.04*
58+
- *Ubuntu 24.04*
59+
- *AzLinux 3.0*
60+
- *RHEL 9.7*
61+
- *RHEL 10.1*
62+
63+
These clients must be running the appropriate kernel stack and CIFS utilities that support multichannel. SMB Multichannel support on Linux enables performance scaling similar to Windows by establishing multiple parallel TCP connections to the same file share endpoint.
64+
65+
#### Prerequisites
66+
- Kernel with SMB multichannel support enabled (typically 6.8+ and up with *max_channel=4* mount flags)
67+
- SMB 3.1.1
68+
- Multiple network interfaces or network paths (if available)
69+
- Port 445/TCP open between client and Azure Files endpoint
70+
- Ensure client side receive-side scaling (RSS) is enabled for multi-queue support
71+
72+
#### Example
73+
```Bash
74+
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
75+
-o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
76+
multiuser,serverino,actimeo=30,max_channel=4
77+
```
5278

5379
### Benefits
5480

@@ -64,6 +90,12 @@ SMB Multichannel enables clients to use multiple network connections that provid
6490
When SMB Multichannel is enabled on clients and storage accounts, it allows for dynamic discovery of existing connections, and can create addition connection paths as necessary.
6591
- **Cost optimization**:
6692
Workloads can achieve higher scale from a single VM, or a small set of VMs, while connecting to SSD file shares. This could reduce the total cost of ownership by reducing the number of VMs necessary to run and manage a workload.
93+
- **Linux client performance scaling**:
94+
Linux SMB clients can now leverage multichannel to increase throughput and IOPS similar to Windows.
95+
- **Cross-platform consistency**:
96+
Enables hybrid environments with both Windows and Linux clients achieving optimal performance.
97+
- **Resiliency**:
98+
Multiple channels improve fault tolerance over heterogeneous networking.
6799

68100
To learn more about SMB Multichannel, refer to the [Windows documentation](/azure-stack/hci/manage/manage-smb-multichannel).
69101

@@ -77,7 +109,7 @@ SMB Multichannel for Azure file shares currently has the following restrictions:
77109
- Only supported on clients that are using SMB 3.1.1. Ensure SMB client operating systems are patched to recommended levels.
78110
- Maximum number of channels is four, for details see [here](/troubleshoot/azure/azure-storage/files-troubleshoot-performance?toc=/azure/storage/files/toc.json#cause-4-number-of-smb-channels-exceeds-four).
79111

80-
### Configuration
112+
### Windows Configuration
81113

82114
SMB Multichannel only works when the feature is enabled on both client-side (your client) and service-side (your Azure storage account).
83115

@@ -89,11 +121,11 @@ Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel
89121

90122
If SMB Multichannel isn't enabled on your Azure storage account, see [SMB Multichannel status](files-smb-protocol.md#smb-multichannel).
91123

92-
### Disable SMB Multichannel
124+
#### Disable SMB Multichannel
93125

94126
In most scenarios, particularly multi-threaded workloads, clients should see improved performance with SMB Multichannel. However, for some specific scenarios such as single-threaded workloads or for testing purposes, you might want to disable SMB Multichannel. See [Performance comparison](#performance-comparison) and [SMB Multichannel status](files-smb-protocol.md#smb-multichannel) for more details.
95127

96-
### Verify SMB Multichannel is configured correctly
128+
#### Verify SMB Multichannel is configured correctly
97129

98130
1. Create a new SSD file share or use an existing SSD file share.
99131
1. Ensure your client supports SMB Multichannel (one or more network adapters has receive-side scaling enabled). Refer to the [Windows documentation](/azure-stack/hci/manage/manage-smb-multichannel) for more details.

0 commit comments

Comments
 (0)