Search

Language:  
Search for:

Available article translations:

Preparación de los contenedores para realizar una migración

Article ID: 113129, created on Feb 6, 2012, last review on May 11, 2014

APPLIES TO:
  • Business Automation 5.4
  • Virtuozzo 6.0
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor

Información

Este artículo describe los pasos a realizar para evitar posibles incidencias durante una migración. La mayoría de incidencias de migración pueden evitarse fácilmente teniendo las plantillas de SO debidamente actualizadas y disponiendo de repositorios válidos para todas las aplicaciones y plantillas EZ de SO.

Síntomas

Un contenedor no se inicia tras la migración. Se observa un error similar al siguiente:

    ~# 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: 10.20.30.40Error : Unable to execute bash: No such file or directory
    Container is unmounted
    Failed to start the Container

Existen otros síntomas de la existencia de un problema, como puede ser el hecho de que no se pueden mostrar las propiedades de los archivos en algún directorio:

    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
    CT-12264-bash-4.2# 

También puede que el siguiente comando para el contenedor montado/iniciado devuelva alguna salida (como find: ...: No such file or directory):

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

Reemplace "$CTID" por el ID actual del contenedor.

Resolución

Antes de realizar la migración, prepare los nodos hardware de origen y de destino, así como el contenedor que desea migrar tal y como se describe a continuación.

  1. Establezca SCAN_PRIVATE a "yes" para garantizar que el archivo vzpackages enumerará todos los paquetes (y todas sus versiones) instalados en el contenedor mediante las herramientas de gestión de paquetes de Parallels Containers en función de los enlaces existentes en el área privada del contenedor. Edite /etc/vztt/vztt.conf en ambos nodos:

    ~# grep SCAN_PRIVATE /etc/vztt/vztt.conf 
    #SCAN_PRIVATE="yes"
    ~# sed -i 's/#SCAN_PRIVATE/SCAN_PRIVATE/' /etc/vztt/vztt.conf 
    ~# grep SCAN_PRIVATE /etc/vztt/vztt.conf 
    SCAN_PRIVATE="yes"
    
  2. Sincronice los paquetes para el contenedor que desea migrar:

    ~# vzpkg sync_vzpackages $CTID
    

    Reemplace "$CTID" por el ID actual del contenedor.

  3. También puede resultar útil realizar vzpkg repair para el contenedor migrado si la migración resultó fallida antes de este paso. Generalmente, este comando se ejecuta automáticamente durante la migración:

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

    El paso 3 puede devolver el siguiente error:

        Error: The next package(s) are not available
    

    Este error denota que los paquetes enumerados no se encuentran en el área de la plantilla y que estos no están disponibles en los repositorios configurados - por ejemplo, debido a que estos paquetes pertenecen a una versión obsoleta del SO.

    Supongamos que nuestro contenedor se basa en la plantilla centos-5-x86_64:

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

    El error es el siguiente:

        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
    

    Todos los paquetes ausentes detallados aquí pertenecen a Centos 5.5 (tal y como puede verse en la parte el5_5 en la versión del paquete).

    Añada los repositorios de Centos 5.5. Los demás repositorios para CentOS pueden añadirse siguiendo el mismo método y reemplazando "5.5" por el ID de la versión actual:

        ~# echo http://vault.centos.org/5.5/os/x86_64 >> /vz/template/centos/5/x86_64/config/os/default/repositories
        ~# echo http://vault.centos.org/5.5/updates/x86_64 >> /vz/template/centos/5/x86_64/config/os/default/repositories
    

    Una vez hecho esto, vzpkg repair debería poder localizar los paquetes necesarios.

    Algunos paquetes no contienen el ID de la versión. En este caso, deberá comprobar manualmente todos los repositorios disponibles. Como ejemplo de estos paquetes podríamos tener httpd, mod_ssl.

NOTA: las instrucciones detalladas en este artículo son válidas para Parallels Cloud Server, Parallels Server Bare Metal 5.0 y Parallels Virtuozzo Containers para Linux 4.6, 4.7 con contenedores basados en plantillas de SO EZ. En el caso de versiones anteriores, sólo son válidas para Parallels Server Bare Metal 4.0 (la versión más reciente) y Parallels Containers 4.0 a partir de la versión 4.0.0-520. El comando vzpkg repair sólo puede usarse si es posible crear contenedores nuevos basados en la plantilla de SO en cuestión.




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

FEEDBACK
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
Automation
- 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