Changes

Jump to: navigation, search

Mounting filesystems

2,042 bytes removed, 10:36, 28 May 2009
new content moved to Bind mounts -- Undo revision 7333 by Chronos (Talk)
== Mounting filesystems within To mount a VE ==file system inside a container, you have several choices:
To mount filesystems inside a VE* [[NFS]], you have several choices:when container as an NFS client* [[FUSE]] (filesystem in userspace)* [[Bind mounts]] from Hardware Node
* NFS (the VE will be an NFS Client) - see [[NFS]]* FUSE - see [[FUSE]]* Bind mount from Hardware Node === Bind mount from Hardware Node === Recent Linux kernels support Also, you can grant a container an operation called 'bind mounting' which makes part of a mounted filesystem visible at some other mount point. See 'man bind' for more information. Bind mounts can be used to make directories on the hardware node visible to the VE. OpenVZ uses two directories. Assuming our VE is numbered 777, these directories are:  $VZROOT/private/777access $VZROOT/root/777 {{Note|<code>$VZROOT</code> is usually <code>/vz</code>, on Debian systems however this is <code>/var/lib/vz</code>. In this document this is further referred to as <code>$VZROOT</code> -- substitute it with what you have.}} The $VZROOT/private directory contains root directory contents. This directory or subdirectory may be symlinked onto a different file systemphysical block device, for example:  $VZROOT/private -> /mnt/openvz Putting VE root directories onto a separate file system (not and use that device from inside the hardware node root file system) is good storage management practicecontainer. It protects the Hardware Node root Not all file system from being filled up by systems are working inside a VEcontainer; this could cause problems on the Hardware Node. === Requirement === '''On the HN we have a directory <code>/home</code> which we wish to make available (shared) to all containers.''' You would think that you could bind mount this directory, as in: <code>mount --bind /home $VZROOT/private/777/home</code> but this does not work — the contents of <code>/home</code> cannot be seen within the VE. This is where the second directory listed above (<code>$VZROOTcheck /rootproc/777</code>) is used. If a VE is not started, this directory is empty. But after starting filesystems inside a VE, this directory contains what the VE sees as its mounted file systems. The correct command container to issue on the HN is:  mount --bind /home $VZROOT/root/777/home The VE must be started and the destination directory must existfind out. The VE will see this directory mounted like this:  # df Filesystem 1K-blocks Used Available Use% Mounted on simfs 10485760 298728 10187032 3% / tmpfs 484712 0 484712 0% /lib/init/rw tmpfs 484712 0 484712 0% /dev/shm ext3 117662052 104510764 7174408 94% /home [[Category:HOWTO]]

Navigation menu