Article ID: 126017, created on Jun 24, 2015, last review on Jun 17, 2016

  • Applies to:
  • Virtuozzo containers for Linux


Migration from Virtuozzo containers 4.0 fails with the following error:

1433385613: begin stage : startTrack
1433385613: Tracker started
1433385613: tracker pid 244382
1433389709: end stage : startTrack
1433389709: Syncing private area '/vz/private/101'
1433389709: Send command: first
1433389709: can't send command to destination side : Broken pipe
1433389709: Can't move/copy CT#101 -> CT#101, [], [] : can't send command to destination side : Broken pipe 

The following errors appear in /var/log/messages log on the destination server:

Jun 22 15:58:57 testsb02 vzmdest[49162]: recv_str : timeout (3600 sec)
Jun 22 15:58:57 testsb02 vzmdest[49162]: vzsock_recv() return 4

The container has a large amount of inodes inside:

[root@vz ~]# vzquota stat 101
   resource          usage       softlimit      hardlimit
  1k-blocks       14562240       20509308       20509308
     inodes         784834        1310720        1310720


The issue is recognized as a product bug with internal ID PCLIN-29323: the timeout value is not passed to vzmdest on the destination node.


  1. The most preferable solution is to install migration binaries from Virtuozzo containers 4.6. In order to do that, use the resolution steps from the following article:

    125694 How to migrate VZFS containers directly to ploop from Virtuozzo containers 4.0?

  2. If installing Virtuozzo containers 4.6 binaries is not an option for some reason, it is possible to change the timeout for vzmdest manually with a wrapper file. Perform the following steps on the destination node:

    # mv /usr/sbin/vzmdest /usr/sbin/vzmdest.orig
    # cat > /usr/sbin/vzmdest << 'EOF'
    /usr/sbin/vzmdest.orig --timeout 36000 $@   
    # chmod +x /usr/sbin/vzmdest

There are also additional actions that will help to decrease the amount of time, required for the migration.

  • Remove all unnecessary files from the CT.
  • Run the following command before the migration:

    # find /vz/private/CT_ID/ -ls > /dev/null

This command can be used to pre-cache file attributes, so the kernel will keep them in caches, reducing the time of 'startTrack' stage.

Search Words

migrate write() : Broken pipe

d02f9caf3e11b191a38179103495106f 2897d76d56d2010f4e3a28f864d69223 e8e50b42231236b82df27684e7ec0beb

Email subscription for changes to this article
Save as PDF