Noticias
Nueva ubicación en Kazajstán: Almaty High Performance
MW
Michael Williams
Junio ​​4 2026
Actualizado el 9 de junio de 2026

Cómo crear un disco virtual en Linux?

Linux Ubuntu

Al administrar servidores, a menudo se necesita espacio en disco flexible: almacenamiento ultrarrápido temporal para la caché, un contenedor aislado para probar sistemas de archivos, un volumen cifrado para datos confidenciales o la capacidad de ampliar un disco sobre la marcha sin interrumpir un servicio. En todos estos casos, la solución es crear un disco virtual: un dispositivo de bloques que no está directamente vinculado a un soporte físico.

En este artículo, mostraremos cómo crear discos virtuales de cuatro tipos principales en Linux: dispositivos de bucle (basado en archivos), tmpfs (en RAM), volúmenes LVM (gestión flexible) y Cifrado LUKSPara cada tipo, proporcionamos instrucciones paso a paso con comandos y ejemplos de resultados reales. El material está dirigido a administradores de sistemas, ingenieros de DevOps, desarrolladores y cualquier persona que trabaje con servidores, incluidos los entornos en la nube.

Terminología

  • Disco virtual – un dispositivo de bloques (/dev/algo) que no corresponde a un disco físico. Puede ser un archivo, parte de RAM, un volumen lógico o una capa cifrada.
  • Dispositivo de bucle (/dev/loop*) – un mecanismo que permite presentar un archivo ordinario como un dispositivo de bloques. Se utiliza para montar imágenes ISO y crear discos virtuales a partir de archivos.
  • tmpfs – un sistema de archivos temporal que almacena datos en RAM (Cuando la memoria es escasa, utiliza la memoria de intercambio). Es muy rápido, pero se pierden datos al reiniciar.
  • LVM (Administrador de volúmenes lógicos) – Un subsistema que añade una capa de abstracción entre los discos y los sistemas de archivos. Permite combinar discos, redimensionar volúmenes y crear instantáneas.
  • Instantánea – una copia “congelada” instantánea de un volumen que ocupa poco espacio y permite revertir los cambios.
  • Aprovisionamiento ligero – una tecnología en la que se asigna un tamaño máximo a un volumen virtual, pero el espacio físico se destina únicamente a los datos que se escriben realmente.
  • LUKS (Linux Configuración de clave unificada) – un estándar de cifrado de disco que funciona sobre el mapeador de dispositivos.

Cómo funcionan los discos virtuales

El Linux El kernel trabaja con dispositivos de bloques a través de una interfaz unificada. Cuando un programa o sistema de archivos accede a /dev/loop0 or /dev/mapper/secret, el kernel redirige las solicitudes al controlador apropiado: un dispositivo de bucle lee/escribe en un archivo ordinario, tmpfs a RAM, LVM a volúmenes físicos según una tabla de asignación, y dm-crypt primero descifra los datos (en lectura) o los cifra (en escritura).

Esto permite crear “discos” donde no existe ningún disco físico y lograr las propiedades deseadas: velocidad, aislamiento, cifrado transparente o tamaño redimensionable.

Casos de uso prácticos (Escenarios principales)

Escenario Tipo de disco virtual Por que elegirlo
Caché rápido, archivos de compilación temporales tmpfs Velocidad máxima, limpieza automática
Montar una imagen ISO sin escribir en un medio físico loops Sencillez, no se necesita accionamiento físico.
Expansión de disco flexible en un servidor en funcionamiento LVM Cambiar el tamaño sin recrear el sistema de archivos.
Copia de seguridad instantánea antes de una actualización Instantánea de LVM Tarda segundos y ocupa poco espacio.
Almacenamiento de secretos (bases de datos, certificados) LUKS (dm-crypt) Sin la contraseña, no se pueden leer los datos.
Ahorro de espacio en virtualización o contenedores aprovisionamiento ligero de LVM Se asignaron 100 GB, se utilizaron 10 GB.

Guía práctica: Cómo crear un disco virtual en Linux

Todos los comandos se ejecutan con sudo (Si no eres el usuario root). Se proporcionan ejemplos de salida para su verificación.

1. Creación de un disco virtual mediante un dispositivo de bucle (a partir de un archivo)

Meta: crear un archivo disco_virtual.img, conviértelo en el dispositivo de bloques /dev/loop0Formatéalo y móntalo.

Crea un archivo vacío de 1 GB:

sudo dd if=/dev/zero of=virtual_disk.img bs=1M count=1024

Rendimiento esperado:

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.123456 s, 8.7 GB/s

Asocie el archivo con un dispositivo de bucle libre:

sudo losetup --find --show virtual_disk.img

Salida esperada (el número del dispositivo de bucle puede variar):

/dev/loop0

