Posted by banchieri on Thu 20 Jan 2011 at 09:52
Recently, my focus of interest turned to volume management. Since with Linux, LVM2 seems to be the only viable solution (unless you go for cluster filesystems), I started reading about LVM. Somewhere, I read about setting up a loop device as PV and that's where I got intrigued: Couldn't I just use a sparse file with one single large hole and let my ext4 fill that when there's actually something written onto the loop device?
So for proof of concept, I created the volume with:
(1)dd if=/dev/zero of=FILE bs=X seek=Y-1 count=1, did thelosetup /dev/loop0 FILE,mke2fs /dev/loop0,mount /dev/loop0 /mnt,du -k FILE and filesystem usage with df -k /mnt.
Guess what? It worked!
For further testing, I started copying files into my "dynamic volume", watched it grow, and ultimately unmounted it.
Since that worked out so well, I'm gonna use that trick in the Linux Containers setup I'm currently working on, because it
(a) lets the volume grow dynamically and
(b) puts an upper limit on volume size.
Ah, and: With ext3/4 as underlying filesystem, ext2 within the loop device is enough. Why journal twice?
This article can be found online at the Debian Administration website at the following bookmarkable URL (along with associated comments):
This article is copyright 2011 banchieri - please ask for permission to republish or translate.