I am trying different ways to take snapshots of running openvz containers.
Following this guide : http://openvz.org/Checkpointing_and_live_migration, I always encounter an issue with pid files missing when restoring the snapshot. The steps I am following are:
vzctl chkpnt 111 --suspend
vzctl chkpnt 111 --dump --dumpfile /vz/dump/testdump.111
vzctl chkpnt 111 --resume
Then I stop the VE and I try to restore it from the dumpfile:
vzctl stop 111
vzctl restore 111 --undump --dumpfile /vz/dump/testdump.111
At this point I always get errors about pid files missing:
vzctl restore 111 --undump --dumpfile /vz/dump/Dump.111
Restoring container ...
Container is mounted
undump...
Adding IP address(es): 10.111.1.111
Setting CPU units: 1000
Restore error, undump failed: No such file or directory
Error: rst_open_file: failed to lookup path '/var/run/saslauthd/saslauthd.pid': -2
Error: can't open file /var/run/saslauthd/saslauthd.pid
Error: rst_file: -2 30505968
Error: rst_files: -2
Error: make_baby: -2
Error: rst_clone_children
Error: make_baby: -2
Error: rst_clone_children
Container restore failed
Container is unmounted
If I stop saslauthd before taking the snapshot, then it complains about sendmail's pid file. If I stop sendmail it complains about crond. etc.
What is the right way to restore a container that has been backed up?