Symptoms
Container cannot be migrated from one Parallels Virtuozzo Containers for Windows node to another.
The similar output is observed in the command prompt window:
C:\>vzmigrate -A myserver -U administrator -P password 100 migrate 100->100 migration started 0%: Operation with the Container mycontainer is started 0%: migrating "mycontainer" from "myserver" to "85560a38-6a21-6e1b-f9c7-9fdc28f49e2e" 0%: Stopping source Container 100 100%: Operation with the Container mycontainer is finished with errors: Internal error: SendPrivate completed with error 0x0 dwRes 0xffffffff Failed to send private file C:\vz\Private\100\root.efd Stage2 SendPrivates failed. migration error 0x1 Internal error: SendPrivate completed with error 0x0 dwRes 0xffffffff Failed to send private file file C:\vz\Private\100\root.efd Stage2 SendPrivates failed
In Virtuozzo log file the similar errors are observed:
{0000000000000000}; T=2012.07.22 09:57:00.955; A=vzaop; P=4192.2036; S=VZMIGSERVER; F=build\vt-win-i386\vzmig\MigExchange.cpp,CPrivateReceiver::Receive_Version1,267; L=INFO; R=ffff(65535); C=0(0); M=65535 [] RECEIVE: Stage1 private C:\vz\private\100\root.efd {0000000000000000}; T=2012.07.22 09:57:00.955; A=vzaop; P=4192.2036; S=VZMIGSERVER; F=build\vt-win-i386\vzmig\MigExchange.cpp,CPrivateReceiver::Receive_Version1,296; L=ERROR; R=ffff(65535); C=0(0); M=65535 [] Not enough disk space to create file C:\vz\private\100\root.efd of size 0x640000000 bytes {0000000000000000}; T=2012.07.22 09:57:00.955; A=vzaop; P=4192.2036; S=VZMIGSERVER; F=build\vt-win-i386\vzmig\MigExchange.cpp,ReceiverThread,655; L=ERROR; R=ffff(65535); C=0(0); M=65535 [] ReceiverThread failed to process tag 1 error 0x70
Cause
The container has the disk space limit which exceeds the amount of free disk space available on the destination node, even though it may not consume all allocated disk space.
Resolution
- Make sure the destination node has enough disk space to host the container.
Decrease the container's disk space limit to fit amount of free space on the destination node.
For example:
A container has the disk space limit 200GB and the actual consumption is 25GB:
C:\Users\Administrator>vzquota stat 1000 disk resource usage hardlimit path C: 1k-blocks 26214400 209715200 C:\vz\Private\1000\root.efd
The destination node has 50GB free. It is reasonable to set disk space limit to 30GB in such case to be able to migrate the container:
C:\Users\Administrator>vzctl set 1000 --save --diskspace 31457180 Command 'set' is successfully finished
- Migrate the container.
- Set the former limit back.
NOTE: It is strongly not recommended to overcommit disk space, because it may lead to unpredictable containers' corruption and node's instability