1 2================================== 3pNFS SCSI layout server user guide 4================================== 5 6This document describes support for pNFS SCSI layouts in the Linux NFS server. 7With pNFS SCSI layouts, the NFS server acts as Metadata Server (MDS) for pNFS, 8which in addition to handling all the metadata access to the NFS export, 9also hands out layouts to the clients so that they can directly access the 10underlying SCSI LUNs that are shared with the client. 11 12To use pNFS SCSI layouts with the Linux NFS server, the exported file 13system needs to support the pNFS SCSI layouts (currently just XFS), and the 14file system must sit on a SCSI LUN that is accessible to the clients in 15addition to the MDS. As of now the file system needs to sit directly on the 16exported LUN, striping or concatenation of LUNs on the MDS and clients 17is not supported yet. 18 19On a server built with CONFIG_NFSD_SCSI, the pNFS SCSI volume support is 20automatically enabled if the file system is exported using the "pnfs" 21option and the underlying SCSI device support persistent reservations. 22On the client make sure the kernel has the CONFIG_PNFS_BLOCK option 23enabled, and the file system is mounted using the NFSv4.1 protocol 24version (mount -o vers=4.1). 25 26If the nfsd server needs to fence a non-responding client and the 27fencing operation fails, the server logs a warning message in the 28system log with the following format: 29 30 FENCE failed client[IP_address] clid[#n] device[dev_name] 31 32 where: 33 34 - IP_address: refers to the IP address of the affected client. 35 - #n: indicates the unique client identifier. 36 - dev_name: specifies the name of the block device related 37 to the fencing attempt. 38 39The server will repeatedly retry the operation indefinitely. During 40this time, access to the affected file is restricted for all other 41clients. This is to prevent potential data corruption if multiple 42clients access the same file simultaneously. 43 44To restore access to the affected file for other clients, the admin 45needs to take the following actions: 46 47 - shutdown or power off the client being fenced. 48 - manually expire the client to release all its state on the server:: 49 50 echo 'expire' > /proc/fs/nfsd/clients/clid/ctl 51 52 where: 53 54 - clid: is the unique client identifier displayed in the system log. 55 56