Minio — Tenha seu próprio S3 Storage

Minio — Tenha seu próprio S3 Storage

Minio é um storage de objetos, de alta performance e distribuído. A grande vantagem de usá-lo, reside em sua total compatibilidade com o Amazon S3. Neste artigo explico como subir um minio server em sua própria infraestrutura, criar um bucket para armazenar os dados e fazer a montagem no Ubuntu usando s3fs para armazenar os seus arquivos.

A instalação do Minio é relativamente simples, basta executar os passos abaixo:

wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio

Inicie o servidor, digite o comando:

root@storage:~# minio server /mnt/data &

Iniciado o servidor, na tela aparecerão os dados de acesso:

Drive Capacity: 8.4 GiB Free, 9.6 GiB Total

Endpoint:  http://10.100.0.113:9000  http://10.0.2.15:9000  http://172.17.0.1:9000  http://127.0.0.1:9000
AccessKey: VL8XZ7C65RYY20SUO5VM 
SecretKey: ih4K7jv+E+SaUqtuE8kH1KSa8sPzYmmHrH/4HiYy 

Browser Access:
   http://10.100.0.113:9000  http://10.0.2.15:9000  http://172.17.0.1:9000  http://127.0.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
   $ mc config host add myminio http://10.100.0.113:9000 VL8XZ7C65RYY20SUO5VM ih4K7jv+E+SaUqtuE8kH1KSa8sPzYmmHrH/4HiYy

Veja que o servidor está ouvindo em vários endereços, como a máquina do Vagrant estava em modo bridge, para acessar no navegador, usei o seguinte endereço:

http://10.100.0.113:9000

Ao acessar, aparecerá a seguinte tela:

O login é feito usando o AccessKey e o SecretKey, exibidos ao iniciar o servidor do Minio.

AccessKey: VL8XZ7C65RYY20SUO5VM
SecretKey: ih4K7jv+E+SaUqtuE8kH1KSa8sPzYmmHrH/4HiYy

Realizado o login, será mostrada a seguinte tela:

No canto inferior direito podemos criar um Bucket. No caso, eu criei um Bucket chamado dados.

Em seguida, a instalação do s3fs, em uma máquina Ubuntu, para fazer a montagem no filesystem e subir os arquivos.

root@storage:~# apt-get -f install s3fs -y 

Com o s3fs instalado, será criado um arquivo chamado passwd-s3fs. Este, armazenará as credentials de acesso que serão usadas para fazer a autenticação e a montagem no meu servidor.

root@storage:~# echo "VL8XZ7C65RYY20SUO5VM:ih4K7jv+E+SaUqtuE8kH1KSa8sPzYmmHrH/4HiYy" > /etc/passwd-s3fs
root@storage:~# chmod 640 /etc/passwd-s3fs 

Agora, a montagem do diretório:

root@storage:~# s3fs  dados /root/teste_minio -o allow_other,use_path_request_style,nonempty,url=http://10.100.0.113:9000,passwd_file=/etc/passwd-s3fs
root@storage:~# 

Para verificar se o diretório foi montado, basta digitar o comando df -h:

root@storage:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            490M     0  490M   0% /dev
tmpfs           100M  3.2M   97M   4% /run
/dev/sda1       9.7G  1.3G  8.4G  13% /
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           497M     0  497M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000
vagrant         106G   60G   47G  56% /vagrant
s3fs            256T     0  256T   0% /root/teste_minio

Por fim,  o s3fs foi montado em /root/teste_minio

Para testar o funcionando, podemos simplesmente criar um arquivo dentro desse diretório, averiguando se irá para o servidor do Minio:

root@storage:~# touch /root/teste_minio/post_blog.txt

Na interface gráfica, comprovamos que o arquivo está no servidor.

Valeu! é Nóis!

alissonmachado.com.br

Anterior 4linux participa do meetup
Próxima Docker Swarm – Criando cluster utilizando Docker Stack Deploy

About author

Alisson Machado
Alisson Machado 19 posts

Alisson Menezes, atua como Gerente de T.I, 9 anos de experiência em projetos FOSS (Free and Open Source Software) e Python. Formação em Análise de Sistemas pela FMU e cursando MBA em BigData pela FIA, possui certificações LPI1, LPI2 e SUSE CLA, LPI DevOps e Exim - DevOps Professional. Autor dos cursos Python Fundamentals, Python for Sysadmins, MongoDB for Developers/DBAs, DevSecOps, Co-Autor do Infraestrutura Ágil e Docker da 4Linux e palestrantes em eventos como FISL, TDC e Python Brasil. É entusiasta das mais diversas áreas em T.I como Segurança, Bancos de dados NoSQL, DataScience mas tem como foco DevOps e Automação.

View all posts by this author →

Você pode gostar também

DevOps

Ferramentas do mundo DevOps

Gitlab: um dos sistemas de controle de versão mais usados e baseado no GIT. Permite criar e gerenciar múltiplas versões de código, fazer comparações e aditar alterações. Puppet: normalmente usado

DevOps

DevOps – Como implementar essa poderosa estratégia em sua empresa?

DevOps é um termo que tem ganhado destaque no mundo corporativo. Considerado uma poderosa estratégia, surgiu da necessidade de agilizar entregas na área de tecnologia da informação, sempre buscando ações

DevOps

Repositórios locais com Nexus Sonatype

Administradores de sistemas, sempre que operam em ambiente GNU/Linux,  realizam a instalação de pacotes pré-compilados localizados em repositórios remotos. Para distribuições baseadas em Red Hat, fazemos uso de repositórios Yum