Pasar al contenido principal

Tutorial: Ampliar disco duro virtual de una máquina virtual Vagrant sobre VirtualBox

El proceso es sencillo, pero algo farragoso de explicar solo con texto e imágenes, por lo que he preparado un vídeo explicando el proceso.

El resumen del vídeo, con algunas correcciones y los comandos escritos, es el siguiente:

  • Apagar la máquina que vamos a operar.
  • Clonar el disco duro de la máquina:
VBoxManage clonehd box-disk1.vmdk box-disk1-100gb.vdi --format vdi
  • Ampliar el tamaño del disco duro, en este caso a 100GB.
VBoxManage modifyhd  box-disk1-100gb.vdi --resize 102400
  • Desenganchar el disco duro original y añadir el nuevo disco con 100GB.
  • Arrancar con el nuevo disco desde un LiveCD o similar.
  • Instalar gparted si no está instalado en el LiveCD. Para Debian sería:
apt install gparted
  • Reparticionar el disco aprovechando los 100GB que ofrece el nuevo disco duro.
  • Apagar la máquina, retirar el LiveCD y arrancar de nuevo para comprobar que ya tenemos el disco ampliado y visible desde la máquina.

Vídeo

https://vimeo.com/205515255

 

Correcciones sobre el vídeo y notas

Comando de clonado

Por algún motivo en el vídeo no se se correctamente el comando. Parece poner clone, pero es clonehd.

Error operación no soportada al redimensionar

Si vemos este error:

0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize medium operation for this format is not implemented yet!

Probablemente se debe a que estamos usando un disco que no es VDI. Esto sucede si clonamos por ejemplo un disco de tipo VMDK (VMware, formato muy típico para las boxes de Vagrant) y se nos ha olvidado el parámetro --format al usar el comando clonehd.

Pérdida de datos

Como se indica en el vídeo al estar trabajando con un clon del disco duro original no hay miedo a la pérdida de datos. En caso de desastre clonamos del disco duro original y volvemos a empezar.

Borrado del disco duro antiguo

El borrado del disco duro antiguo no se hace borrando directamente el fichero donde reside el disco duro. Se debe usar el gestor de medios de VirtualBox o la próxima vez que abramos el programa se quejará de que no encuentra el fichero que representa el disco duro.

Operar en un servidor headless

Si tenemos el Vagrant ya en un servidor careceremos de interfaz gráfica para hacer ciertas cosas. Si bien el disco duro ampliado de tamaño se puede descargar, operar en nuestro local para reparticionar y luego volver a subirlo no podemos adjuntar el disco duro al Vagrant mediante interfaz gráfica. Para ello podemos usar un comando parecido a este:

VBoxManage storageattach "nombre máquina virtual" --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium nombre-disco.vdi

Si ya hay un disco este comando lo sustituye. 

RIcardo Sanz Ante

Ricardo Sanz

CTO