Add 2017Q1 pNFS entry from rmacklem

Some additions to the introductory material by me, as well.
This commit is contained in:
Benjamin Kaduk 2017-04-16 00:38:53 +00:00
parent 8897bb3f97
commit bfab6b1508
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=50167

View file

@ -244,4 +244,53 @@
least 3 more bits out, one at each level.</task>
</help>
</project>
<project cat="kern">
<title>pNFS server Plan B</title>
<contact>
<person>
<name>
<given>Rick</given>
<common>Macklem</common>
</name>
<email>rmacklem@FreeBSD.org</email>
</person>
</contact>
<body>
<p>Parallel NFS (pNFS) is an extension to the NFSv4 protocol that
allows for file accesses within a single logical mount to be
performed against multiple NFS file servers, "in parallel".
Thus, a pNFS server separats the MetaData operations from the
Data operations (Read/Write/Setattr of size N), letting
existing NFSv3 servers be used for the bulk data storage
while still taking advantage of NFSv4 protocol enhancements,
among other things.</p>
<p>My first attempt at a pNFS server using GlusterFS was a dud.
It worked, but performance was so poor that it was not
usable. This attempt that I call Plan B, only uses &os;,
with one &os; server handling the MetaData operations and K
&os; servers configured to serve Data. An NFSv4.1 client
that supports the pNFS File Layout will be able to
Read/Write to the Data servers directly, spreading out the
RPC load and allowing growth beyond that of what a single
&os; NFS server could achieve.</p>
<p>There is no support for the Flex Files Layout or mirroring
at this time. I hope to use the Flex Files Layout to add
mirroring support over the next year or so. Striping is
also not supported, but I have no plans for implementing it
at the moment.</p>
<p>Plan B is working quite well now and should be available
for testing by the end of April. I will announce how to do this on
the freebsd-fs@FreeBSD.org mailing list when it is available.</p>
</body>
<help>
<task>Testing by others will be needed, once it is available.</task>
</help>
</project>
</report>