Si necesitas una partición adicional en un servidor en la nube ó necesitas particionar en caliente (mientras tu pc ó servidor está corriendo) entonces te será muy útil lo siguiente.
En Linux es posible usar un loop device como una partición virtual, para ello se apoya en el módulo loop dentro del kernel, el cual está disponible dentro de la mayoría de distribuciones. De esta manera tenemos almacenado dentro de un solo archivo todo el contenido que un disco o partición de disco podría almacenar.
En nuestro caso fue aplicado dentro de Ubuntu y Debian aunque no debería haber ningún problema si es otra distribución. Empecemos.
Lo primero que haremos es habilitar el módulo
modprobe loop
verificamos que esté habilitado
lsmod | grep loop
Si en caso no se encuentra o tampoco aparece en /dev/loop*, agregar en el archivo /etc/modules
loop lp
Y reiniciamos el SO
Usamos dd para crear un archivo de 1GB, en este archivo será donde irá toda nuestra partición
dd if=/dev/zero of=/opt/vdisk count=2048000
Lo atamos a cualquier loop device
losetup /dev/loop0 /opt/vdisk
Verificamos que esté correctamente atado
losetup -a /dev/loop0: [fe00]:786448 (/opt/vdisk)
Y ya tenemos nuestra partición, luego procedemos a formatearla para poder “montarla” como una unidad cualquiera y poder usarlo.
mkfs.ext4 /dev/loop0
Creamos el directorio donde montaremos la partición.
mkdir /mnt/virtual
Montamos el loop device, recordar usar el mismo loop que uso líneas arriba.
mount /dev/loop0 /mnt/virtual
Si quisieramos desligar el loop device del archivo
umount /mnt/virtual losetup -d /dev/loop0
Probablemente de usarlo frecuentemente sea necesario que se monte automaticamente tras cada inicio del SO, esto es posible añadiendo al archivo /etc/fstab
/opt/vdisk /mnt/virtual ext4 loop=/dev/loop0,user,auto,noatime 0 0
Y listo! Ya tenemos nuestra partición “virtual”.