Compruebe que el dispositivo haya aparecido (utilice el número de dispositivo de bucle que se muestra a partir de este paso):

lsblk /dev/loop0

Rendimiento esperado:

NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0       7:0    0    1G  0 loop

Cree un sistema de archivos (ext4):

sudo mkfs.ext4 /dev/loop0

Resultado esperado (abreviado):

mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
...
Writing superblocks and filesystem accounting information: done

Móntalo:

sudo mkdir -p /mnt/vdisk
sudo mount /dev/loop0 /mnt/vdisk
df -h /mnt/vdisk

Rendimiento esperado:

Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      974M   24K  907M   1% /mnt/vdisk

Una vez finalizado, desmonte y suelte el dispositivo de bucle:

sudo umount /mnt/vdisk
sudo losetup -d /dev/loop0

2. Creación de un disco tmpfs en RAM

Meta: se le pedirá crear /mnt/ramdisk partición de 2 GB que funciona en RAM.

Cree el punto de montaje y monte tmpfs con un límite de 2 GB:

sudo mkdir -p /mnt/ramdisk
sudo mount -t tmpfs -o size=2G tmpfs /mnt/ramdisk

Rendimiento esperado: <font dir="auto" style="vertical-align: inherit;">las </font> montar El comando no imprime nada si tiene éxito.

Verificar:

df -h /mnt/ramdisk

Rendimiento esperado:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           2.0G     0  2.0G   0% /mnt/ramdisk

(Opcional) Compruebe la velocidad de escritura:

dd if=/dev/zero of=/mnt/ramdisk/test bs=1M count=500

Rendimiento esperado: velocidad muy alta (gigabytes por segundo).

Elimine el archivo de prueba y desmonte el equipo (se perderán los datos):

sudo rm /mnt/ramdisk/test
sudo umount /mnt/ramdisk

Montaje automático al arrancar: agregar una línea a / etc / fstab:

tmpfs  /mnt/ramdisk  tmpfs  defaults,size=2G  0  0

3. Creación de un volumen LVM (disco virtual lógico)

Meta: desde el disco / dev / vdb Cree un volumen físico (PV), un grupo de volúmenes (VG) y un volumen lógico (LV) de 10 GB, y luego amplíelo a 15 GB sin desmontarlo.

Nota: : trabajar con particiones requiere la lvm2 paquete (Administrador de volumen lógico).

Supongamos que tiene un disco adicional. / dev / vdb (o / dev / sdb) sin particiones en él (para borrar particiones (se perderán los datos, No utilice un disco que contenga datos importantes.) utilizar sudo wipefs -a /dev/sdb).

Crear un volumen físico:

sudo pvcreate /dev/vdb

Rendimiento esperado:

  Physical volume "/dev/vdb" successfully created.

Crear un grupo de volúmenes:

sudo vgcreate vg_data /dev/vdb

Rendimiento esperado:

  Volume group "vg_data" successfully created

Cree un volumen lógico de 10 GB:

sudo lvcreate -L 10G -n lv_storage vg_data

Rendimiento esperado:

Logical volume "lv_storage" created.

Formatear y montar:

sudo mkfs.ext4 /dev/vg_data/lv_storage
sudo mkdir -p /mnt/storage
sudo mount /dev/vg_data/lv_storage /mnt/storage

Salida esperada de mkfs.ext4: un mensaje sobre la creación del sistema de archivos.

Comprueba el tamaño:

df -h /mnt/storage

Rendimiento esperado:

Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_storage  9.8G   24K  9.3G   1% /mnt/storage

Amplíe el volumen a 15 GB (sobre la marcha):

sudo lvextend -L 15G /dev/vg_data/lv_storage

Rendimiento esperado:

  Size of logical volume vg_data/lv_storage changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume vg_data/lv_storage successfully resized.

Expanda el sistema de archivos (para ext4):

sudo resize2fs /dev/vg_data/lv_storage

Rendimiento esperado:

resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/vg_data/lv_storage is mounted on /mnt/storage; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/vg_data/lv_storage is now 3932160 (4k) blocks long.

Comprueba la nueva talla:

df -h /mnt/storage

Rendimiento esperado:

Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_storage   15G   24K   14G   1% /mnt/storage

Creación de una instantánea (copia instantánea) para realizar copias de seguridad:

Crea una instantánea de 1 GB:

sudo lvcreate -L 1G -s -n lv_snapshot /dev/vg_data/lv_storage

Rendimiento esperado:

  Logical volume "lv_snapshot" created.

Montar la instantánea y copiar los datos:

sudo mkdir -p /mnt/snapshot
sudo mount /dev/vg_data/lv_snapshot /mnt/snapshot
ls /mnt/snapshot

Después de la copia de seguridad, elimine la instantánea:

sudo umount /mnt/snapshot
sudo lvremove /dev/vg_data/lv_snapshot

