vzdump: Como instalarlo en CentOS 6.5 sin morir en el intento

Hace algún tiempo publiqué en este mismo blog un articulo en el que explicaba como instalar un servidor OpenVZ. En él mencionaba cómo instalar el programa vzdump, que permite realizar backups de los contenedores y restaurarlas posteriormente.

Sin embargo, a raíz del comentario de un lector, me he dado cuenta de que el proceso ya no es tan fácil y es necesario realizar unos cuantos pasos adicionales. Dado que la documentación online al respecto es escasa y, casi siempre, errónea, he decido hacer este pequeño post explicando el proceso. Espero que os sea útil.

Logo de OpenVZ vzdump

OpenVZ

Instalación de vzdump

Lo primero que hay que hacer es satisfacer las dependencias del programa. Para empezar, hay que instalar cstream. Puedes descargarlo de aquí: http://pkgs.repoforge.org/cstream/

Busca la última versión correspondiente a tu arquitectura y descargarla a tu equipo. Si eres como yo y reniegas de usar la interfaz gráfica, usa:

wget (url del paquete)

Una vez descargado, toca instalarlo. Lo podemos instalar con:

yum install (nombre_paquete)

Despues hay que instalar la libreria Simple Locking file I/O para perl. Estos son los comandos:

wget http://dag.wieers.com/rpm/packages/perl-LockFile-Simple/perl-LockFile-Simple-0.206-1.el5.rf.noarch.rpm
rpm -ivh perl-LockFile-Simple-0.206-1.el5.rf.noarch.rpm

