Bind mounts can be used to make directories on the hardware node visible to the container.
This is how you can make host system's /mnt/disk
directory available to a container 777:
CTID=777
echo '#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/mnt/disk
DST=/mnt/disk
if [ ! -e ${VE_ROOT}${DST} ]; then mkdir -p ${VE_ROOT}${DST}; fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
' > /etc/vz/conf/${CTID}.mount
chmod +x /etc/vz/conf/${CTID}.mount
If you want read-only mount, add -r
option to mount command.
Note: When specifying destination directory, always use /vz/root/ or ${VE_ROOT} env. variable (avoid using /vz/private) |
Note: When binding directories from one container to another, make sure you have proper boot order (See BOOTORDER param.) |
Instruction above do not work on OpenVZ 7
Use this fix to enable Bind mounts on OpenVZ 7
cat <<'EOF' > /etc/vz/conf/vps.mount
#!/bin/bash
. ${VE_CONFFILE}
VE_MOUNT=$(echo ${VE_CONFFILE} | sed 's/\.conf$/.mount/')
[ -x ${VE_MOUNT} ] && . ${VE_MOUNT}
exit 0
EOF
chmod +x /etc/vz/conf/vps.mount
See also
- vzctl(8) (ACTION SCRIPTS section)
- NFS
- FUSE
- Mounting filesystems