1pNFS block layout server user guide 2 3The Linux NFS server now supports the pNFS block layout extension. In this 4case the NFS server acts as Metadata Server (MDS) for pNFS, which in addition 5to handling all the metadata access to the NFS export also hands out layouts 6to the clients to directly access the underlying block devices that are 7shared with the client. 8 9To use pNFS block layouts with with the Linux NFS server the exported file 10system needs to support the pNFS block layouts (currently just XFS), and the 11file system must sit on shared storage (typically iSCSI) that is accessible 12to the clients in addition to the MDS. As of now the file system needs to 13sit directly on the exported volume, striping or concatenation of 14volumes on the MDS and clients is not supported yet. 15 16On the server, pNFS block volume support is automatically if the file system 17support it. On the client make sure the kernel has the CONFIG_PNFS_BLOCK 18option enabled, the blkmapd daemon from nfs-utils is running, and the 19file system is mounted using the NFSv4.1 protocol version (mount -o vers=4.1). 20 21If the nfsd server needs to fence a non-responding client it calls 22/sbin/nfsd-recall-failed with the first argument set to the IP address of 23the client, and the second argument set to the device node without the /dev 24prefix for the file system to be fenced. Below is an example file that shows 25how to translate the device into a serial number from SCSI EVPD 0x80: 26 27cat > /sbin/nfsd-recall-failed << EOF 28#!/bin/sh 29 30CLIENT="$1" 31DEV="/dev/$2" 32EVPD=`sg_inq --page=0x80 ${DEV} | \ 33 grep "Unit serial number:" | \ 34 awk -F ': ' '{print $2}'` 35 36echo "fencing client ${CLIENT} serial ${EVPD}" >> /var/log/pnfsd-fence.log 37EOF 38