Às vezes, nos deparamos com a necessidade de compartilhar o armazenamento entre várias instâncias na nuvem ou on-premise no estilo do Amazon Elastic File System (EFS). Ou podemos hospedar os dados do nosso site em um bucket sem a necessidade de uma API, garantindo que o desempenho não seja significativamente afetado.
Antes de começarmos, vamos entender o que é o Object Storage é um serviço de armazenamento de objetos que oferece escalabilidade, disponibilidade de dados, segurança e desempenho.
Um grande diferencial do Object Storage da Clouds2Africa para empresas/indivíduos nos países: Angola 🇦🇴 , Brasil 🇧🇷 , Nigéria 🇳🇬 e África do Sul 🇿🇦 é que os dados residem no país, garantindo baixa latência, desempenho excelente e conformidade com LGPD, GDPR e ANPD ou similares.
vamos para a instalação…
Aceda sua instancia via ssh, eu uso o Termius mas podes usar qualquer outro, mas o termius é o melhor 😎.
Atualização do Sistema
Antes de qualquer instalação, atualize a VM com os comandos (para Ubuntu):
sudo apt update && sudo apt upgrade -y
Instalação do s3fs
Vamos usar o s3fs no servidor , para isto, na vm digite o comando
sudo apt-get install s3fs
Crie um arquivo /etc/passwd-s3fs contendo suas credenciais do S3 no seguinte formato: ACCESS_KEY:SECRET_KEY
sudo nano /etc/passwd-s3fs
Substitua ACCESS_KEY
and SECRET_KEY
pelos valores reais de suas credenciais S3
Defina as permissões do arquivo de credenciais passwd-s3fs
sudo chmod 600 /etc/passwd-s3fs
Crie uma pasta com o nome s3, ela será usado nos próximos passos para montar o object storage.
sudo mkdir /mnt/s3
Feito isto, mbora montar o nosso s3
s3fs s3-central /mnt/s3 -o passwd_file=/etc/passwd-s3fs -o allow_other -o url=https://obj-lad01.clouds2africa.com/ -o use_path_request_style
PS: não esqueça de alterar o nome do bucket s3-central para o seu bucket.
Após o comando. acima, não receberás qualquer resposta, use o comando df -h
ou mount
para verificar se o object storage foi montado corretamente:
root@ac-vm-tests3:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 98M 980K 97M 1% /run
/dev/vda1 15G 2.0G 13G 14% /
tmpfs 486M 0 486M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda15 105M 6.1M 99M 6% /boot/efi
tmpfs 98M 4.0K 98M 1% /run/user/1000
s3fs 16E 0 16E 0% /mnt/s3
Conseguimos ver o último elemento da lista, é o nosso s3, mostrando que foi devidamente montado.
Vamos aceder o object storage e criar uma pasta, um arquivo .txt e lista-los, de igual modo verificar na console do object storage da clouds2africa a existência.
root@ac-vm-tests3:~# cd /mnt/s3/
root@ac-vm-tests3:/mnt/s3# ls
root@ac-vm-tests3:/mnt/s3# mkdir s3clouds2africa
root@ac-vm-tests3:/mnt/s3# cd s3clouds2africa/
root@ac-vm-tests3:/mnt/s3/s3clouds2africa# nano s3.txt
root@ac-vm-tests3:/mnt/s3/s3clouds2africa# ls
s3.txt
root@ac-vm-tests3:/mnt/s3/s3clouds2africa#
via cli é possível aceder o object storage, bem como fazer as operações anteriormente citadas.
Acedendo a console do object storage, é possível visualizar a pasta e os arquivos criados pela vm:
Neste momento temos o storage montado como drive, o que permite o seu normal acesso e partilha de files como se de uma pasta partilhada na rede se trata-se.
No entanto com a configuração feita ate aqui, se desligarmos ou reinicializarmos a vm, o Storage será desmontado e teríamos de refazer o Mount toda vez que isto acontecesse.
Para resolver isto, vamos editar o ficheiro fstab e adicionar uma linha no final, isto garantirá que o s3 seja montado automaticamente durante a inicialização da VM:
sudo nano /etc/fstab
Com o ficheiro fstab aberto adicione os parâmetros do Storage:
s3fs#s3-central /mnt/s3 fuse _netdev,allow_other,passwd_file=/etc/passwd-s3fs,url=https://obj-lad01.clouds2africa.com/,use_path_request_style 0 0
A nova linha no arquivo deve ter a aparência da imagem abaixo:
faça reboot na VM para validar se a configuração esta a funcionar como definido.
root@ac-vm-tests3:/mnt/s3/s3clouds2africa# sudo reboot
PS: Não faça isto em produção, caso não sejas o Rambo 😎
Após a VM reiniciar, use o comando df -h
ou mount
para verificar se o Storage foi novamente montado corretamente:
ubuntu@ac-vm-tests3:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 96M 984K 95M 2% /run
/dev/vda1 15G 1.9G 13G 14% /
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda15 105M 6.1M 99M 6% /boot/efi
s3fs 16E 0 16E 0% /mnt/s3
tmpfs 96M 4.0K 96M 1% /run/user/1000
Como podemos ver, a penúltima linha, o nosso s3 esta montando persistentemente e somente será desmontado manualmente.