bindfs: Montar un directorio remoto en otra ubicación | Algo de Linux

viernes, 14 de diciembre de 2012

bindfs: Montar un directorio remoto en otra ubicación

bindfs es un sistema de ficheros fuse que nos va a permitir montar un directorio en otra ubicación, de forma similar a cuando usamos --bind. ¿Y me diréis: para qué puede servirme ésto? Bueno, pues vamos a verlo con un ejemplo real y práctico:

Imaginemos que tenemos una máquina que utilizamos como servidor de clonación con dos discos duros: Uno en el que se encuentra el sistema operativo, y, otro, en el que almacenamos las copias de seguridad. 

Supongamos que vamos a guardar las imágenes de clonación en /var/ies_backups/partimag, que es un directorio del segundo disco duro y clonezilla siempre busca por defecto las imágenes en /home/partimag, que se encuentra en el primer disco duro.

Y me diréis: Esto es fácil. Creo un enlace simbólico y listo. Bueno, pues no. Esta solución no sirve. Si lo hacéis así, cuando clonezilla trate de hacer el montaje de /home/partimag fallará y os dará un error como el siguiente:

No disk image is found in /home/partimag.. Make sure you already saved an image! Program terminated!!!! 

Esto es porque sshfs no permite montar un enlace.

Así que la solución para este problema es usar bindfs. Veamos cómo:

Primero.- Instalamos bindfs, si no lo tenemos instalado ya:

# apt-get install bindfs
Segundo.- Una vez instalado, ejecutamos el comando:

# bindfs --perms=a-w /var/ies_backups/partimag /home/partimag
Lo que  estamos haciendo es "montar"  el directorio /var/ies_backups/partimag en /home/partimag (algo que no podríamos hacer con un simple mount)

Además, lo estamos "montando" sin permiso de escritura para los usuarios que no sean root con la opción --perms=a-w.

Este montaje es temporal, hasta que se apague la máquina. Si quisiéramos hacerlo permanente, podríamos añadir las instrucciones de montaje al fstab.

# echo "bindfs#/var/ies_backups/partimag /home/partimag fuse perms=a-w 0 0" >> /etc/fstab
Bindfs nos ofrece muchas opciones para ajustar los permisos, propietarios y grupos de un archivo. Veamos un ejemplo:

Supongamos que no tengo mucho espacio en mi home y quiero montar mi carpeta de Dropbox en otra unidad, de forma que el propietario sea yo. Podría hacer lo siguiente:

# bindfs --user=gestor /var/ies_backups/Dropbox /home/gestor/Dropbox

Y para hacerlo permanente, tan sólo tengo que añadir al fstab:

# echo "bindfs#/var/ies_backups/Dropbox /home/gestor/Dropbox fuse user=gestor 0 0" >> /etc/fstab

1 comentario:

Unknown dijo...

Buen aporte! quiero hacer esto pero en centos, ya que tengo mi disco duro lleno del ftp