S3QL crea un sistema de archivos sobre un servicio de almacenamiento y lo presenta como un directorio local. El ciclo habitual incluye crear el sistema de archivos, montarlo, trabajar con los datos, desmontarlo de forma ordenada y verificar periódicamente su estado [1].
Los comandos siguientes usan un endpoint ficticio. Sustitúyelo por la misma URL de almacenamiento y las credenciales que configuraste para tu backend. No ejecutes mkfs.s3ql sobre un prefijo que contenga datos que deban conservarse: S3QL espera administrar en exclusiva los objetos asociados a esa URL [1].
Preparar el punto de montaje y la caché
Crea un directorio para el montaje y otro para la caché local:
sudo mkdir -p /mnt/s3ql /var/cache/s3ql
Ajusta propietario y permisos para que la cuenta que ejecutará S3QL pueda escribir en ambos directorios. La caché contiene bloques locales y debe estar en un volumen con espacio suficiente; su contenido no sustituye al almacenamiento remoto [2].
Crear el sistema de archivos
Inicializa un prefijo nuevo con mkfs.s3ql:
mkfs.s3ql \
--authfile /etc/s3ql/authinfo2 \
--cachedir /var/cache/s3ql \
s3c4://almacenamiento.ejemplo:443/bucket-s3ql/servidor/
S3QL solicitará la frase de cifrado durante la creación, salvo que se indique explícitamente --plain, opción que crea un sistema sin cifrar. Guarda la frase de forma segura: no se toma del archivo de autenticación durante la creación para evitar que un error deje el sistema sin cifrado [1].
El archivo authinfo2 debe contener las credenciales del backend para esa URL. Después de crear el sistema, puedes guardar también fs-passphrase allí si necesitas que operaciones posteriores se ejecuten sin pedirla interactivamente [3].
Montar y usar el sistema
Monta el sistema de archivos indicando la misma URL, el archivo de autenticación y el punto de montaje:
mount.s3ql \
--authfile /etc/s3ql/authinfo2 \
--cachedir /var/cache/s3ql \
--cachesize 1048576 \
s3c4://almacenamiento.ejemplo:443/bucket-s3ql/servidor/ \
/mnt/s3ql
--cachesize se expresa en KiB. Ajusta el valor al espacio disponible y al patrón de uso; una caché mayor puede reducir accesos al backend, pero también consume más disco local [2].
Comprueba que el montaje está activo y prueba primero con archivos no críticos. Por defecto, S3QL permite acceso al usuario que lo montó. Añade --allow-other solo si otros usuarios locales necesitan acceder y configura FUSE de acuerdo con la política del sistema [2].
S3QL no es un sistema de archivos de red y solo puede montarse en un equipo a la vez. Puede exportarse mediante NFS desde el equipo que lo monta, pero los clientes NFS deben desmontar y volver a montar si una reparación fsck.s3ql modifica el sistema de archivos [2].
Desmontar sin interrumpir las escrituras
Cuando termines, desmonta con la herramienta de S3QL:
umount.s3ql /mnt/s3ql
El comando espera a que los datos pendientes se escriban en el backend [4]. Para un apagado o una operación de mantenimiento, espera a que termine. fusermount -u y umount pueden separar el punto de montaje sin esperar a que finalice la subida, por lo que no son sustitutos seguros para el desmontaje rutinario [4].
Comprobar la integridad
Ejecuta periódicamente fsck.s3ql para revisar y, si hace falta, corregir problemas en la estructura interna. Si el sistema no se desmontó correctamente, la comprobación es necesaria antes de montarlo de nuevo [5]. Hazlo con el sistema desmontado:
fsck.s3ql \
--authfile /etc/s3ql/authinfo2 \
--cachedir /var/cache/s3ql \
s3c4://almacenamiento.ejemplo:443/bucket-s3ql/servidor/
fsck.s3ql confía en lo que informa el backend sobre la existencia de los objetos. Para comprobar que los objetos se pueden recuperar realmente, usa s3ql_verify [5]:
s3ql_verify \
--authfile /etc/s3ql/authinfo2 \
--cachedir /var/cache/s3ql \
s3c4://almacenamiento.ejemplo:443/bucket-s3ql/servidor/
La opción s3ql_verify --data lee el contenido completo de cada objeto y puede transferir todos los datos almacenados. Planifica esa revisión según el tamaño del sistema y el coste de acceso al backend [5].
Resumen
- Inicializa una URL nueva y exclusiva con
mkfs.s3ql; guarda la frase de cifrado. - Monta y desmonta con los comandos propios de S3QL.
- Reserva espacio local para la caché y limita el acceso al montaje a quienes lo necesiten.
- No montes el mismo sistema S3QL desde varios equipos simultáneamente [2].
- Distingue
fsck.s3ql, que revisa estructuras internas, des3ql_verify, que comprueba el acceso a los objetos del backend [5].
📚 Fuentes consultadas
- File System Creation — S3QL 6.3.1 User’s Guide
- Mounting — S3QL 6.3.1 User’s Guide
- Storing Backend Information and Credentials — S3QL User’s Guide
- Unmounting — S3QL 6.3.1 User’s Guide
- Checking for Errors — S3QL 6.3.1 User’s Guide