Antes de profundizar, entendamos qué es un disco virtual. Un disco virtual es simplemente un archivo que actúa como una unidad de disco física. Piense en ello como la creación de un archivo contenedor que el sistema operativo puede tratar como si fuera un disco duro real. Esto es similar a cómo las máquinas virtuales utilizan archivos de disco virtual para almacenar sus datos.
Antes de proceder con la parte práctica, entendamos algunos conceptos importantes:
-
Primero, creemos un disco virtual de 256MB usando el comando dd:
dd if=/dev/zero of=virtual.img bs=1M count=256
Desglosemos este comando:
dd es una utilidad para copiar y convertir archivos.
if=/dev/zero significa "archivo de entrada es /dev/zero" (un archivo especial que proporciona ceros infinitos).
of=virtual.img significa "archivo de salida es virtual.img" (nuestro nuevo archivo de disco virtual).
bs=1M establece el tamaño del bloque en 1 megabyte (cuántos datos copiar a la vez).
count=256 significa copiar 256 bloques (lo que resulta en un archivo de 256MB).
Esto crea un archivo vacío lleno de ceros que usaremos como nuestro disco virtual.
-
Verifique el tamaño del archivo:
ls -lh virtual.img
Debería ver que virtual.img tiene exactamente 256MB.
-
Ahora, vamos a formatear este disco virtual con un sistema de archivos ext4:
sudo mkfs.ext4 virtual.img
¿Qué está pasando aquí? Este comando:
- Crea un nuevo sistema de archivos ext4 dentro de nuestro archivo de disco virtual.
- Establece la estructura básica necesaria para almacenar archivos y directorios.
- Es similar a formatear una nueva unidad USB antes de su primer uso.
El sistema de archivos ext4 es el predeterminado para muchas distribuciones de Linux porque es confiable y está muy probado.
-
A continuación, necesitamos crear un punto de montaje. Este es el directorio donde aparecerá el contenido de nuestro disco virtual:
sudo mkdir /mnt/virtualdisk
Piense en un punto de montaje como una "ventana" hacia su disco virtual. Después de montar, cuando mire dentro de este directorio, estará viendo realmente el contenido del disco virtual.
-
Ahora podemos montar el disco virtual:
sudo mount -o loop virtual.img /mnt/virtualdisk
Desglosemos lo que está sucediendo:
- La opción
-o loop le indica a Linux que trate nuestro archivo como si fuera un dispositivo de disco real.
virtual.img es nuestra fuente (el disco virtual que creamos).
/mnt/virtualdisk es donde queremos que aparezca el contenido.
Esto es similar a lo que sucede automáticamente cuando conecta una unidad USB, excepto que lo estamos haciendo manualmente con nuestro archivo de disco virtual.
-
Verifiquemos que el disco esté montado:
mount | grep virtualdisk
Debería ver una línea indicando que virtual.img está montado en /mnt/virtualdisk.
-
Ahora que está montado, podemos usarlo como cualquier otro directorio. Vamos a crear un archivo:
sudo touch /mnt/virtualdisk/testfile
ls /mnt/virtualdisk
Debería ver testfile en la lista.
-
Cuando haya terminado de usar el disco virtual, debe desmontarlo:
sudo umount /mnt/virtualdisk
El desmontaje elimina el sistema de archivos de ese directorio, asegurando que el sistema operativo finalice todas las operaciones de lectura y escritura pendientes antes de desconectarlo. No desmontar correctamente puede provocar la corrupción de datos. Aunque la sintaxis del comando se centra en desmontar el directorio, internamente el sistema operativo sabe que este directorio corresponde a la imagen de disco montada.
Este proceso de creación, formateo y montaje de un disco virtual es muy similar a lo que sucede cuando conecta un nuevo disco duro o una memoria USB. La principal diferencia es que estamos haciendo todo con un archivo en lugar de un dispositivo físico.
Montar un sistema de archivos significa adjuntarlo a un directorio específico para que el sistema operativo pueda acceder a los datos dentro del sistema de archivos. En este laboratorio, el archivo de imagen de disco virtual se trata como si fuera un disco físico, y el montaje hace que su contenido esté disponible en un directorio particular (por ejemplo, /mnt/virtualdisk).