nfsreplay
Contents
Welcome to nfsreplay home page. nfsreplay is part of a larger project aimed at evaluating and improving NFS scalability on Linux. The NFS benchmarking project page is here NFSBenchmarking
I can be reached at <shehjart AT gelato DOT NO SPAM unsw DOT edu GREEBLIES DOT au>
News
July 16, 2008: nfsreplay version 0.0.3 released
June 08, 2008: Linked Connectathon 2008 slides in the Slides section.
May 16, 2008: nfsreplay version 0.0.2 released
Mar 10, 2008: nfsreplay version 0.0.1 released
Nov 5, 2007: Linked in slides from Gelato ICE October 2007 presentation
Jun 18, 2007: nfsreplay mailing lists are up
Jun 18, 2007: nfsreplay User's Guide is up
May 25, 2007: nfsreplay: Wireshark based NFS traffic anonymizer released
April 4, 2007 nfsreplay svn is up.
Intro
nfsreplay is a tool to replay Network File System traffic. Currently, it supports replaying of NFS version 3 traces only. Traffic that is replayed could be captured dumps from tcpdump or TShark. It can be used for performing server and client benchmarking under a wide range of workloads. Such workloads are only limited by the characteristics of the trace being replayed. nfsreplay allows various types replay scaling of the original trace so that measurements can be performed under varying degrees of stress. Two sub-projects are the Asynchronous RPC library that provides non-blocking RPC calls and asynchronous notifications of RPC replies through callbacks and the libnfsclient which provides user space interface for generating client side NFS requests. See AsyncRPC and libnfsclient for more info.
Before the captured dumps are replayed, they can be anonymized to remove user data. Anonymization can be performed using the extension to the TShark NFS analyzer. The traffic anonymizer page is at NFSTrafficAnonymizer but the code is part of nfsreplay repository.
Before the anonymized trace can be replayed, it needs to be synthesized to extract relevant meta data. This meta data extraction is performed using a tool called tracedigester and is included in the nfsreplay source tree. tracedigester extracts relevant information required for replay, synthesizes it into internal data structures and dumps these into a format called Replay Dump or rdump. The rdump format is such that nfsreplay does not have to spend CPU time on extracting and building the data structures during replay and instead focus on scalable network IO.
Status
nfsreplay is under active development and is still in alpha mode.
It has been tested on the following platforms:
OS
Architecture
Linux Debian
IA32
IA64
AMD64
Documentation
There are two types of manuals available here.
User's Guide: Describes each tool and the command line parameters and provides guidance on usage.
nfsreplay Internals: Describes internal source code organization, data structures and algorithms.
Then there are the tutorials which demonstrate specific features or a combination of features in a self-contained manner. These are available on the nfsreplayTutorials page.
Releases
Development Targets
Version
Components
Description
Status
Remark
Uncertain
New
Lightweight user space NFSv3 client helpers to assist full-fledged user space client NFSv3 stacks in managing generic state and callbacks.
Uncertain
Such helpers will be useful in developing a user-space NFS client, perhaps using FUSE.
Uncertain
nfsreplay
Extraction of orphans info map from the original FS hierarchy for replaying against the same
Uncertain
Release Links
- Version 0.0.3, released on July 16, 2008. Repository URL
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.3 nfsreplay-0.0.3
- Version 0.0.2, released on May 16, 2008. Repository URL
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.2 nfsreplay-0.0.2
- Version 0.0.1, released on March 10, 2008. Repository URL
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.1 nfsreplay-0.0.1
Subversion Repository
The nfsreplay SVN also includes the AsyncRPC, NFSTrafficAnonymizer and libnfsclient. All of these can be checked out from:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk nfsreplay
To check out only the RPC library:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/async_rpc async_rpc
To check out libnfsclient library:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/libnfsclient libnfsclient
Note: libnfsclient needs async_rpc library for its RPC calls.
To check out only the NFS traffic anonymizer:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/misc/nfsanon ./nfsanon
For build and usage instructions for the anonymizer, please see NFSTrafficAnonymizer.
To check out the nfsdump2anon and associated scripts:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/misc/nfsdump2anon ./nfsdump2anon
For building and usage instructions, see the nfsdump2anon page in the nfsreplayUsersGuide
nfsreplay and tracedigester building instructions can be found in the BUILD file in the source tree. It can also be viewed at nfsreplay SVN
Mailing Lists
These are also the common support, discussion, development channel for tracedigester, async_rpc, libnfsclient and the nfs anonymizer.
nfsreplay-users: Usage and development related discussion of nfsreplay and associated tools. Everything happens here till there is need for a dedicated dev list.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-users
To view the archives, visit nfsreplay-users archive
nfsreplay-commits: To receive notifications of check-ins to the nfsreplay subversion repository.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-commits
To view the archives, visit nfsreplay-commits archive
nfsreplay-devel: nfsreplay development discussion.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-devel
To view the archives, visit nfsreplay-devel archive
Slides/Talks
NFS Benchmarking using nfsreplay, Connectathon, May 2008
http://www.gelato.unsw.edu.au/~shehjart/download/nfsreplay_cthon_may08.pdf
Couldn't attend this conference eventually.
- NFS Benchmarking using nfsreplay, Gelato Itanium Conference and Expo, October 2007
