El rincón de Zerial

Informática, GNU/Linux, Seguridad, Hacking, Programación, Ocio

Xen: Migración de discos fisicos a discos virtuales (pt3)

julio 15th, 2009 · No hay Comentarios

quantum-bigfoot La migración de discos físicos a discos virtuales para poder montar una VM en Xen es, en teoría, fácil. Es simplemente hacer una copia con dd de las particiones que deseas. Hay que tener mucho cuidado, no debemos hacer una imágen del disco completo, sólo las particiones que deseamos, sin el sector 0 (mbr), ni tabla de particiones, etc. Tampoco recomiendo migrar la swap, es mejor crearla (en teoría demoraría menos).

Cuando se trata de máquinas de producción o servidores, lo que debemos hacer para no tener conflictos con las direcciones ip, hostnames, fstab o cualquier configuración especial que tenga esa máquina que de una u otra forma pueda generar conflictos, es montarla con loop y modificar las configuraciones directamente desde la imágen que creamos.
Los pasos a seguir (recomendados por mi) son:

  1. Determinar qué particiones son las que debemos migrar.
  2. Hace las imágenes correspondientes de cada partición.
  3. Configuración de la máquina virtual (crear el .cfg).
  4. Montar las particiones que podrían generar algún tipo de conflicto y modificar los archivos necesarios.
  5. Creación de la swap.
  6. Levantar la máquina.

  1. Determinar qué particiones son las que debemos migrar.
  2. Es necesario respaldar sólo las particiones que contienen información, como dije anteriormente, la swap no es necesaria, tambien da lo mismo el orden y el nombre que les pongamos, pero hay que ser ordenados.

    Imaginemos la siguiente tabla de particiones:

    /dev/sda1 / xfs defaults 0 1
    /dev/sda2 /home xfs defaults 0 1
    /dev/sda3 swap swap defaults 0 0

    Lo único que debemos respaldar es sda1 y sda2

  3. Hace las imágenes correspondientes de cada partición.
  4. Para crear las imágenes de cada particion, vamos a usar dd.
    # mkdir -p /vm/vm1 && cd /vm/vm1
    # dd if=/dev/sda1 of=sda1.img
    # dd if=/dev/sda2 of=sda2.img

    Con esto ya tenemos sda1.img, sda2.img correspondiente a /dev/sda1 y /dev/sda2 respectivamente.

  5. Configuración de la máquina virtual (crear el .cfg).
  6. # Kernel + memoria
    kernel = '/boot/vmlinuz-2.6.26-2-xen-686'
    ramdisk = '/boot/initrd.img-2.6.26-2-xen-686'
    maxmem = '2048'
    memory = '1024'
    vcpus=4
    # Discos.
    root = '/dev/hda1 ro'
    disk = [
    'file:/vm/vm1/sda1.img,hda1,w',
    'file:/vm/vm1/sda2.img,hda2,w',
    'file:/vm/vm1/swap.img,hda3,w',
    ]

    # Hostname
    name = 'labs'
    # red
    vif = [ 'ip=10.0.0.134,mac=00:1B:CC:C3:BB:3B,bridge=xenbr1' ]
    # comportamiento
    on_poweroff = 'destroy'
    on_reboot = 'restart'
    on_crash = 'restart'

    De esta forma le decimos a la máquina virtual que su hda1 estará mapeado a la imágen del disco sda1 que creamos y hda2 a sda2.

  7. Montar las particiones que podrían generar algún tipo de conflicto y modificar los archivos necesarios.
  8. En este caso, sda1 nos podria generar conflictos con el fichero fstab, ya que tiene otra distribución para los puntos de montaje. Entonces, montamos la imágen:
    # mkdir temp
    # mount -o loop -t auto sda1.img temp/

    Entramos a temp/etc/ y editamos el fichero fstab y mapeamos correctamente las particiones, teniendo en cuenta que nuestras nuevas particiones se llaman hda1 y hda2. (no olvidar la swap).
    Desmontamos la imágen:
    # umoount temp/

  9. Creación de la swap.
  10. Para crear la swap tambien vamos a usar dd.
    # dd if=/dev/zero of=swap.img bs=1M count=1500
    (esto generara una imágen llamada swap.img de 1*1500 MB)
    Hacemos que sea de tipo swap:
    # mkswap swap.img
    Listo.

  11. Levantar la máquina.
  12. Para levantar la máquina simplemente ejecutamos el comando:ç
    # xm create vm1.cfg -c
    (vm1.cfg es el nombre que le pusimos al archivo de configuración de la máquina)

Etiquetas: Documentacion · GNU/Linux · Tips

0 respuestas hasta ahora ↓

  • Aquí no hay comentarios todavía...Puedes ser el primero en dejar un comentario.

Deja un Comentario