Configuración de S3FS con StorageGRID
S3FS es un cliente open-source gratuito por línea de comandos que permite montar un bucket S3 como si se tratase de un sistema de ficheros, preservando el formato nativo de los objetos al igual que lo hace la herramienta S3CMD.
Instalación
En la documentación oficial de S3FS se dispone de los pasos necesarios para la instalación de diferentes sistemas operativos. A acontinuación se muestran los pasos para un sistema CentOS 7.
sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure
make
sudo make install
Configuración
Una vez instalado hay que almacenar las claves S3 en un fichero de credenciales.
echo MYS3ACCESSKEY:MYS3SECRETKEY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
Y crear un punto de montaje donde montar el bucket S3.
mkdir /mnt/s3fs
Ejemplo
Tras ello hay que montar el bucket S3 sobre el punto de montaje deseado utilizando el software S3FS.
s3fs s3fs-bucket /mnt/s3fs \
-o passwd_file=~/.passwd-s3fs \
-o url=https://my_gateway_storagegrid.mydomain.com:8082 \
-o sigv2 -o no_check_certificate \
-o use_path_request_style
Tras copiar varios ficheros al directorio, se pueden listar estos ficheros de forma habitual.
[root@Linux1 ~]# cd /mnt/s3fs/
[root@Linux1 s3fs]# ls -al
total 219
drwx------. 1 root root 0 Dec 31 1969 .
drwxr-xr-x. 4 root root 28 Oct 3 01:29 ..
-rw-------. 1 root root 1044 Oct 3 02:20 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 221483 Oct 3 02:20 configure
-rw-r--r--. 1 root root 10 Oct 3 01:39 file1.txt
Y nos podemos conectar con el cliente nativo de AWS S3 y listar el contenido del bucket para verificar la consistencia de los ficheros guardados.
[root@Linux1]# cat ~/.aws/credentials
[storagegrid]
aws_access_key_id = MYS3ACCESSKEY
aws_secret_access_key = MYS3SECRETKEY
aws s3 ls s3://s3fs-bucket/ --profile storagegrid --endpoint-url https://my_gateway_storagegrid.mydomain.com:8082 --no-verify-ssl
2018-10-03 02:20 1044 s3://s3fs-bucket/anaconda-ks.cfg
2018-10-03 02:20 221483 s3://s3fs-bucket/configure
2018-10-03 01:39 10 s3://s3fs-bucket/file1.txt