Changes

Jump to: navigation, search

NFS

559 bytes removed, 19:34, 17 June 2016
Prepare the HN
This page describes how to mount use '''NFS partition client''' inside a container.
== NFS server ==Currently OpenVZ kernel doesn't include kernel NFS server support. However you are still able to use user space {{Note|see [[NFS server inside container]].If your OpenVZ-patched kernel has NFS kernel support compiled in (this is the case with Debian's 2.6.26 kernel, for example), you can export filesystems on the HN by usual means, just keep in mind that exporting a container's `root` will most probably not work (it can hang at mount attempt and produce symptoms as described below) - export `private` insteadinfo about nfsd.
== NFS client ==Mounting filesystems from the '''hardware node''' can be performed more elegantly using [[Bind mounts]].}} === Preparations ======= Prerequisites ====
You will need the following software:
This can be done by adding the above lines into /etc/sysctl.conf on the hardware node, and then running <code>sysctl -p</code>.
===== Debian Notes ==Prepare the HN ===
Debian Etch still uses vzctl version 3.0.11 and so For NFS client support is not yet available. Lenny presently has version 3mounts to work in the containers with the RHEL5-based kernels you must enable kernel threads in the container by setting <code>kernel.0ve_allow_kthreads=1</code> in <code>/etc/sysctl.18conf</code>.
==== Prepare 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 HN ====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.}}
For NFS mounts to work in the containers with the RHEL5-based kernels you must enable Accordingly, there are three kernel threads in the container by setting modules: <code>kernel.ve_allow_kthreads=1nfs</code> in (for NFSv2), <code>nfsv3</etccode>, and <code>nfsv4</sysctlcode>.confAs [[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
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.
</pre>
=== 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
For more details on how to setup NFS mount, see [http://nfs.sourceforge.net/nfs-howto/ar01s04.html 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 separatepage describing such situations: [[NFS doesn't work]].* Suspend and migrate operations fail if the VE has NFS partitions mounted [http://bugzilla.openvz.org/show_bug.cgi?id=616] == ISSUE: can't install Package nfs-common on ubuntu VE == Host machine is ubuntu server 8can not be installed.0.4 , VE container is ubuntu from openvz template repo. Despite following all of the above directives, I am unable to get nfs-common to install on the VE (installs fine on the host machine). Here is output ''(from inside VE)'' when I try to install nfs-common Make sure you start <precode>root@clinton:portmap</# apt-get code> before trying to install nfs-commonReading package lists... DoneBuilding dependency tree Reading state information... Donenfs-common is already the newest version.0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.1 not fully installed or removed.After this operation, 0B of additional disk space will be used.Setting up nfs-common (1:1.1.2-2ubuntu2.2) ... * Starting NFS common utilities [fail] invoke-rc.d: initscript nfs-common* For Ubuntu/Debian OpenVZ containers, action "start" failed.dpkg: error processing nfs-common (--configure): subprocess post-installation script returned error exit status 1Errors were encountered while processing: nfs-commonE: Sub-process the <code>portmap/usrrpcbind</bin/dpkg returned an error code (1)</preThe cause of this problem is that portmap is service may not runningstart automatically. Portmap must be running before installing nfs-common. On CentOS 5 (and possible other versions) both However, you can enable it by editing the netfs and portmap startup scripts need to be running. Just run portmap:  # <code>/etc/init.ddefault/portmap start Then, install nfs-common:  # apt-get install nfs-common</code> configuration file.
== See also ==
* [http://nfs.sourceforge.net/nfs-howto/ar01s04.html NFS-client HOWTO]
 
[[Category: HOWTO]]

Navigation menu