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:
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 |
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. |
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.