Home > Storage > PowerScale (Isilon) > Product Documentation > Management and Migration > Dell PowerScale: Non-Disruptive Upgrade Best Practices > SMB behavior and configuration consideration
This section explains how the PowerScale OneFS upgrade process can impact the SMB workloads including:
SMB is a stateful protocol which means it maintains a session state for all the open files in the PowerScale node where the client connects to. This session state is not shared across the nodes. For a stateful protocol like SMB, it is recommended using OneFS static IP pools. But in certain workflows, SMB is preferred to use a dynamic IP pool. SMB preserves complex state information per session on the server side. If a connection is lost and a new connection is established with dynamic failover to another node, the new node may not be able to continue the session where the previous one had left off. If the SMB workflow is primarily reads, the impact of a dynamic failover will not be as drastic, as the client can re-open the file and continue reading. Conversely, if an SMB workflow is primarily writes, the state information is lost and the writes could be lost as well.
By using the static IP pool, IP addresses assigned to the node will not reallocate to other nodes in the event of hardware failure or reboot. The client behavior of SMB1 and SMB2 during rolling upgrade is listed in the following table:
Access methodology | Client behavior |
Direct IP access Such as \\<PowerScale Node IP>\< share name> |
|
Access through SmartConnect zone Such as \\<smartconnct zone name\<share name> |
|
Therefore, the recommended configuration for SMB1 or SMB2 is to use SmartConnect with a SmartConnect Service IP and an IP failover policy to quickly re-establish the connection between the client and the PowerScale cluster.
When the SmartConnect failover policy is used, the connection will drop and re-established to another PowerScale node in the cluster. In the rolling upgrade process, the node where the new connection is established will also have a chance to reboot later on. And the worst case is that in an n-node PowerScale cluster, this disruptive failover will happen n times. Although re-establishing the connection using SmartConnect is usually instantaneous, there is still a brief disruption of the client application, which means that the client application is aware of the disruption and will send an error message. To resume the client workload, the connection must be re-established.
In OneFS 8.0, PowerScale offers the SMB continuously available (CA) option. This allows SMB clients the ability to transparently fail over to another node in the event of a network or node failure. This feature applies to Microsoft Windows 8, Windows Server 2012 and later clients. This feature is part of PowerScale's non- disruptive operation initiative to give customers more options for continuous work and less downtime. The SMB CA option allows seamless movement from one node to another and no manual intervention on the client side. This enables a continuous workflow from the client side with no disruption from error messages.
Dell Technologies recommends using static IP pool with SMB3 CA for transparent failover and NDU consideration. But using dynamic IP pool can also work, but there is a risk with SMB3 CA Witness sending confusing signals. The behavior really depends on the client implementation. For example, it probably causes just one failover to another IP, after which the client loses interest in the original address, but it could also potentially make the client jump around with reconnections for no good reason if its interest is not lost and it keeps watching.
The SMB CA feature needs to be enabled at share creation time. To enable SMB CA, the following preconditions need to be met:
Note: It is recommended to enable SMB Witness feature for transparent failover, which can dramatically shorten the time to detect the failure. A common way to enable SMB Witness on PowerScale OneFS is to set the SmartConnect zone name and access the SMB share with the name. This is because SMB Witness can get the failure notification from SmartConnect and FlexNet.
If any precondition in the above list is not met, SMB3 CA will not function.
You can use the following command to create an SMB file share with CA enabled:
isi smb shares create <name> <path> --continuously-available=yes
In case the existing share is not SMB CA enabled, you can still enable it on an existing file share by using the following command:
isi_smb_ca_share --enable-ca --share=<the name of SMB share>
Using this command to make a change will actually delete and recreate the share without losing any data. But it will result in a quick disconnection for all current clients and this is a disruptive command. After the OneFS rolling upgrade is finished, if you want to revert it back, use the following command:
isi_smb_ca_share --disable-ca --share=<the name of SMB share>
To verify that the SMB CA and SMB Witness is enabled at the client level, check the Windows Event Log in the following path:
Applications and Services Logs, Microsoft, Windows, SMBClient, Connectivity.
Figure 13 shows an example of the Windows Event Log message of successful Witness registration.
During the rolling upgrade process, the PowerScale node reboots one by one. If SMB3 CA is enabled on a share, when the PowerScale node reboots, the connection to the share will not be disrupted and thus there will be no error message sent by the application. There will still be a short period of time when all the workload on the share is paused and automatically resumed in several seconds.
For the performance impact, it is similar to an NFS workload. See the section Performance impact for more details.
As a summary of 2.2.1SMB1 and SMB2 and 2.2.2 SMB3 CA, we recommend the following NDU best practices for SMB1/SMB2/SMB3:
Note: Due to the nature of SMB CA, this feature will bring some performance impact especially on write I/O. The impact depends on the factors like the PowerScale node type, the configuration of PowerScale OneFS like endurant cache (EC), workload profile and so on.