Sistemas de archivos auxiliares en Linux

Hola! estoy aprendiendo a usar docker y estoy con un problema…

Quiero solucionar el siguiente problema que tengo, y es que mi sistemas de archivo personal está quedando corto, y el disco auxiliar que tengo, está formateado con NTFS (no el ext4 que tengo en mi raíz), lo que sí en ese sistema de archivo si tengo mucho espacio disponible.

Entonces que hacer?
y lo que se me ha ocurrido antes cuando tuve un problema similar al instalar Android Studio junto con sus SDK y Emuladores(varios gigas de espacio usados); esto es, crear un archivo de unos 10 gigas aproximadamente, formatearlo como EXT4, y montarlo en mi sistema de archivos para que sea utilizable.

Primero lo primero, hay que crear un archivo de 10 gigas, esto lo hacemos con el comando dd:

bash-4.3$ dd if=/dev/zero of=dockerfs bs=1024 count=10240000

Cuando termine les mostrará algo como esto:

10240000+0 registros leídos
10240000+0 registros escritos
10485760000 bytes (10 GB, 9,8 GiB) copied, 333,287 s, 31,5 MB/s

Ahora tengo un archivo que se llama dockerfs (podrías llamarlo pepitofs también si quisieras) de 10 gigas que podemos comprobar escribiendo:

bash-4.3$ ls -lah | grep dockerfs
-rw-rw-rw- 1 root root 9,8G feb 26 21:34 dockerfs

Lo que sigue es formatearlo como ext4

bash-4.3$ mkfs.ext4 dockerfs 
mke2fs 1.43.1 (08-Jun-2016)
Se está creando un sistema de ficheros con 2560000 bloques de 4k y 640848 nodos-i
UUID del sistema de ficheros: c763e6d6-7956-4e00-bb26-c151e067751d
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Reservando las tablas de grupo: hecho
Escribiendo las tablas de nodos-i: hecho
Creando el fichero de transacciones (32768 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Luego solo queda montar el sistema de archivos, en una carpeta vacía que tengamos, en mi caso será /media/dockerfs

Primero creo la carpeta:

bash-4.3$ sudo mkdir -p /media/dockerfs

Y luego monto en mi sistema de archivos

bash-4.3$ sudo mount dockerfs /media/dockerfs/

Para ver que esté todo en regla ejecutamos el comando df y buscamos el sistema de archivos:

bash-4.3$ df -h | grep dockerfs
/dev/loop2 9,5G 22M 9,0G 1% /media/dockerfs

Y listo, con esto ya tenemos montado el sistema de archivos auxiliar, si quisiéramos que esto se monte automáticamente al iniciar el sistema, en mi caso mi disco NTFS está montado en la carpeta /media/gran-contenedor y dentro de ella el archivo de 10 gigas, entonces agregamos al /etc/fstab la siguiente entrada:

/media/gran-contenedor/dockerfs  /media/dockerfs/ ext4 defaults 0 0

Y listo, con esto al iniciar el sistema, el se encargará de montar nuestro archivo como un sistema ext4 dentro de /media/dockerfs

Hasta la próxima!