Uso de Mergefs para aumentar su almacenamiento virtual

¿Qué sucede si tiene varios discos o particiones que le gustaría usar para un proyecto de medios y no quiere perder ninguno de sus datos existentes, pero le gustaría tener todo ubicado o montado en una sola unidad? ¡Ahí es donde las fusiones pueden acudir a su rescate!

fusiones es un sistema de archivos de unión orientado a simplificar el almacenamiento y la gestión de archivos en numerosos dispositivos de almacenamiento de productos básicos.

Deberá obtener el último RPM de su página de github aquí . Los lanzamientos para Fedora tener f.c. y el número de versión en el nombre. Para example aquí está la versión para Fedora 31:

fusiónfs-2.29.0-1.fc31.x86_64.rpm

Instalación y configuración de fusiones

Instale el paquete fusionfs que ha descargado usando sudo:

                      $ sudo dnf install mergerfs-2.29.0-1.fc31.x86_64.rpm
                    

Ahora podrá montar varios discos como una sola unidad. Esto es útil si tiene un servidor de medios y desea que todos sus archivos de medios se muestren en una sola ubicación. Si carga archivos nuevos en su sistema, puede copiarlos en su directorio de fusionfs y fusionfs los copiará automáticamente en cualquier unidad que tenga suficiente espacio libre disponible.

Aquí hay un example para que sea más fácil de entender:

                      $ df -hT | grep disk
/dev/sdb1      ext4      23M  386K 21M 2% /disk1
/dev/sdc1      ext4      44M  1.1M 40M 3% /disk2

$ ls -l /disk1/Videos/
total 1
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
total 2
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv
                    

En esto example hay dos discos montados como disk1 y disk2. Ambos discos tienen un Vídeos directorio con archivos existentes.

Ahora vamos a montar esas unidades usando fusiones para que parezcan una unidad más grande.

                      $ sudo mergerfs -o defaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=1M /disk1:/disk2 /media
                    

La página del manual de fusionfs es bastante extensa y compleja, por lo que desglosaremos las opciones que se especificaron.

  • predeterminados: esto usará la configuración predeterminada a menos que se especifique.
  • allow_other: permite a los usuarios además sudo o root para ver el sistema de archivos.
  • use_ino: hace que fusionfs suministre inodos de archivo/directorio en lugar de libfuse. Si bien no es un valor predeterminado, se recomienda habilitarlo para que los archivos vinculados compartan el mismo valor de inodo.
  • category.create=mfs: Distribuye los archivos a través de sus unidades según el espacio disponible.
  • moveonenospc=true: si está habilitado, si falla la escritura, se realizará un escaneo buscando la unidad con más espacio libre.
  • minfreespace=1M: El valor de espacio mínimo utilizado.
  • disk1: primer disco duro.
  • disk2: Segundo disco duro.
  • /media: la carpeta del directorio donde se montan las unidades.

Esto es lo que parece:

                      $ df -hT | grep disk 
/dev/sdb1  ext4           23M      386K 21M 2% /disk1 
/dev/sdc1  ext4           44M      1.1M 40M 3% /disk2 

$ df -hT | grep media 
1:2        fuse.mergerfs  66M      1.4M 60M 3% /media 
                    

Puede ver que el montaje fusionfs ahora muestra una capacidad total de 66M, que es el total combinado de los dos discos duros.

Usando fusiones

Continuando con el example:

Hay un video de 30Mb llamado Baby’s second Xmas.mkv. Vamos a copiarlo en la carpeta /media que es el montaje de fusionfs.

                      $ ls -lh "Baby's second Xmas.mkv"
-rw-rw-r--. 1 curt curt 30M Apr 20 08:45 Baby's second Xmas.mkv
$ cp "Baby's second Xmas.mkv" /media/Videos/
                    

Aquí está el resultado final:

                      $ df -hT | grep disk
/dev/sdb1  ext4          23M 386K 21M 2% /disk1
/dev/sdc1  ext4          44M 31M 9.8M 76% /disk2

$ df -hT | grep media
1:2        fuse.mergerfs 66M 31M 30M 51% /media
                    

Puede ver en la utilización del espacio en disco que MergeFs copió automáticamente el archivo en el disco 2 porque el disco 1 no tenía suficiente espacio libre.

Aquí hay un desglose de todos los archivos:

                      $ ls -l /disk1/Videos/
total 1
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
total 30003
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 Baby's second Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv

$ ls -l /media/Videos/
total 30004
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 Baby's second Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv
                    

Cuando copie archivos en su montaje de Mernerfs, siempre copiará los archivos en el disco duro que tenga suficiente espacio libre. Si ninguna de las unidades del grupo tiene suficiente espacio libre, no podrá copiarlas.

Related Posts