Using the LVM backing store
The Logical Volume Manager (LVM) uses the device mapper framework in the Linux kernel that allows for mapping physical block devices onto more abstract virtual block devices. This abstraction allows for aggregating various block devices into logical volumes for better resource control. With the LVM, one can extend the size of a filesystem by adding more block devices to a pool of resources called Physical Volumes (PVs). The PVs contain block devices. From the PVs one can then carve out Volume Groups (VGs). The VGs can then be split, merged, or moved between PVs and can be resized online if enough blocks are available from the PVs. The VGs can have one or more Logical Volumes (LVs). The LVs can span across multiple disks, and hold the filesystem. If more disk space is to be added, one can just add a new block device to the PVs, then extend the VG and the LV.
The LVM allows for creating snapshots, a feature that LXC takes advantage of, which creates an LV to act...