Si vas a la página de descarga (http://dag.wieers.com/rpm/packages/perl-LockFile-Simple) verás que hay versiones más recientes. Yo no las he probado, pero si quieres intentarlo, deberían funcionar igualmente.

Ahora toca añadir la ruta para que OpenVZ sepa dónde buscar la librería. Esto varía dependiendo de la versión. Al final, lo mejor es buscar la librería por todo el sistema y obtener la ruta a mano. Para ello ejecutamos:

find /usr -name Simple.pm

Devolverá varios archivos, el que importa es el primero. En mi caso es «/usr/lib/perl5/vendor_perl/5.8.8/LockFile/Simple.pm».

Cogemos la ruta, ovidándonos de la parte de «LockFile/Simple.pm» y editamos nuestro fichero .bashrc.

vim ~/.bashrc

Añadimos:

export PERL5LIB=(ruta)

En mi caso:

export PERL5LIB=/usr/lib/perl5/vendor_perl/5.8.8/

Guardamos y cargamos la nueva variable:

source ~/.bashrc

Ahora ya podemos instalar vzdump. Primero lo descargamos:

wget http://download.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm

Y después lo instalamos usando yum (así también comprobamos las dependencias):

yum install http://download.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm

No debería dar ningún problema. En el caso de que los diese, comprueba que tienes instalado procmail (o cualquier otro MDA). Deberías tenerlo por defecto, pero es posible que lo hayas desinstalado. Una vez terminada la instalación, ya deberías poder ejecutar vzdump y vzrestore. Si al hacerlo te muestra algún error extraño, asegúrate de que la variable está exportada:

echo $PERL5LIB

Y de que la ruta es correcta.

Eso es todo. Larga vida y prosperidad.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   ffos dijo

    Excelente artículo 😉

    1.    Kamisama666 dijo

      Gracias! 🙂

  2.   dhunter dijo

    Pues yo para estos menesteres recomiendo Proxmox, basado en Debian, soporta KVM y Openvz, y tiene una interfaz web y un API que se pueden hacer maravillas, me va como una seda. Backups programados, iscsi, nfs, etc..

    http://www.proxmox.com/es/proxmox-ve

    Proxmox VE es una solución completa de virtualización de servidores basada en sistemas de código abierto. Permite la virtualización tanto sobre KVM como contenedores y gestiona máquinas virtuales, almacenamiento, redes virtualizadas y clústeres HA.

    1.    Kamisama666 dijo

      La verdad es que proxmox tiene muy buena pinta. De hecho, creo que son ellos los que desarrollan (o desarrollaban) vzdump. Pero, en mi opinión, simpre es útil conocer el funcionamiento de las tecnologías subyacente. En mi experiencia, las interfaces gráficas tarde o temprano se quedan cortas. Y en ese momento eres tú contra la terminal.

      Larga vida y prosperidad.

      1.    dhunter dijo

        Te secundo, pero proxmox te da pleno acceso al vzdump y vzctl y todo, además un api REST que es un sueño, actualmente tengo planes para hacer algo como un status center con la interfaz python [1] y Flask.

        https://github.com/swayf/proxmoxer

      2.    Kamisama666 dijo

        No hace falta que digas más. Con lo de la api REST ya me has convencido XD.

  3.   Gabriel dijo

    Yo soy el lector que realizó el comentario, y la verdad que agradezco enormemente este post.
    Acabo de seguir los pasos, y pude levantar los backups de los contenedores sin ningun tipo de problemas. Gracias por no dejarme morir en el intento 😀

    Ahora vamos con otra consulta, imagino que esta herramienta no viene instalada, porque actualmente se deben usar otro tipos de backups en OpenVZ y se debe usar otra herramienta para levantarlos. ¿Estoy en lo correcto? Creo que ese es un buen tema para un próximo post 😉
    Saludos

    1.    Gabriel dijo

      Vuelvo a aclarar que termine utilizando lo que comentas en este post, pero ya que esta les paso el enlace que me dio la misma gente de OpenVZ por Twitter, no lo use 😛
      https://openvz.org/Migration_from_one_HN_to_another
      Me comentaban de usar vzmigrate

      1.    Kamisama666 dijo

        Pues se ve que no te entendieron, porque vzmigrate a ti no te servía de mucho. Tu problema era que tú los contenedores los tenías en backups hechas con vzdump. Lo que hace vzmigrate es ocuparse de migrar un contenedor activo (en frio o en caliente) de una maquina a otra. Si tú hubieras hecho eso desde el principio, pues sí. Pero una vez que querias sacar el contenedor de la backup, vzmigrate no te servía de nada. Había que sacarlos del backup y para eso se necesitaba vzrestore. Pero bueno, para la próxima vez usa esto que te quitarás de problemas y sufrimientos.

    2.    Kamisama666 dijo

      Pues…………No. Lo sé, a mi también me parece raro, pero así es la vida. También te digo que realmente lo que hace vzdump (en modo offline) simplemente es comprimir el directorio donde reside la raiz del contenedor y sus archivos de configuración en un solo archivo. Y luego descomprimirlo y colocarlo todo en su sitio. Esto lo podrías hacer tú a mano. Pero tecnicamente, aunque no este en repositorios oficiales (y sea un lío de narices instalarlo), vzdump sí es la herramienta oficial para hacer backup, al menos en frio.

      ¿Qué por qué no está en los repositorios entonces?. Eso me gustaría saber a mí. Por lo que veo en blog de los desarrolladores, en los últimos tiempos andan liados con ploop, que es lo que les mola ahora. Pero bueno, así están las cosas.

      En cualquier caso, lo de las backup (en frío, en caliente y hasta en su punto si hace falta) lo tengo pensado para un futuro articulo. Aunque primero tengo pensado hablar de networking, que la gente se lía con los tipos de adaptadores virtuales y es la cosa más fácil del mundo. Cuando te lo explican en condiciones, claro. A ver si saco algo de tiempo esta semana.

      Larga vida y prosperidad

      1.    Gabriel dijo

        Ahora que me hice un rato para leer sobre vzmigrate, veo que tienes toda la razón, no me entendieron 😛 Me parece interesante también lo de networking.
        Gracias nuevamente 😉

  4.   Ermimetal dijo

    Se que ya es post viejo pero para la gente que lo desee, le dejo el repositorio para instalarlo con un simple yum install vzdump.

    Recuerden: esto va en el directorio /etc/yum.repos.d/solusvm.repo

    [soluslabs]
    name=Soluslab Repo
    #baseurl=http://repo.soluslabs.com/centos/$releasever/os/$basearch
    mirrorlist=http://repo.soluslabs.com/centos/mirrors-soluslabs
    gpgcheck=0
    enabled=1

    Ya una vez creado solo hagan
    yum update
    y después instalan:
    yum install vzdump