Linux pNFS/PVFS2 Installation Instructions
Step 1: pNFS Kernel
- Ensure you have access to a built pNFS kernel source tree.
Step 2: Compile, Boot, and Verify Kernel and NFSv4.
- Compile and install kernel on every client, data server, and MDS. Instructions are located here.
- Ensure NFSv4 is working properly. For example, export and mount a local directory through the loopback device.
Step 3: Ensure you have a working PVFS2 file system.
Step 4: Export the pvfs2 file system via NFSv4 on the MDS.
Step 5: Install pvfs2 layout driver.
Step 6: Create /etc/pvfs2tab file on every client.
File contains
tcp://(mds serrver name):3334/pvfs2-fs
Step 7: Mount PVFS2 file system using pNFS
Step 7: Stopping pvfs2 layout driver.
- Execute the following commands on the client:
umount /mnt/pnfs
killall /usr/local/bin/pvfs2-layout/sbin/pvfs2-client
rmmod pvfs2_pnfs
Layout Driver Policies
Several /proc/sys/pvfs2-pnfs/ variables exist to control the behavior of the PVFS2 layout driver. They are:
-
blocksize - Size (in bytes) of reads and writes to storage nodes. Currently the maximum size is 32768.
- write/read_threshold - Threshold (in bytes) under which writes/reads will be sent to the NFSv4 server. Value is -1 to always use direct I/O through the layout driver.
- use_pagecache - Value of 0 to avoid using page cache, all writes/reads go straight to PVFS2 storage nodes (this is the default behavior of unmodified PVFS2). Value of 1 to use page cache. This enables PVFS2 with a data cache, readahead, and a writeback cache.
Debugging Help
Known Problems
- Sometimes interrupting an application while writing/reading will cause the application to hang.
Please help improve these instructions, email
dhildebz@umich.edu