Cómo redimenzionar el tamaño de un disco virtual en Xen

hdd-1

El otro día, jugando un rato con Xen me encontré con el problema de querer redimenzionar el tamaño de disco virtual de las máquinas virtuales y, cabezeandome un rato, lo logré.
En teoría, aumentar el tamaño de un disco es fácil, creamos un fichero del tamaño que queramos usando dd y luego concatenamos con el que ya tenemos, creamos el sistema de ficheros y listo. Pero el disminuirlo me pareció más complejo, pero no fue así.

Paso a paso

  • Aumentar el tamaño del disco
  • Vamos a usar tres herramientas: dd, cat y mkfs.
    Primero, crear un fichero del tamaño que necesitemos, por ejemplo 5GB:

    dd if=/dev/zero of=file.img bs=1MB count=5000

    Luego de esto unimos nuestro disco actual con el nuevo file.img:
    cat file.img >> disk.img

    Como último paso, volvemos a crear el sistema de ficheros usando mkfs:
    mkfs.xfs disk.img
    (deben cambiar xfs por el sistema de ficheros a utilizar como ext3, reiserfs, etc)

  • Disminuir el tamaño del disco
    Similar al anterior, usaremos las herramientas dd y mkfs (tambien usaremos los comando cp y mouont)
    Creamos un fichero con el nuevo tamaño del disco, por ejemplo 5GB:

    dd if=/dev/zero of=newdisk.img bs=1MB count=5000

    Le damos formato al fichero:

    mkfs.xfs newdisk.img

    Montamos la imágen del disco antigua y la nueva en dos directorios distintos (usaremos temp1 y temp2, respectivamente):

    mkdir temp1 temp2
    mount -tauto -oloop disk.img temp1
    mount -tauto -oloop newdisk.img temp2

    Simplemente copiamos los ficheros desde temp1 hasta temp2, obviamente, conservando los permisos:

    cp -rfvp temp1/* temp2/

    Desmontamos las dos imágenes:

    umount temp1 && umount temp2

    Listo, ahora en newdisk.img de 5gb tenemos todo lo que estaba antes en disk.img.

3 comentarios

  1. excelente, artículo muy útil!
    Yo cuando usé Xen, los discos los hacía con volúmenes lógicos porque ya traen herramientas q facilitan su administración.

  2. buenas, una consulta no se si aki debo hacerlo. Elimine una VM en XenServer 6.5, me elimino pero el espacio sigue utilizado, de igual forma borré un snapshot pero el espacio en mi disco sigue ocupado. Como Puedo buscar y borrar del disco estas VM?? gracias

  3. Hola, puedo contactarme contigo por interno face, teamviewer, skype, tengo este mismo problema pero no he podido hacerlo…

Deja un comentario

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

Esto sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.