PowerFlex: Unable to add DAX device which was created before installing libpmem Pkg
Summary: This article is about an error that a user may see when adding a "DAX" device into the acceleration Pool.
Symptoms
The below message is seen when trying to add a device to the acceleration pool.
# scli --add_sds_device --sds_name xxxxxx --acceleration_pool_name test --device_path /dev/dax0.0 --device_name daxtest
Error: MDM failed command. The PMEM API is not available.
Events log: 609 2019-07-19 13:40:44.211 OPEN_SDS_DEVICE_FAILED ERROR Could not open a device on SDS: (Path: /dev/dax0.0). Error message: The PMEM API is not available. 610 2019-07-19 13:40:44.215 CLI_COMMAND_FAILED WARNING Command add_sds_device was not successful. Error code: The PMEM API is not available. [605250] ID: 0000000000000000
The device is visible on the host:
[NVDIMM DEVICE NAME: dax0.0] is_interleaved:false worst_dimm_name:nmem0 health_state:ok life_used_percentage:8 temperature_celsius:255.000000
The required packages are installed.
# rpm -qa daxctl-libs-62-1.el7.x86_64 libpmem-1.4-3.el7.x86_64 ndctl-libs-62-1.el7.x86_64 ndctl-62-1.el7.x86_64
The message log shows when each package was installed. We can see that the PMEM API was installed on the 16th July.
Jul 15 15:27:56 yum[354028]: Installed: daxctl-libs-62-1.el7.x86_64 Jul 15 15:27:56 yum[354028]: Installed: ndctl-libs-62-1.el7.x86_64 Jul 15 15:27:56 yum[354028]: Installed: oniguruma-5.9.5-3.el7.x86_64 Jul 15 15:27:56 yum[354028]: Installed: jq-1.5-1.el7.x86_64 Jul 15 15:27:56 yum[354028]: Installed: ndctl-62-1.el7.x86_64 Jul 16 15:04:54 yum[33410]: Installed: 1:bash-completion-2.1-6.el7.noarch Jul 16 15:30:28 yum[34032]: Installed:-1.4-3.el7.x86_64
The DAX device was created on the 14th July, before the libpmem package was installed.
./dev crw-------. 1 root root 253, 14 Jul 19 14:12 dax0.0
Cause
Resolution
Fix:
When PMEM API is available after "SDS" is up, and running it might not recognize it correctly.
In order to resolve the issue, one of the below steps must be applied.
1) Run pkill SDS (to restart the SDS service) and then retry to add the dax device.
Or
2) Reboot the SDS and then retry to add the dax device.
Additional Information
Error message: The PMEM API is not available - user may see this error if "libpmem" package has not been installed (yum install "libpmem")