Skip to content

Commit

Permalink
orangefs: document package install and xfstests procedure
Browse files Browse the repository at this point in the history
Unless one is working on the userspace code, there's no need to compile
OrangeFS.  The package works just fine.

(But leave the documentation for building from source since not everyone
uses distributions which include the package.)

Also document the process to run xfstests against OrangeFS.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
  • Loading branch information
Martin Brandenburg authored and Mike Marshall committed Apr 4, 2018
1 parent 209469d commit dd09802
Showing 1 changed file with 103 additions and 23 deletions.
126 changes: 103 additions & 23 deletions Documentation/filesystems/orangefs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,48 +42,128 @@ Orangefs versions prior to 2.9.3 would not be compatible with the
upstream version of the kernel client.


BUILDING THE USERSPACE FILESYSTEM ON A SINGLE SERVER
====================================================
RUNNING ORANGEFS ON A SINGLE SERVER
===================================

You can omit --prefix if you don't care that things are sprinkled around in
/usr/local. As of version 2.9.6, Orangefs uses Berkeley DB by default, we
will probably be changing the default to lmdb soon.
OrangeFS is usually run in large installations with multiple servers and
clients, but a complete filesystem can be run on a single machine for
development and testing.

On Fedora, install orangefs and orangefs-server.

dnf -y install orangefs orangefs-server

There is an example server configuration file in
/etc/orangefs/orangefs.conf. Change localhost to your hostname if
necessary.

To generate a filesystem to run xfstests against, see below.

There is an example client configuration file in /etc/pvfs2tab. It is a
single line. Uncomment it and change the hostname if necessary. This
controls clients which use libpvfs2. This does not control the
pvfs2-client-core.

Create the filesystem.

pvfs2-server -f /etc/orangefs/orangefs.conf

Start the server.

systemctl start orangefs-server

Test the server.

pvfs2-ping -m /pvfsmnt

Start the client. The module must be compiled in or loaded before this
point.

systemctl start orangefs-client

Mount the filesystem.

mount -t pvfs2 tcp://localhost:3334/orangefs /pvfsmnt


BUILDING ORANGEFS ON A SINGLE SERVER
====================================

Where OrangeFS cannot be installed from distribution packages, it may be
built from source.

You can omit --prefix if you don't care that things are sprinkled around
in /usr/local. As of version 2.9.6, OrangeFS uses Berkeley DB by
default, we will probably be changing the default to LMDB soon.

./configure --prefix=/opt/ofs --with-db-backend=lmdb

make

make install

Create an orangefs config file:
Create an orangefs config file.

/opt/ofs/bin/pvfs2-genconfig /etc/pvfs2.conf

for "Enter hostnames", use the hostname, don't let it default to
localhost.
Create an /etc/pvfs2tab file.

echo tcp://localhost:3334/orangefs /pvfsmnt pvfs2 defaults,noauto 0 0 > \
/etc/pvfs2tab

Create the mount point you specified in the tab file if needed.

mkdir /pvfsmnt

create a pvfs2tab file in /etc:
cat /etc/pvfs2tab
tcp://myhostname:3334/orangefs /mymountpoint pvfs2 defaults,noauto 0 0
Bootstrap the server.

create the mount point you specified in the tab file if needed:
mkdir /mymountpoint
/opt/ofs/sbin/pvfs2-server -f /etc/pvfs2.conf

bootstrap the server:
/opt/ofs/sbin/pvfs2-server /etc/pvfs2.conf -f
Start the server.

start the server:
/opt/osf/sbin/pvfs2-server /etc/pvfs2.conf

Now the server is running. At this point you might like to
prove things are working with:
Now the server is running. At this point you might like to
prove things are working with.

/opt/ofs/bin/pvfs2-ls /pvfsmnt

If stuff seems to be working, turn on the client core.

/opt/ofs/sbin/pvfs2-client -p /opt/osf/sbin/pvfs2-client-core

Mount your filesystem (load the kernel module first if necessary).

mount -t pvfs2 tcp://localhost:3334/orangefs /pvfsmnt


RUNNING XFSTESTS
================

It is useful to use a scratch filesystem with xfstests. This can be
done with only one server.

Make a second copy of the FileSystem section in the server configuration
file, which is /etc/orangefs/orangefs.conf. Change the Name to scratch.
Change the ID to something other than the ID of the first FileSystem
section (2 is usually a good choice).

Then there are two FileSystem sections: orangefs and scratch.

This change should be made before creating the filesystem.

pvfs2-server -f /etc/orangefs/orangefs.conf

To run xfstests, create /etc/xfsqa.config.

/opt/osf/bin/pvfs2-ls /mymountpoint
TEST_DIR=/orangefs
TEST_DEV=tcp://localhost:3334/orangefs
SCRATCH_MNT=/scratch
SCRATCH_DEV=tcp://localhost:3334/scratch

If stuff seems to be working, turn on the client core:
/opt/osf/sbin/pvfs2-client -p /opt/osf/sbin/pvfs2-client-core
Then xfstests can be run

Mount your filesystem.
mount -t pvfs2 tcp://myhostname:3334/orangefs /mymountpoint
./check -pvfs2


OPTIONS
Expand Down

0 comments on commit dd09802

Please sign in to comment.