Search for:

  • Article for your preferred language does not exist. Below is international version of the article.
Available article translations:

Preparing containers for migration

Article ID: 113129, created on Jan 12, 2012, last review on Jan 23, 2015

  • Business Automation 5.4
  • Virtuozzo 6.0
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor


This article describes steps that will help prevent migration issues. Most migration issues can be prevented by keeping OS templates up-to-date and having valid repositories for all applications and OS EZ templates.


A container does not start after migration. A similar error is observed:

~# vzctl start 102
Starting the Container ...
Container is mounted
Setting permissions 20002 dev 0x7d00
Set up ioprio: 4
Adding offline management to Container(1): 4643 8443 
Adding IP addresses:
Error: Unable to execute bash: No such file or directory
Container is unmounted
Failed to start the Container

There are other signs of this issue, such as the inability to show properties of the files in some directory:

CT-12264-bash-4.2# ls -al /usr/bin/ | grep '\?'
ls: cannot access /usr/bin/mailq: No such file or directory
ls: cannot access /usr/bin/hoststat: No such file or directory
ls: cannot access /usr/bin/praliases: No such file or directory
ls: cannot access /usr/bin/purgestat: No such file or directory
ls: cannot access /usr/bin/newaliases: No such file or directory
??????????  ? ?    ?              ?            ? hoststat
??????????  ? ?    ?              ?            ? mailq
??????????  ? ?    ?              ?            ? newaliases
??????????  ? ?    ?              ?            ? praliases
??????????  ? ?    ?              ?            ? purgestat

This may affect important services start-up, for example SSH:

# /etc/rc.d/init.d/sshd restart
Stopping sshd:                                             [FAILED]
Starting sshd: /usr/sbin/sshd: error while loading shared libraries: cannot open shared object file: No such file or directory

In this case, the following command for the mounted/started container returns some output (like find: ...: No such file or directory):

~# find /vz/root/$CTID -xdev -ls >/dev/null

