Editing NFS

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This page describes how to use '''NFS client''' inside a container.
+
This page describes how to mount NFS partition inside VE.
  
{{Note|see [[NFS server inside container]] for info about nfsd.
+
== NFS server ==
 +
Currently OpenVZ kernel doesn't include kernel NFS server support. Howether you are still able to use user space [[NFS server inside VE]].
  
Mounting filesystems from the '''hardware node''' can be performed more elegantly using [[Bind mounts]].}}
+
== NFS client ==
 
+
=== Preparations ===
== Preparations ==
+
==== Software ====
=== Prerequisites ===
 
 
You will need the following software:
 
You will need the following software:
 +
# [http://download.openvz.org/kernel/devel/ kernel] version 028test006 or higher
 +
# [http://download.openvz.org/utils/vzctl/ vzctl] version 3.0.13 or higher
  
# vzctl version 3.0.13 or higher (do <code>vzctl --version</code>)
+
==== Prepare the VE ====
# kernel version 2.6.18-028test006 or higher (2.6.18-028stab* will do), or any recent RHEL5-based or 2.6.20-based kernel.
+
To allow VE use NFS filesystem you will need to start it fith "nfs" feature enabled.
 
+
<pre>
Note: In all the kernels earlier than 028stab038, kernel NFS support can be given to a container by setting:
+
# vzctl set 100 --features "nfs:on" --save
 
+
# vzctl start 101
      sunrpc.ve_allow_rpc = 1
+
</pre>
      fs.nfs.ve_allow_nfs = 1
 
      kernel.ve_allow_kthreads = 1
 
 
 
This can be done by adding the above lines into /etc/sysctl.conf on the hardware node, and then running <code>sysctl -p</code>.
 
 
 
=== Prepare the HN ===
 
 
 
For NFS mounts to work in the containers with the RHEL5-based kernels you must enable kernel threads in the container by setting <code>kernel.ve_allow_kthreads=1</code> in <code>/etc/sysctl.conf</code>.
 
 
 
RHEL7-based kernels support [https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-nfs.html three different NFS protocol versions]:
 
{{Quote|
 
NFS version 2 (NFSv2) is older and is widely supported.
 
NFS version 3 (NFSv3) has more features, including 64bit file handles, Safe Async writes and more robust error handling.
 
NFS version 4 (NFSv4) works through firewalls and on the Internet, no longer requires portmapper, supports ACLs, and utilizes stateful operations.
 
Red Hat Enterprise Linux supports NFSv2, NFSv3, and NFSv4 clients, and when mounting a file system via NFS, Red Hat Enterprise Linux uses NFSv3 by default, if the server supports it.
 
}}
 
 
 
Accordingly, there are three kernel modules: <code>nfs</code> (for NFSv2), <code>nfsv3</code>, and <code>nfsv4</code>. As [[NFS server inside container]] currently only supports NFSv3, it's very likely that you'll need to load <code>nfsv3</code> module for clients.
 
 
 
# modprobe nfs
 
 
 
You will probably want the nfs module to load automatically on reboots.  One way to do this is to put the modprobe  command in your /etc/rc.d/rc.local file:
 
 
 
  modprobe nfs
 
 
 
Alternatively, you can add a new line with <code>nfs</code> to your /etc/modules or /etc/modules.conf file.
 
 
 
=== Prepare the container ===
 
To allow a container to use NFS filesystem, you will need to start it with "nfs" feature enabled. If the container is running while you set the <code>--features nfs:on</code>, you will need to reboot it.
 
 
 
# vzctl set 101 --features "nfs:on" --save
 
# vzctl start 101
 
  
 
After this you may see nfs in <code>/proc/filesystems</code>
 
After this you may see nfs in <code>/proc/filesystems</code>
Line 61: Line 31:
 
</pre>
 
</pre>
  
== Mounting NFS ==
+
=== Mounting NFS ===
Make sure that packages <code>nfs-utils</code> and <code>nfs-utils-lib</code> or similar are installed in a container.  Also make sure that the <code>portmap</code> (or <code>rpcbind</code>) service is started, otherwise the mount with default options will fail and require the <code>-nolock</code> option.  See the [[NFS#Known issues|known issues]] for more information.
+
Assuming that you already have NFS server set up at <code>192.168.0.1:/nfs_pub</code> mounting will be simple
 
 
Assuming that you already have NFS server set up at <code>192.168.0.1:/nfs_pub</code>, mounting will be simple
 
 
<pre>
 
<pre>
 
# vzctl enter 100
 
# vzctl enter 100
Line 77: Line 45:
 
</pre>
 
</pre>
  
For more details on how to setup NFS mount, see [http://nfs.sourceforge.net/nfs-howto/ar01s04.html NFS-client HOWTO]
+
For more details on how to setup NFS mount see [http://nfs.sourceforge.net/nfs-howto/ar01s04.htm NFS-client HOWTO]
 
 
== Known issues ==
 
* There are quite a few parameters in NFS, so sometimes it doesn't work due to misconfiguration. We've created a separate page describing such situations: [[NFS doesn't work]].
 
* Package nfs-common can not be installed. Make sure you start <code>portmap</code> before trying to install nfs-common.
 
** For Ubuntu/Debian OpenVZ containers, the <code>portmap/rpcbind</code> service may not start automatically. However, you can enable it by editing the <code>/etc/default/nfs-common</code> configuration file.
 
 
 
== See also ==
 
* [http://nfs.sourceforge.net/nfs-howto/ar01s04.html NFS-client HOWTO]
 
  
 
[[Category: HOWTO]]
 
[[Category: HOWTO]]

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page:

Retrieved from "https://wiki.openvz.org/NFS"