Ir al contenido principal

Cómo redimensionar un disco virtual en KVM

Introducción

Hola de nuevo, amigos. Tras un parón al que me he visto forzado por circunstancias personales, vuelvo de nuevo con un nuevo artículo. 

En esta ocasión voy a abordar cómo ampliar un disco virtual en una máquina creada en KVM. Con el fin de cubrir este aspecto cuando nos quedamos cortos de espacio en una máquina virtual por haber calculado mal en el momento de crearla. Cómo crear esta máquina ya lo expliqué en un artículo anterior: Virtualizacion con KVM.

Para este pequeño laboratorio he creado una máquina virtual con una instalación limpia de Ubuntu 20.04 con las siguientes características: 
  • CPUs: 2
  • Memoria: 4096 MiB = 4 GiB
  • Disco: VirtIO en formato qcow2 de 30GiB
El resto las opciones son las que se muestran por defecto.

Y otra máquina virtual con Windows 7, con las siguientes características:
  • CPUs: 2
  • Memoria: 4096 MiB = 4 GiB
  • Disco: VirtIO en formato qcow2 de 40GiB

Redimensionando el disco virtual

Antes de realizar el redimensionado de la partición es aconsejable realizar una copia de seguridad de los datos importantes guardados en el disco virtual. En teoría, el proceso que vamos a realizar no conlleva la pérdida de datos, pero realizar la copia nos previene de dicha pérdida durante algún fallo durante el proceso de redimensionado.

El primer paso del procedimiento es la ampliación del tamaño del disco virtual. Actualmente esta característica sólo está disponible usando la línea de comandos, pero es muy simple. Todo lo que se hace con esto es modificar la información de la cabecera del disco virtual, por lo que el comando se ejecuta instantáneamente. Hay que recordar que el formato del disco virtual debe ser necesariamente o raw o qcow2.

Con la máquina virtual apagada, seguimos la secuencia de comandos siguientes en la terminal de la máquina anfitriona con privilegios de superusuario:
  • Nos posicionamos en el directorio donde se encuentra la imagen del disco. En las propiedades de la máquina virtual del Gestor de máquinas virtuales se puede consultar la ubicación, en mi caso:
$cd /var/lib/libvirt/images/
  • Ampliamos el tamaño del disco en 5 GiB, por ejemplo:
$sudo qemu-img resize ubuntu20.04.qcow2 +5G

El sistema devolverá un mensaje instantáneo cuyo texto será Image rezised.

Y con estos dos comandos ya tenemos el disco ampliado 5G.

En nuestras máquinas virtuales nos debería aparecer una partición sin asignar del tamaño ampliado con el comando.

En Ubuntu 20.04


En Windows 7



Redimensionando el sistema de ficheros

Este segundo paso del procedimiento requiere de alguna clase de software de manipulación de particiones para incrementar el tamaño del sistema de ficheros en el disco virtual manipulado en la máquina cliente.

En Ubuntu 20.04

En esta máquina virtual, que está recién instalada y no tiene software añadido a lo que se instala por defecto, usaré la utilidad de discos que viene preinstalada. Si es de tu preferencia, también puedes usar otro software, como puede ser el GParted.

Pues al lío. En el cuadro de búsqueda de Actividades escribimos discos. Seleccionamos la utilidad de manejo de discos. Una vez abierto el programa, seleccionamos la partición del disco que vamos a expandir y abrimos el menú de acciones picando sobre las dos ruedas dentadas y seleccionamos la opción Redimensionar...:


Hay que tener en cuenta que si la partición que queremos ampliar pertenece a una partición extendida, debemos ampliar en primer lugar la partición extendida y posteriormente la partición que queríamos originalmente. Y también que sólo se puede ampliar la partición si es contigua al espacio libre recién creado.

En el cuadro de diálogo que nos aparece movemos la bolita para la derecha si queremos ampliar y para la izquierda si quisiéramos reducir la partición. Esta última acción sí que puede conllevar pérdida de datos. Al ampliar, hasta ahora, yo no he perdido datos. Pero como dije antes, siempre hay que sacar una copia de seguridad de los datos que no queramos perder cuando se está trasteando con el disco.


Después de dar al botón Redimensionar vemos el resultado final ya ocupando el espacio que habíamos querido ampliar:

En Windows 7

La segunda máquina virtual tiene instalado el Windows 7, no disponía de otra versión de Windows más actual para crearla. Pero para propósitos educativos nos vale. Lo explicado en esta sección se puede extrapolar a versiones posteriores de Windows.

En primer lugar, una vez arrancada la máquina virtual, debemos acceder al Administrador de discos. A continuación, abriremos el menú contextual sobre la partición que se quiere ampliar, que tendrá que ser la que está pegada al espacio libre, y eligiendo la opción Extender volumen.