(Replace "$CTID" with the actual container's ID value.)


Before performing a migration, prepare the source and destination Hardware Nodes, as well as the container that is to be migrated:

  1. Set SCAN_PRIVATE to "yes" to assure that the vzpackages file will list all packages (and their versions) installed in the container by Virtuozzo package management tools based on existing links from the container's private area. Edit /etc/vztt/vztt.conf on both Nodes:

    ~# grep SCAN_PRIVATE /etc/vztt/vztt.conf 
    ~# sed -i 's/#SCAN_PRIVATE/SCAN_PRIVATE/' /etc/vztt/vztt.conf 
    ~# grep SCAN_PRIVATE /etc/vztt/vztt.conf 

    NOTE: This option increases the time, required for migration. It is advised to comment it again before the migration attempt.

  2. Sync packages for the container that is to be migrated:

    ~# vzpkg sync_vzpackages $CTID

    (Replace "$CTID" with the actual container ID value.)

  3. It is also useful to do vzpkg repair for the migrated container if the migration failed before this step. Usually, this command is performed automatically during migration:

    ~# vzpkg repair /vz/private/$CT_ID /etc/sysconfig/vz-scripts/$CTID.conf

    Step 3 may return this error:

    Error: The next package(s) are not available

    If this happens, it means that the listed packages are missing in the template area and that these packages are not available on the configured repositories -- for example, because these packages are from an outdated OS release.

    For example, let's assume that our container is based on the centos-5-x86_64 template:

    ~# vzpkg list 113
    centos-5-x86_64      2012-04-16 15:13:10

    The error is as follows:

    Error: The next package(s) are not available:
    samba-swat.x86_64                        0:3.0.33-3.29.el5_5
    samba-common.x86_64                      0:3.0.33-3.29.el5_5
    glibc-common.x86_64                      2.5-49.el5_5.4
    openldap.x86_64                          2.3.43-12.el5_5.2
    krb5-libs.i386                           1.6.1-36.el5_5.5
    krb5-libs.x86_64                         1.6.1-36.el5_5.5
    nss.x86_64                               3.12.6-2.el5.centos
    glibc.i686                               2.5-49.el5_5.4
    nscd.x86_64                              2.5-49.el5_5.4
    samba.x86_64                             0:3.0.33-3.29.el5_5
    dhclient.x86_64                          12:3.0.5-23.el5_5.1
    device-mapper-multipath.x86_64           0.4.7-34.el5_5.4

    All missing packages above are from the Centos 5.5 release (as seen from the el5_5 part in the package version).

    Add Centos 5.5 repositories (other repositories for CentOS can be added in the same way, replacing "5.5" with the actual release ID):

    ~# echo >> /vz/template/centos/5/x86_64/config/os/default/repositories
    ~# echo >> /vz/template/centos/5/x86_64/config/os/default/repositories

    NOTE: With many repositories in the list, the operation of metadata update (which is done every time after expiration timeout is reached, in 24 hours) takes much time to complete. It is advised to remove additional repositories when the migration is done.

    After adding/removing repositories, update metadata on the server for the EZ OS template:

    ~# vzpkg update metadata centos-5-x86_64 -r

    After that, vzpkg repair should be able to locate the needed packages.

    Some packages do not contain the release ID. For such packages, it is necessary to check all available repositories manually. Examples of such packages are httpd and mod_ssl.

    Digital suffixes, like .2 in .el5_5.2 version, mean that such versions are released in updates to the given release.

NOTE: The instructions above work for Parallels Cloud Server, Parallels Server Bare Metal 5.0, and Parallels Virtuozzo Containers for Linux 4.6, 4.7 with containers based on EZ OS templates.
For previous versions, these instructions work only for PSBM 4.0 (latest release) and PVCfL 4.0 starting from 4.0.0-520.
The command vzpkg repair can be used only if it is possible to create new containers based on the given OS template.

Search words:

Cannot migrate and click on container

/usr/sbin/vzctl exited with code 17

container will not start after migration

Online migration hangs

migrate container

pmigrate template

no such directory

Update EZ templates on VPS

vps migration

Cannot migrate containers to new host node

conversion error in ploop

error in ploop conversion

'One or more rpm failed.'

CT not starting after vzmigrate

Unable to execute bash


Error: Unable to execute bash: No such file or directory

vzmigrate not migrate ez templete units

ERROR: Zend_Controller_Exception


migration error

Failed to start the Container

corrupted files after virtuozzo container migration

unable to convert

virtuozzo migration


migration of vps failed

Links broken after migration

ls: cannot access lib: No such file or directory

vzctl exited with code 19

vzpkg sync_vzpackages

2897d76d56d2010f4e3a28f864d69223 e8e50b42231236b82df27684e7ec0beb d02f9caf3e11b191a38179103495106f a26b38f94253cdfbf1028d72cf3a498b 0dd5b9380c7d4884d77587f3eb0fa8ef 198398b282069eaf2d94a6af87dcb3ff caea8340e2d186a540518d08602aa065 614fd0b754f34d5efe9627f2057b8642 210d017ddc3a076d22f0f865b1cf0730 92711db0799e8aefe8e51f12dace0496 c62e8726973f80975db0531f1ed5c6a2

Was this article helpful?
Tell us how we may improve it.
Yes No
Server Virtualization
- Odin Cloud Server
- Odin Containers for Windows 6.0
- Odin Virtuozzo Containers
- Odin Automation
- Odin Automation for Cloud Infrastructure
- Odin Business Automation Standard
- Odin Virtual Automation
- Odin Plesk Panel Suite
- Web Presence Builder
- Odin Plesk Automation
- Odin Small Business Panel
- Value-added Services for Hosters
- Odin Partner Storefront
Services & Resources
- Cloud Acceleration Services
- Professional Services
- Support Services
- Training & Certification