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

Firma digital de documentos usando LibreOffice

  Introducción Una firma digital es un proceso mediante el cual se puede consignar a un documento digital la identidad de una persona. Permitiendo, mediante el uso de certificados avalados por autoridades certificadoras, a cualquier persona verificar que el documento digital verdaderamente pertenece a la persona firmante. Además, también previene que, una vez firmado un documento, éste pueda ser modificado. El proceso de firmado se puede realizar utilizando distinto software, como por ejemplo el Autofirma o desde páginas específicas de Internet, casi siempre implicando el uso de applets de Java . En el presente artículo nos vamos a centrar en explicar como realizar dicho proceso de firma y su verificación utilizando la suite ofimática LibreOffice corriendo sobre Ubuntu . Para las pruebas y el desarrollo de este artículo voy a utilizar el  Ubuntu 20.04.3 LTS y el LibreOffice  6.4.7. Verificación del entorno A diferencia de Windows u OSX , en Linux no existe un almacén...

Instalación de Laravel Homestead y (IV)

  En esta entrada, la última de la serie dedicada al Homestead , veremos como llevar a la práctica lo que hemos aprendido hasta ahora. Lo haremos desde dos puntos de vista. Con el Homestead  instalado de forma global y con una instalación por proyecto. De este modo, podrás usar el Homestead de la forma en que más prefieras. Ejecución del entorno Homestead con una instalación global Llegados a este punto, supongo que ya tienen instalado el Homestead  en modo global y configurado el fichero Homestead.yaml . En él pondremos nuestra carpeta compartida ~/code  mapeada a /home/vagrant/code.  Pues ahora lo primero que hay que hacer es crear la máquina virtual. En el directorio donde instalamos nuestro Homestead : cd /Homestead vagrant up   Durante un buen rato se estará creando la máquina virtual, automáticamente se irá descargando e instalando el software definido en Homestead.yaml . Esto sólo ocurrirá la primera vez que se cree la máquina virtual. Las sigu...

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ó...