Elegir esta opción nos abre un asistente en el que tendremos que indicar la cantidad de espacio que se quiere aumentar esa partición. Por defecto, estará seleccionado todo el espacio que está sin asignar contiguo a la partición que queremos ampliar.


Como querremos ampliar todo el espacio le damos a Siguiente y después a Finalizar. Una vez terminado el asistente comprobaremos que la partición del disco aparece con el nuevo tamaño.


Y esto es todo en Windows 7.

Una nota final para Windows XP, un sistema del que aún queda alguna máquina por ahí. En este caso, el Administrador de discos no permite extender la partición tal y como se hace en Windows 7. Para realizar el redimensionado utilizaremos una máquina virtual con GNU/Linux, que corra un entorno gráfico, y que tenga instalado el programa GParted, o la propia utilidad de Discos que vimos anteriormente, para el manejo de particiones.

El disco duro recién ampliado se pondrá en la máquina virtual con el GNU/Linux como un disco más. Tras arrancar la máquina virtual invocaremos al GParted o Discos. Tras seleccionar el disco modificado, nos mostrará un espacio sin asignar. Procederemos a ampliarlo usando las opciones de las que dispone el GParted o la utilidad Discos según sea el programa que estemos usando.

Conclusión

Como hemos visto, ampliar el tamaño de un disco en una máquina virtual hecha usando KVM es muy sencillo. El proceso no conlleva pérdida de datos, al menos en todas las pruebas que yo he realizado. Pero sigo insistiendo, mejor sacar una copia de seguridad de los datos que deseamos conservar antes de empezar el proceso.

Comentarios

Entradas populares de este blog

Zed: ahora un editor de código de código abierto

  Zed: ahora un editor de código de código abierto Introducción Como ya les comenté en un artículo anterior  Atom ha muerto, viva ZED , Microsoft dejó de dar soporte para el editor de código Atom en el año 2022 en beneficio del Visual Studio Code . En aquel artículo les comentaba que para mi el sucesor de Atom era Zed pues era un editor que se estaba creando por el mismo grupo de trabajo que creó el Atom . Además de que parecía que iba a seguir con la misma filosofía con la que nació  Atom . El editor Zed, una descripción de sus características Zed es un editor de código desarrollado en Rust que, como deberíamos saber, es un lenguaje de programación de sistemas que se enfoca en la seguridad, el rendimiento y la concurrencia. Pues, como decíamos, Zed acaba de dar el salto a ser de código abierto bajo la licencia GPL v3 . Este cambio no solo representa una nueva era para Zed , sino que también nos dirige a un nuevo mundo de colaboración y desarrollo en el ámbito de la programación.

Atom ha muerto, viva Zed

El día 8 de junio de 2022, Microsoft anunció que a partir del día 31 de diciembre de este mismo año dejaría de dar soporte para el editor de código Atom .  ¿En qué nos afecta esto a nosotros? Bueno, pues si me han seguido en artículos anteriores saben que tras una comparativa de varios IDEs había decidido utilizar Atom para los ejemplos que tuviera que hacer en este blog. Sobre todo los artículos que prepararé para ilustrar el uso de Laravel . Amén de los miles de programadores que actualmente usan Atom  en sus proyectos, claro. Pero, ¿qué editor de código abierto podremos utilizar para sustituir a Atom ? En el mismo comunicado, Microsoft explicaba que el abandono del proyecto Atom  se debía a que querían volcar todos sus esfuerzos en el Visual Studio Code y, por supuesto, recomendó a los usuarios de Atom la utilización del mismo como alternativa natural. No quiero entrar en las bondades o defectos del Visual Studio Code  si quieres elegirlo como tu IDE para desarrollo predeterm

Instalar Code::Blocks en español

Introducción Code::Blocks es un IDE libre diseñado para la programación de C, C++ y FORTRAN construido para proveer las necesidades más demandadas por sus usuarios. Está diseñado para ser muy extensible y totalmente configurable. Está diseñado a partir de un marco de trabajo de extensiones, por lo que puede ser ampliado mediante la instalación de las mismas. De hecho, las funcionalidades de compilación y depuración son extensiones. En este artículo, voy a explicar como instalar el Code::Blocks en un sistema con el Ubuntu 21.10 instalado. La versión de Code::Blocks que hay en los repositorios es la 20.03. Además, explicaré como poner su interfaz en español. Instalando pre-requisitos En primer lugar hemos de asegurarnos que tenemos instalados el compilador y las herramientas de depuración. Por lo que ejecutaremos en una terminal $sudo apt install build-essential gdb Con esto ya es suficiente para el C y C++. Instalando el paquete de Code::Blocks En una distribució