Hey, so lxc-clone will create a snapshot-based clone of an lvm-backed container in about a second. Creating the first lvm-backed container is a bit of a pain though. I do it using the script below, called 'lxclvmconvert' on my machine. So I do
lxc-create -t ubuntu -f /etc/lxc.conf -n mavbase -- -r maverick lxclvmconvert mavbase and from then on I can do fast lxc-clone -s -o mavbase -n mav-bugxyz My question is, where do we want to put this functionality? Of course I *can* put it in the ubuntu template itself, but I'm leary of adding too many options to that. Consider that just for the lvm support we'd need to add optional arguments for: backing store type: (lvm, loopback file, real blockdev) backing store fstype backing store size other options, i.e. lvm volume group name So, do you think it would be better for the container creation templates to offer this support, or to have a separate tool, not lxclvmconvert, but maybe 'lxc-convert', which converts a container from any supported backing type to any other. Backing types I guess could start out by including directory (the current way) lvm loopback file raw device thanks, -serge #!/bin/sh if [ $# -lt 1 ]; then echo "Usage: $0 container-name <size> <fstype>" exit 1 fi c=$1 size=2G fstype=ext3 echo "converting container $c" if [ $# -gt 1 ]; then size=$2 echo "Using size $size" fi if [ $# -gt 2 ]; then fstype=$3 echo "Using fstype $fstype" fi if [ ! -d /var/lib/lxc/$c/rootfs ]; then echo "Container $c doesn't seem to exist?" exit 1 fi if [ -e /dev/lxc/$c ]; then echo "/dev/lxc/$c already exists. Bailing" exit 1 fi lvcreate -L $size -n $c lxc || cleanup sleep 1 mkfs -t $fstype /dev/lxc/$c if [ $? -ne 0 ]; then echo "Failed to create the filesystem" lvremove -f /dev/lxc/$c exit 1 fi mkdir /var/lib/lxc/$c/lvm || { lvremove -f /dev/lxc/$c; exit 1; } mount -t $fstype /dev/lxc/$c /var/lib/lxc/$c/lvm || { lvremove -f /dev/lxc/$c; exit 1; } rsync -va /var/lib/lxc/$c/rootfs/ /var/lib/lxc/$c/lvm || echo "Rsync had errors, you may want to check; continuing" umount /var/lib/lxc/$c/lvm rmdir /var/lib/lxc/$c/lvm rm -rf /var/lib/lxc/$c/rootfs mkdir /var/lib/lxc/$c/rootfs sed -i '/lxc.rootfs/d' /var/lib/lxc/$c/config echo "lxc.rootfs = /dev/lxc/$c" >> /var/lib/lxc/$c/config echo "Finished" ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Lxc-users mailing list Lxc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-users