Difference between revisions of "Migrating from OpenVZ to Linux-Vserver"
From Linux-VServer
(quick transcript of an openvz to linux-vserver migration) |
(+cat) |
||
Line 65: | Line 65: | ||
Welcome back! | Welcome back! | ||
+ | |||
+ | [[Category:Documentation]] |
Revision as of 20:19, 21 October 2011
So, you've repeatedely heard that OpenVZ was hip, better than Linux-Vserver even, and thought you'd give it a try? So did we! However, you weren't as pleased as you were supposed to be, and kept thinking back about how Linux-Vserver was cool for you? Well, if that's your case too, here's how we moved back to Linux-Vserver in a few simple keystrokes.
Contents |
System info
Kernels
We are running Debian GNU/Linux, in its testing flavour (pre-release Lenny, frozen package base). For OpenVZ, we were using Debian kernel 2.6.26 with OpenVZ patches. For Linux-Vserver, we are using Debian kernel 2.6.25 with Linux-Vserver patches.
Paths
We created our OpenVZ CTs under /srv/vps/$VEID/{private,root}/, and our vservers under /srv/vservers/.
Migrating
Copying data
After rebooting under the -vserver kernel, here's how we migrated each VPS, using the 'rsync method':
[sudo] vserver $vname build -m rsync \ --hostname $vhostname \ --interface $interface:$ip \ --context $ctx -- \ --source /srv/vps/$veid/private/ -o -va
So, for migrating an OpenVZ CT named 'seitan' using '192.168.66.6' on 'eth0', in context '666', the command would look like:
sudo vserver seitan build -m rsync \ --hostname seitan \ --interface eth0:192.168.66.6/24 \ --context 666 -- \ --source /srv/vps/seitan/private/ -o -va
Note the trailing -o -va, which allows us to follow rsync as it goes.
Fix daemons
When rsync is done, we can't start our vservers yet, because some of the system daemons that OpenVZ allows are not compatible with a Vserver environment. Let's remove their startup links, then!
To do so, let's chroot into our freshly migrated vserver:
sudo chroot /srv/vservers/seitan/
Once inside, let's unlink all the undesired daemons:
for undesired in klogd hwclock.sh setserial urandom networking umountfs halt reboot ; do update-rc.d -f $undesired remove ; done
Enjoy
Let's log out of the chroot, and start our vserver!
exit sudo vserver seitan start
It should work fine, provided some of your daemons don't depend upon bind mounts from host, which then need to be integrated into the fstab for each of your vservers.
Welcome back!