What I've done so far: created a KVM vm and installed up-to-date maverick add-apt-repository ppa:appcr/ppa apt-get update && apt-get dist-upgrade apt-get install libvirt-bin lxc linux-image-2.6.34-1cr4 sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT="Ubuntu, with Linux 2.6.34-1cr4-generic"/' /etc/default/grub update-grub
replaced 122 with 123 in /etc/libvirt/qemu/networks/default.xml and /var/lib/libvirt/network/default.xml reboot # The following should go into an upstart script shipped with the appcr packages # as they must be done on each boot chmod 666 /dev/pts/ptmx rm /dev/ptmx ln -s /dev/pts/ptmx /dev/ptmx mkdir -p /cgroup mount -t cgroup cggroup /cgroup/ echo /bin/remove_dead_cgroup.sh > /cgroup/release_agent echo 1 > /cgroup/notify_on_release # cat > /etc/lxc-basic.conf << EOF lxc.network.type=veth lxc.network.link=virbr0 lxc.network.flags=up EOF lxc-create -f /etc/lxc-basic.conf -n cr1 -t ubuntu cd /var/lib/lxc/cr1/rootfs/sbin mv init upstart cat > init << EOF #!/bin/sh rm -f /shutdown hostname cr1 exec 0<&- exec 0</dev/null exec 1>&- exec 1>nohup.out exec 2>&- exec 2>nohup.out mkdir -p /tmp2 mount --bind /tmp2 /tmp mount -a mount -t proc proc /proc mount -t tmpfs varrun /var/run mkdir /var/run/network mkdir /var/run/sshd ifconfig eth0 192.168.123.21 up screen -A -d -m -S console /usr/sbin/sshd while [ ! -f /shutdown ]; do sleep 4s done EOF lxc-start -n cr1 (in another console) ssh 192.168.123.21 screen -r ps ctrl-a d exit lxc-freeze -n cr1 lxc-checkout -n cr1 -S /root/cr1.s1 So far, so good. Note that I couldn't use upstart for my init bc upstart uses inotify, which we don't yet checkpoint. The kernel is compiled without ipv6 bc that was also causing a problem (though I thought ipv6 was supported for checkpoint?) and therefore I needed a custom libvirt package which didn't break when ipv6 is not there. The problem now is when attempting to restart: lxc-stop -n cr1 lxc-restart -n cr1 -S /root/cr1.s1 There are two issues: 1. how to re-create the mounts. Kernel doesn't do it yet. There isn't (that I know of) a clean way to hook lxc-restart to do it. Comments? 2. likewise there *may* end up being a question of where to best hook the backup/snapshot and restore of filesystems. Though for these examples (screen and next vncserver) it shouldn't be necessary. I'm trying to do this using lxc-checkpoint and lxc-restart so as to keep the instructions as simple as possible. The hope is in the next few weeks to have a few recipes that people can try out. But if it's not (cleanly) possible using lxc-restart, then I guess I can switch to using user-cr and some container tarballs, which seems a lot easier in the short term but less useful in the long term. thanks, -serge _______________________________________________ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers _______________________________________________ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel