ndctl icon indicating copy to clipboard operation
ndctl copied to clipboard

Namespace name will change after first reboot

Open Sean58238 opened this issue 4 years ago • 1 comments

If we create many namespace on one region, the namespace will change after first reboot. For example: create namespace: namespace0.0 dax0.0 uuid:856989a9-1d94-4ddf-8c42-952b6e5f04e0 namespace0.1 dax0.1 uuid:948e68cb-ae53-44a2-9a31-3e8c43270006 namespace0.2 dax0.2 uuid:ae77d1f9-82c9-4ede-8b57-d1f052934823 namespace0.3 dax0.3 uuid:5ef32478-2296-4baa-aae9-ab6e362c6280 after first reboot: namespace0.0 dax0.0 uuid:5ef32478-2296-4baa-aae9-ab6e362c6280 namespace0.1 dax0.1 uuid:856989a9-1d94-4ddf-8c42-952b6e5f04e0 namespace0.2 dax0.2 uuid:948e68cb-ae53-44a2-9a31-3e8c43270006 namespace0.3 dax0.3 uuid:ae77d1f9-82c9-4ede-8b57-d1f052934823 After one reboot will not change again, our question is: (1) Reasons of namespace change; (2) Can this problem be fix, we expect the namespace name to correspond to uuid immediately after creation

Thanks a for help!

Sean58238 avatar Jun 28 '21 15:06 Sean58238

@Sean58238 The Kernel does not guarantee namespace /dev naming between reboots. You can use the UUID to identify the correct namespace for your app. Add a 'name' to each namespace to make it easier to identify, eg: ndctl create-namespace -fe namespace0.0 -n "prod_web_db1"

With FSDAX we use the filesystem UUID in /etc/fstab vs the /dev/pmemN device to ensure we mount the correct data on the correct mountpoint.

For DEVDAX, you can create a custom UDEV rule to ensure your device name always matches the UUID. Using this method allows you to name your namespaces with any alias. See Persistent Naming.

sscargal avatar Jun 28 '21 17:06 sscargal