Share a directory among multiple guests
From Linux-VServer
How to share a directory, such as /home
, among multiple vserver guests.
Contents |
There are several ways to share a partition or directory between guests, both based upon the mount
command. You are advised to read the documentation for detailed information.
Command
The following command will mount this directory for all guests:
$ for guest in /var/lib/vservers/*; do mount --bind /srv/common/home ${guest}/home; done
Note that you might have to (re)start your vserver AFTER the mount for the shared path to be visible under it.
fstab
If a directory is *only* used by a guest (or, by guests), it should *only* be configured in the guest fstab in /etc/vservers/<guest>/fstab
, otherwise mount it on the host, and --bind mount it into the guest (as shown above) if required. This can also be done using an entry in the guests fstab similar to this one:
/srv/common/home /home none bind 0 0
If the partition or directory is to be used by two guests, you should list it in both the guest fstabs. The kernel will then do the proper stuff, unless you are using a really weird filesystem. In this scenario, assuming a recent util-vserver of course, it is sufficient to add the following line to *both* of the guest fstabs while not adding anything to /etc/fstab
on the host:
/srv/common/home /home none defaults 0 0
Note: this will make the directory read-write by all the vservers that are able to access it. I have not yet figured how to have a directory mounted read-write in one vserver and read-only in another (2009-02-01 - gdm).
See also
-
$ man mount