Resultado esperado tras la eliminación:

Do you really want to remove active logical volume vg_data/lv_snapshot? [y/n]: y
  Logical volume "lv_snapshot" successfully removed.

4. Creación de un disco virtual cifrado (LUKS)

Meta: cifrar disco /dev/vdc (o cualquier otro) usando LUKS, ábralo como /dev/mapper/secrety montarlo.

Nota: Esta operación destruirá los datos en /dev/vdc.

Nota: : trabajar con particiones requiere la cripta paquete (una utilidad de código abierto; se utiliza para configurar el cifrado de disco basado en el módulo del kernel dm-crypt).

Inicialice LUKS (establezca una frase de contraseña):

sudo cryptsetup luksFormat /dev/vdc

Rendimiento esperado:

WARNING!
========
This will overwrite data on /dev/vdc irrevocably.

Are you sure? Type uppercase yes: YES
Enter passphrase for /dev/vdc: ********
Verify passphrase: ********

Abra el dispositivo (/dev/mapper/secret se crea):

sudo cryptsetup open /dev/vdc secret

Rendimiento esperado: (después de introducir la contraseña) nada, o en modo detallado: Introduzca la contraseña para /dev/vdc:

Compruebe que el dispositivo apareció:

lsblk /dev/mapper/secret

Rendimiento esperado:

NAME      MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
secret    253:0    0    1G  0 crypt

Cree un sistema de archivos y móntelo:

sudo mkfs.ext4 /dev/mapper/secret
sudo mkdir -p /mnt/encrypted
sudo mount /dev/mapper/secret /mnt/encrypted
df -h /mnt/encrypted

Rendimiento esperado:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/secret   974M   24K  907M   1% /mnt/encrypted

Trabaje con el disco cifrado. Después de reiniciar, debe ejecutar cryptsetup abierto de nuevo.

Cómo cerrar y reabrir:

sudo umount /mnt/encrypted
sudo cryptsetup close secret

5. Creación de un volumen LVM delgado con ahorro de espacio

Meta: crear un pool delgado de 50 GB y un volumen para el que establecemos un "techo" de 200 GB, pero físicamente solo ocupará los datos que realmente se escriban.

Nota: : trabajar con particiones requiere la lvm2 paquete (Administrador de volumen lógico).

Cree una piscina delgada (suponga que el grupo de volumen vg_data ya existe):

sudo lvcreate -L 50G -T vg_data/thin_pool

Rendimiento esperado:

  Logical volume "thin_pool" created.

Cree un volumen delgado con un tamaño virtual de 200 GB:

sudo lvcreate -V 200G -T vg_data/thin_pool -n thin_volume

Rendimiento esperado:

  Logical volume "thin_volume" created.

Formatear y montar:

sudo mkfs.ext4 /dev/vg_data/thin_volume
sudo mkdir -p /mnt/thin
sudo mount /dev/vg_data/thin_volume /mnt/thin

Compruebe el uso real (Datos% — porcentaje de espacio utilizado en la piscina):

sudo lvs -a -o +pool_lv,data_percent,metadata_percent

Resultado esperado (ejemplo):

  LV          VG      Attr       LSize   Pool     Data%  Meta%
  thin_pool   vg_data twi-a-tz--  50.00g           0.01   0.02
  thin_volume vg_data Vwi-a-tz-- 200.00g thin_pool 0.01

Aquí Datos% = 0.01 significa que de los 50 GB del pool solo se utilizan unos 5 MB, mientras que el volumen aparece como de 200 GB.

Conclusión

Este artículo ha mostrado cómo crear un disco virtual en Linux de cuatro maneras diferentes: un dispositivo de bucle basado en un archivo (conveniente para experimentos e imágenes), tmpfs en RAM (máxima velocidad), un volumen LVM (gestión de tamaño flexible y instantáneas) y cifrado LUKS (seguridad para datos confidenciales). Cada uno de estos métodos resuelve tareas específicas en el trabajo diario de un administrador, desarrollador o ingeniero de DevOps.

Ahora usted puede:

  • Montar cualquier imagen ISO o crear un disco de prueba dentro de un archivo;
  • Configurar una caché ultrarrápida o un almacenamiento temporal en la memoria;
  • Administrar el espacio en disco del servidor sin interrumpir los servicios (expansión de LVM, instantáneas);
  • Proteger los datos mediante cifrado;
  • Ahorre espacio físico utilizando el aprovisionamiento ligero de LVM.

Utilice estas instrucciones como una guía rápida al configurar servidores, tanto propios como en infraestructura en la nube. Todos los comandos han sido probados y funcionan en la versión actual. Linux distribuciones (Ubuntu 22.04 + Debian 12 + CentOS/RHEL 9+).

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

También le podría interesar...

Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de privacidad.