Changes

Jump to: navigation, search

NFS server inside container

2,361 bytes added, 09:15, 24 August 2006
no edit summary
There are two ways to setup NFS server on common [[HN]]:
use a user-space NFS server daemon or use an in-kernel implementation
of NFS server. Some peculiarities appear if you intend to run NFS server
in [[VE]].

== Kernel NFS server ==
Binary RPMs that are provided by OpenVZ community contain kernels compiled
without NFS server support. So to enable NFS server in kernel you have to
recompile kernel with CONFIG_NFSD=m. After booting in this kernel you'll be able
to use NFS server on [[HN]].
In-kernel NFS server runs kernel threads to service requests of clients.
But for security reasons kernel threads are prohibited in [[VE]]! So you won't
be able to run NFS server inside [[VE]] without patching the kernel.

== User-space NFS server ==
Advantage of user-space of NFS server is that it can be ran without any support in kernel.
Also if it crashes - there is no crash of a system: just one process crashes, not kernel!
The disadvantage of user-space NFS server is its poductivity: noone can be faster then in-kernel implementation.

One well-known implementation of NFS server is "The LINUX User-Space NFS Server" by Olaf Kirch.
Some Linux distributions contain this package: Debian Sarge (nfs-user-server), OpenSuse 10.0 (nfs-server).
For other distribution you can download sources (for example from Debian repository) and compile it.
There is a small trick you have to know about runing mountd and nfsd (these two daemons and portmap constitute
user-space server). You should run them with -r option:
<pre>
# portmap
# rpc.mountd -r
# rpc.nfsd -r
</pre>
The reason is that these daemons check major number of device there the directory to export resides.
If major equals 0 then daemons suppose that it is NFS and don't want to reexport it. Symptoms are
that client will always get a "permission denied" error. Simfs (the file system on what VE is located)
is assosiated with so called unnamed device, which major equals 0. To prevent daemons from checking
reexporting - just use this -r option.

"The LINUX User-Space NFS Server" by Olaf Kirch implements NFSv2. It means that only files with sizes less
than 2GB proceeded. If you intend to use such big files then you should use other user-space NFS server
implementation: unfs3 (http://unfs3.sourceforge.net/). It implenets v3 of NFS protocol standart.


[[Category: HOWTO]]
[[Category: Networking]]
172
edits

Navigation menu