Multipathing Best Practices for Red Hat Enterprise Linux with SRDF Metro
Tue, 01 Oct 2024 18:14:02 -0000
|Read Time: 0 minutes
SRDF Metro Provides Enterprise Customers with the ultimate level of business continuance, using Dells’ SRDF Active/Active remote replication technology. This technology provides access to the same data at two sites over metro distance. In case of a disaster at one site, the application will continue to run, because it still has access to the data from the surviving site. This means zero downtime and no user interaction needed. If the hosts are cross connected with a stretched SAN network, the multipathing software handles the failure of one site and treats it simply like a lost path with IO being redirected on the remaining paths.
Since host multipathing software is key to successfully operating in these types of environments, it’s important to ensure that everything is configured as efficiently as possible. In this post, we will look at how to best do this for the Red Hat Linux (RHEL) hosts running native multipathing (NMP).
With RHEL 8.0 and Higher Multipath settings can also be configured to prioritize different IO paths, to ensure those with lowest latency always take priority.
This is typically done for performance reasons. When one array is reporting better response times than the other. Unisphere for PowerMax performance charts can help find which array should have the highest priority. Refer to KB article 225178 Imbalanced IO response times in SRDF Metro Cross-connect configuration | Dell US.
In the case where prioritizing the paths is needed, follow the following five step process.
1. Figure out which paths are associated with each array.
This can be done by using the syminq and syminq -native commands. If you don’t have the solutions enabler installed on your hosts, you can install the standalone inq utility from Dell which provides the same functionality for device and path validation.
In the example below, running syminq or inq without any options will show the devices as if they appear from a single array due to the matching external WWN identifier presented by the SRDF Metro configuration. All devices appear to be device with serial number “6900644000”. The number 69 at the start of the serial signifies that the device is from array serial ending 69 and the 644 showed the PowerMax device ID.
Syminq/inq command output
Conversely when the same command is run with the -native switch, the syminq/inq command will read the native WWN meaning that some devices have serial number “18001F5000” while others are still displaying “6900644000”. This shows which devices are from the target array serial number ending in 18.
syminq -native/inq -native command output
For the example we are following, we will assign a higher priority to paths with the array serial numbers ending in 18 which are boxed in yellow.
Paths to array serial number ending in 69 (boxed in red) are the paths to be given lower priority.
2. Figure out the World Wide Node Name associated with each of the paths
In order to find the WWN of both paths to the arrays, we can issue the following command searching for devices from each array, in this case sdao and sdak.
multipathd show paths format "%N:%R:%n:%r” | grep -E -w "sdao" "sdak" command output is shown below. multipathd show paths format "%N:%R:%n:%r” command output
The above output shows the World Wide Node Name of the array ports associated with each device path.
World Wide Node Name of array ports for serial number ending in 18 is the first device, and the other for array serial ending 69.
3. On the application server, edit the multipath.conf file to include the devices definition as outlined below.
This will result in paths to array serial number ending in 18 (boxed in yellow )to be set at priority value 20 and paths to array serial number ending in 69 (boxed in red) to be set at priority value 15.
Example multipath.conf devices parameter setting
4. On the application server, run the multipathd reconfigure command.
This action tells the multipath daemon to rediscover the device paths and create the required device path IO Groups.
5. On the application server, run the multipath -ll command.
Example of prioritized multiple IO Grouping
The result is the creation of two path groups.
Multipathing will send all application IOs to the paths of the group with the higher prio value when available. In the above example, the path group with a prio=20 value.
The paths in the group with a prio=15 value will only be used when all paths in the higher priority group are unavailable.
This process can be repeated on the hosts’ remote site by adjusting the multipathing values so that the local array has higher priority, and the remote array has lower priority accounting for higher latency due to distance.
Author: Paul Martin Senior Principal Engineer Technical Marketing
@rawstorage