Red Hat
Storage System Configuration
If DMP is used, retain the default settings of the initiator and configure Host Access Mode and Preferred Path for HyperMetro as required. Table 7-23 lists the detailed settings.
DMP |
HyperMetro Working Mode |
Storage System |
OS Setting |
Host Access Mode |
Preferred Path for HyperMetro |
Description |
---|---|---|---|---|---|---|
DMP 6.0.x to DMP 7.0 |
Load balancing mode |
Local storage |
Linux |
Load balancing |
N/A |
The host uses all paths of a disk with equal priority. |
Remote storage |
Linux |
Load balancing |
N/A |
|||
DMP 7.1 or later |
Load balancing mode |
Local storage |
Linux |
Load balancing |
N/A |
|
Remote storage |
Linux |
Load balancing |
N/A |
|||
Local preferred mode |
Local storage |
Linux |
Asymmetric |
Yes |
The host considers the paths from the local storage system as preferred paths, and those from the remote storage system as non-preferred paths. |
|
Remote storage |
Linux |
Asymmetric |
No |
- Use Huawei Storage Interoperability Navigator to query the combinations supported by DMP.
- If a LUN has been mapped to a host, you must restart the host for the configuration to take effect after you modify Host Access Mode or Preferred Path for HyperMetro. If the host is running services, stop the services and export the disk group before restarting the host. If you configure the initiator for the first time, restart is not needed.
- To change the LUN mapping on the storage system, including but not limited to changing the host LUN ID, changing the port online, and removing and adding a LUN, follow the instructions in "LUN Information Fails to Be Updated After LUN Replacement" in the OceanStor Dorado Host Connectivity Guide for Red Hat to correctly change the LUN mapping. Otherwise, services may be interrupted.
- If you do not use the recommended configurations, DMP may fail to identify and process paths properly.
- If DMP 7.x is used and Host Access Mode is set to Asymmetric, the maximum number of online FC and Ethernet ports supported by a single storage system or two HyperMetro storage systems is limited because the default RTPG buffer length of Veritas VxVM (DMP) is 255. If the number of online ports is greater than the allowed value, paths may not be properly identified. For details, contact Huawei engineers.
Configuring the Load Balancing Mode
The method for configuring the load balancing mode when DMP is used is the same as that when the OS native multipathing software is used.
Configuring the Local Preferred Mode
The method for configuring the local preferred mode when DMP is used is the same as that when the OS native multipathing software is used.
Host Configuration
Pre-installation Check
DMP cannot coexist with the operating system's native multipathing software. Before installing DMP, you must disable the OS native multipathing software. You can use the following methods to check whether the native multipathing software of Red Hat has been disabled.
For RHEL 6 and earlier versions, run the following command on the host:
[root@rhel6u91 ~]# /etc/init.d/multipathd status multipathd (pid 6831) is running...
The preceding command output indicates that the native multipathing software has been enabled. You must stop services and run the /etc/init.d/multipathd stop command to disable it.
If the status of multipathd is stopped, the native multipathing software has been disabled.
[root@rhel6u91 ~]# /etc/init.d/multipathd stop Stopping multipathd daemon: [ OK ] [root@rhel6u91 ~]# /etc/init.d/multipathd status multipathd is stopped
After disabling the native multipathing software, forbid it to run automatically at system startup using the following command:
chkconfig multipathd off
For RHEL 7, run the following command on the host:
[root@rhel76 ~]# systemctl status multipathd multipathd.service - Device-Mapper Multipath Device Controller Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled) Active: inactive (dead) Condition: start condition failed at Wed 2015-09-16 00:27:29 CST; 3s ago ConditionPathExists=/etc/multipath.conf was not met [root@rhel76 ~]#
In the preceding command output, inactive indicates that the native multipathing software has been disabled. If it is enabled, you must stop services and run the systemctl stop multipathd.service command to disable it.
After disabling the native multipathing software, forbid it to run automatically at system startup using the following command:
systemctl disable multipathd.service
Installing ASL
DMP is generally integrated in the Veritas Storage Foundation/InfoScale software package and is used together with the Veritas Volume Manager (VxVM) and Veritas File System (VxFS).
In this document, installing Veritas Storage Foundation 7.3.1 in RHEL 7.4 is used as an example. For details on how to install Veritas Storage Foundation 7.3.1, see the Veritas Storage Foundation Installation Guide.
After installing Veritas Storage Foundation, install Array Support Library (ASL), which provides array-specific support for DMP. ASL is a shared library that can be dynamically loaded. When discovering devices, ASL implements hardware-specific logic to discover device properties.
You are advised to install the latest version of ASL. You can obtain the ASL installation package for Huawei storage from https://sort.veritas.com/asl. ASL can be installed online or offline. Install ASL by following instructions in the Readme file on the official download page. The default path selection policy is MinimumQ.
- Veritas AVID does not support Huawei storage.
- DMP provides the MinimumQ and Round-Robin path selection algorithms, which can be modified based on customer service configurations. You can run the vxdmpadm setattr ENCLR_NAME iopolicy=xxx command to modify the path selection algorithm. xxx indicates the path selection algorithm, which can be MinimumQ or Round-Robin.
Verification
Verifying the Load Balancing Mode
- Run the vxddladm listsupport all | grep huawei command to verify the ASL installation. In the following example, the multipathing software has correctly identified XSG1.
[root@localhost ~]# vxddladm listsupport all | grep huawei libvxhuawei.so HUAWEI, HUASY S5100, S5300, S5500, S5600, S6800E, S8000, S8000-I, VIS6000, S5500T, S5600T, S5800T, S6800T, S2600T, V1500, V1800, S2100, S2200T, S2300, S2300E, S2600, S3900-M100, S3900-M200, S3900-M300, S5900-M100, S5900-M200, S6900-M100, Dorado2100, Dorado2100 G2, Dorado5100, HVS85T, HVS88T, XSG1 [root@localhost ~]#
- Scan for LUNs at the OS layer and run the vxdisk scandisks command to scan for LUNs at the DMP layer. Then run the vxddladm list devices command to check whether the disk corresponding to each sub-path is claimed by Veritas. In the following example, one LUN is mapped and has 16 sub-paths. libvxhuawei.so has identified 16 online claimed devices.
[root@localhost ~]# vxddladm list devices DEVICE TARGET-ID STATE DDL-STATUS (ASL) =============================================================== sda - Online CLAIMED (Disk) sde c14_p8_t0 Online CLAIMED (libvxhuawei.so) sdb c14_p7_t0 Online CLAIMED (libvxhuawei.so) sdg c14_p6_t0 Online CLAIMED (libvxhuawei.so) sdi c14_p5_t0 Online CLAIMED (libvxhuawei.so) sdn c14_p4_t0 Online CLAIMED (libvxhuawei.so) sdo c14_p3_t0 Online CLAIMED (libvxhuawei.so) sdq c14_p2_t0 Online CLAIMED (libvxhuawei.so) sdp c14_p1_t0 Online CLAIMED (libvxhuawei.so) sdj c13_p8_t0 Online CLAIMED (libvxhuawei.so) sdl c13_p7_t0 Online CLAIMED (libvxhuawei.so) sdk c13_p6_t0 Online CLAIMED (libvxhuawei.so) sdm c13_p5_t0 Online CLAIMED (libvxhuawei.so) sdc c13_p4_t0 Online CLAIMED (libvxhuawei.so) sdh c13_p3_t0 Online CLAIMED (libvxhuawei.so) sdd c13_p2_t0 Online CLAIMED (libvxhuawei.so) sdf c13_p1_t0 Online CLAIMED (libvxhuawei.so)
- Run the vxdisk list command to check whether HyperMetro LUNs on the host have been aggregated. The aggregated device can be identified as huawei-xxx. In the following example, DMP identifies an aggregated LUN as huawei-xsg10_#.
[root@localhost ~]# vxdisk list DEVICE TYPE DISK GROUP STATUS huawei-xsg10_6 auto:cdsdisk - - online thinrclm rhel74_disk_0 auto:LVM - - LVM
- Run the vxdisk list device command and check whether the number of paths and path status are correct (consistent with the actual configuration). In the following example, there are 16 paths to the aggregated LUN, and all paths are enabled.
[root@localhost ~]# vxdisk list huawei-xsg10_6 Device: huawei-xsg10_6 devicetag: huawei-xsg10_6 type: auto hostid: disk: name= id=1577437518.9.rhel74 group: name= id= info: format=cdsdisk,privoffset=256,pubslice=3,privslice=3 flags: online ready private autoconfig autoimport thinrclm pubpaths: block=/dev/vx/dmp/huawei-xsg10_6s3 char=/dev/vx/rdmp/huawei-xsg10_6s3 guid: {00ad10d2-2888-11ea-a4e8-5cbfb51fcbab} udid: HUAWEI%5FXSG1%5F2100238256791322%5F6238256100791322000FAA840000001C site: - version: 3.1 iosize: min=512 (bytes) max=1024 (blocks) public: slice=3 offset=65792 len=209639920 disk_offset=0 private: slice=3 offset=256 len=65536 disk_offset=0 update: time=1577437518 seqno=0.2 ssb: actual_seqno=0.0 headers: 0 240 configs: count=1 len=51360 logs: count=1 len=4096 Defined regions: config priv 000048-000239[000192]: copy=01 offset=000000 disabled config priv 000256-051423[051168]: copy=01 offset=000192 disabled log priv 051424-055519[004096]: copy=01 offset=000000 disabled lockrgn priv 055520-055663[000144]: part=00 offset=000000 Multipathing information: numpaths: 16 sdh state=enabled sdf state=enabled sdd state=enabled sdc state=enabled sdb state=enabled sdg state=enabled sde state=enabled sdi state=enabled sdn state=enabled sdp state=enabled sdo state=enabled sdj state=enabled sdk state=enabled sdl state=enabled sdm state=enabled sdq state=enabled [root@localhost ~]#
- Run the vxdmpadm listenclosure all command. The command output shows that ENCLR_NAME of the HyperMetro storage systems is correctly aggregated and ARRAY_TYPE is correctly identified. In the following example, ARRAY_TYPE is AA, and the HyperMetro storage systems are correctly aggregated into huawei-xsg10.
[root@localhost ~]# vxdmpadm listenclosure all ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT FIRMWARE =================================================================================================== disk Disk DISKS CONNECTED Disk 1 4.21 huawei-xsg10 HUAWEI-XSG1 2100238256791322 CONNECTED A/A 1 6000 [root@localhost ~]#
Verifying the Local Preferred Mode
- Run the vxddladm listsupport all | grep huawei command to verify the ASL installation. In the following example, the multipathing software has correctly identified XSG1.
[root@localhost ~]# vxddladm listsupport all | grep huawei libvxhuawei.so HUAWEI, HUASY S5100, S5300, S5500, S5600, S6800E, S8000, S8000-I, VIS6000, S5500T, S5600T, S5800T, S6800T, S2600T, V1500, V1800, S2100, S2200T, S2300, S2300E, S2600, S3900-M100, S3900-M200, S3900-M300, S5900-M100, S5900-M200, S6900-M100, Dorado2100, Dorado2100 G2, Dorado5100, HVS85T, HVS88T, XSG1 [root@localhost ~]#
- Scan for LUNs at the OS layer and run the vxdisk scandisks command to scan for LUNs at the DMP layer. Then run the vxddladm list devices command to check whether the disk corresponding to each sub-path is claimed by Veritas. In the following example, one LUN is mapped and has 16 sub-paths. libvxhuawei.so has identified 16 devices.
[root@localhost ~]# vxddladm list devices DEVICE TARGET-ID STATE DDL-STATUS (ASL) =============================================================== sda - Online CLAIMED (Disk) sdo c14_p8_t0 Online CLAIMED (libvxhuawei.so) sdp c14_p7_t0 Online CLAIMED (libvxhuawei.so) sdn c14_p6_t0 Online CLAIMED (libvxhuawei.so) sde c14_p5_t0 Online CLAIMED (libvxhuawei.so) sdb c14_p4_t0 Online CLAIMED (libvxhuawei.so) sdq c14_p3_t0 Online CLAIMED (libvxhuawei.so) sdg c14_p2_t0 Online CLAIMED (libvxhuawei.so) sdi c14_p1_t0 Online CLAIMED (libvxhuawei.so) sdh c13_p8_t0 Online CLAIMED (libvxhuawei.so) sdd c13_p7_t0 Online CLAIMED (libvxhuawei.so) sdf c13_p6_t0 Online CLAIMED (libvxhuawei.so) sdj c13_p5_t0 Online CLAIMED (libvxhuawei.so) sdc c13_p4_t0 Online CLAIMED (libvxhuawei.so) sdl c13_p3_t0 Online CLAIMED (libvxhuawei.so) sdk c13_p2_t0 Online CLAIMED (libvxhuawei.so) sdm c13_p1_t0 Online CLAIMED (libvxhuawei.so) [root@localhost ~]#
- Run the vxdisk list command to check whether HyperMetro LUNs on the host have been aggregated. The aggregated device can be identified as huawei-xxx. In the following example, DMP identifies an aggregated LUN as huawei-xsg10_#.
[root@localhost ~]# vxdisk list DEVICE TYPE DISK GROUP STATUS huawei-xsg10_6 auto:cdsdisk - - online thinrclm rhel74_disk_0 auto:LVM - - LVM
- Run the vxdisk list device command and check whether the number of paths and path status are correct (consistent with the actual configuration). The asymmetric mode involves preferred and non-preferred paths. You must check whether the status and number of both preferred and non-preferred paths are correct. In the following example, there are 16 paths to the aggregated LUN, and all paths are enabled. The type of eight preferred paths is active/optimized, and that of eight non-preferred paths is active/non-optimized.
[root@localhost ~]# vxdisk list huawei-xsg10_6 Device: huawei-xsg10_6 devicetag: huawei-xsg10_6 type: auto hostid: disk: name= id=1577437518.9.rhel74 group: name= id= info: format=cdsdisk,privoffset=256,pubslice=3,privslice=3 flags: online ready private autoconfig autoimport thinrclm pubpaths: block=/dev/vx/dmp/huawei-xsg10_6s3 char=/dev/vx/rdmp/huawei-xsg10_6s3 guid: {00ad10d2-2888-11ea-a4e8-5cbfb51fcbab} udid: HUAWEI%5FXSG1%5F2100238256791322%5F6238256100791322000FAA840000001C site: - version: 3.1 iosize: min=512 (bytes) max=1024 (blocks) public: slice=3 offset=65792 len=209639920 disk_offset=0 private: slice=3 offset=256 len=65536 disk_offset=0 update: time=1577437518 seqno=0.2 ssb: actual_seqno=0.0 headers: 0 240 configs: count=1 len=51360 logs: count=1 len=4096 Defined regions: config priv 000048-000239[000192]: copy=01 offset=000000 disabled config priv 000256-051423[051168]: copy=01 offset=000192 disabled log priv 051424-055519[004096]: copy=01 offset=000000 disabled lockrgn priv 055520-055663[000144]: part=00 offset=000000 Multipathing information: numpaths: 16 sdq state=enabled type=active/non-optimized sdar state=enabled type=active/non-optimized sdc state=enabled type=active/non-optimized sdal state=enabled type=active/non-optimized sdn state=enabled type=active/non-optimized sdas state=enabled type=active/non-optimized sde state=enabled type=active/non-optimized sdam state=enabled type=active/non-optimized sdw state=enabled type=active/optimized(p) sdo state=enabled type=active/optimized(p) sdac state=enabled type=active/optimized(p) sdd state=enabled type=active/optimized(p) sdb state=enabled type=active/optimized(p) sdv state=enabled type=active/optimized(p) sdp state=enabled type=active/optimized(p) sdab state=enabled type=active/optimized(p) [root@localhost ~]#
- Run the vxdmpadm listenclosure all command. The command output shows that ENCLR_NAME of the HyperMetro storage systems is correctly aggregated and ARRAY_TYPE is correctly identified. In the following example, ARRAY_TYPE is ALUA, and the HyperMetro storage systems are correctly aggregated into huawei-xsg10.
[root@localhost ~]# vxdmpadm listenclosure all ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT FIRMWARE =================================================================================================== disk Disk DISKS CONNECTED Disk 1 4.21 huawei-xsg10 HUAWEI-XSG1 2100238256791322 CONNECTED ALUA 1 6000 [root@localhost ~]#