NSD disk discovery

When the GPFS daemon starts on a node, it discovers the disks that are defined as NSDs by reading a disk descriptor that is written on each disk owned by GPFS. This enables the NSDs to be found regardless of the current operating system device name that is assigned to the disk.

On UNIX, NSD discovery is done by the GPFS shell script /usr/lpp/mmfs/bin/mmdevdiscover, which generates a list of available disk devices that appear in the node's local /dev file system. On Linux, any devices that are designated to be an IBM Storage Scale NSD must also exist in the /proc/partitions directory. Each NSD is assigned a device type as shown in the following tables:

Table 1. Supported devices on AIX
Device Name GPFS Device Type Description
vpath vpath IBM virtual path disk
hdisk hdisk AIX hard disk
hdiskpower powerdisk EMC power path disk
dlmfdrv dlmfdrv Hitachi dlm
Table 2. Supported devices on Linux
Device Name GPFS Device Type Description
dm- dmm Device-Mapper Multipath (DMM)
vpath vpath IBM virtual path disk
sd/hd Generic Device having no unique failover or multipathing characteristic (predominantly Linux devices).
emcpower powerdisk EMC power path disk
dasd* dasd Direct access storage devices (DASD) (for Linux on z Systems)
vd* Generic Device having no unique failover or multipathing characteristic (predominantly Linux devices).
sd* Generic SCSI disk.
hd* Generic Disk on IDE controller.
scini* Generic Device having no unique failover or multipathing characteristic (predominantly Linux devices).
pmem* Generic Device having no unique failover or multipathing characteristic (predominantly Linux devices).
nvm* Generic NVMe disk.
Table 3. Supported devices on Windows
Device Name GPFS Device Type Description
A Number 0-n gpt GPFS partition on Windows disk

To override or enhance NSD discovery, you can create a script and name it /var/mmfs/etc/nsddevices. The user-created nsddevices script, if it exists, is executed before the default discovery process.

On Windows, NSDs have a GUID Partition Table (GPT) with a single GPFS partition. NSD discovery is done by scanning the system for a list of disks that contain a GPFS partition.

On all platforms, the list of disk devices is then used by the GPFS daemon to determine whether a device interface on the local node maps to an NSD name recorded in the configuration database. The process of mapping a device interface to an NSD involves GPFS opening each device in turn and reading any NSD volume identifier potentially recorded at sector two of the disk.

If GPFS discovers that an NSD volume identifier read from a disk device matches the volume identifier recorded with the NSD name in the GPFS configuration database, I/O for the local node proceeds over the local device interface.

If no device mapping appears on the local node for a particular NSD, I/O proceeds over the IP network to the first NSD server specified in the server list for that NSD. If the first NSD server in the server list is not available, I/O proceeds sequentially through the server list until it finds an available NSD server.

Consult the /usr/lpp/mmfs/samples/nsddevices.sample file for configuration guidelines on how to provide additional disk discovery capabilities unique to your configuration.