Proxmox 4.x bind mount – mount storage in an LXC container
Category : How-to
An LXC containers storage is simple to set and maintain and is usually done through either a Web based GUI or a command line utility. It’s simple to set the size of disk allocated to an LXC container, and you can increase it easily, even while the container is still running.
Whilst simple to set up and administer, the standard storage options of LXC containers are limited. For example, you can’t mount an NFS share in an LXC container, or can you have multiple disks mounted as /dev block devices.
That’s where a bind mount comes in. You can add one or more mount points to your LXC container config that specifies a source path and a target path which is activated when the container starts. The source path would be a location on the host machine (the physical host running the LXC container – the Proxmox host in this example). The target is a location inside of the LXC container such as /mnt/myshare. This means that you can mount an NFS share, a GlusterFS share, several physical disks or anything else that can be mounted on your host and pass it through to your container.
Before you start, you’ll need to make sure both the host location and the target container location exist, otherwise the container will fail to start. You’ll then need to edit your LXC container config file. On Proxmox 4.x this can be found in /etc/pve/lxc/ and then the ID of your container. In this example the container we’re working on has an ID of 101.
Add the following row and substitute SOURCE with the path that you’d like to pass through to your container and TARGET to the path inside the container.
mp0: SOURCE, mp=TARGET
The below example will make /mnt/pve/nfs-share available in the container at /mnt/nfs.
mp0: /mnt/pve/nfs-share, mp=/mnt/nfs
Then restart your CT for the changes to take effect.
If you have multiple paths to mount then you can increment mp0 to mp1, mp2, etc.
mp0: /mnt/pve/nfs-share, mp=/mnt/nfs mp1: /mnt/pve/gluster-share, mp=/mnt/gluster ...
If you’re using version 3.x of Proxmox, or stand alone OpenVZ then see Proxmox bind mount for OpenVZ.