cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pnfs-block-server.rst (1802B)


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