MINIO, o seu próprio S3, ou Object Storage – Pandemia
Instale e configure minio object storage server no CentOS Linux
Olá pessoal, mais um motivo para ajudar pequenas empresas nesta pandemia ou ajudar pequenos provedores a utilizar opensource como o Minio.
Neste tutorial, vamos instalar e configurar o servidor Minio.
O que é Minio?
Minio é um servidor de armazenamento de objetos compatível com o protocolo S3, compatível com AWS, escrito em Go.
Ele pode ser usado para armazenar qualquer objeto como fotos, vídeos, arquivos de registro, backups, etc.
Você pode utilizar como se fosse seu próprio servidor de object storage como o S3 da AWS e outros object storages.
Instale minio no Centos Linux
Eu useu o Centos por ele ser estável e 100% opensource.
Neste exemplo, instalaremos o Minio para /opt/minio, e o configuraremos para ser executado como um serviço igual os object storage de clouds.
OBS: Já me perguntaram se ele aguenta uma carga grande de armazenamento, ou performance. Eu respondo, se você tiver profissional capacitado, hardware e sizing e ambiente apropriado para estabelecer eu digo que sim. Tudo depende como arquitetar e usar o melhor de cada serviço.
Vamos começar?
Parto do pressuposto que você já conhece sistema operacional linux ou equivamente para trabalhar com o serviço.
1. Adicione um usuário de minio
1 | useradd -s /sbin/nologin -d /opt/minio minio |
2. Configurar diretórios
1 | mkdir -p /opt/minio/bin | |
2 | mkdir /opt/minio/data # this will be your data partition |
3. Instale o servidor minio binário e defina-o como executável. Neste exemplo usamos o binário Linux x64.
1 | wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /opt/minio/bin/minio | |
2 |
3 | chmod +x /opt/minio/bin/minio |
4. Crie um arquivo minio config
1 | vim /opt/minio/minio.conf |
:
1 | MINIO_VOLUMES=/opt/minio/data |
5. Certifique-se de que todos os arquivos são de propriedade do minio em /opt/minio:
1 | chown -R minio:minio /opt/minio |
6. Adicione arquivos de serviço do minio
Nota: o arquivo de serviço abaixo foi adaptado de: https://github.com/minio/minio-service/tree/master/linux-systemd
1 | vim /etc/systemd/system/minio.service |
:
1 | [Unit] | |
2 | Description=Minio |
3 | Documentation=https://docs.minio.io | |
4 | Wants=network-online.target |
5 | After=network-online.target | |
6 | AssertFileIsExecutable=/opt/minio/bin/minio |
7 | ||
8 | [Service] |
9 | WorkingDirectory=/opt/minio | ||
10 |
11 | User=minio | |
12 | Group=minio |
13 | ||
14 | PermissionsStartOnly=true |
15 | ||
16 | EnvironmentFile=-/opt/minio/minio.conf |
17 | ExecStartPre=/bin/bash -c “[ -n \”${MINIO_VOLUMES}\” ] || echo \”Variable MINIO_VOLUMES not set in /opt/minio/minio.conf\”” | |
18 |
19 | ExecStart=/opt/minio/bin/minio server $MINIO_OPTS $MINIO_VOLUMES | |
20 |
21 | StandardOutput=journal | |
22 | StandardError=inherit |
23 | ||
24 | # Specifies the maximum file descriptor number that can be opened by this process |
25 | LimitNOFILE=65536 | |
26 |
27 | # Disable timeout logic and wait until process is stopped | |
28 | TimeoutStopSec=0 |
29 | ||
30 | # SIGTERM signal is used to stop Minio |
31 | KillSignal=SIGTERM | |
32 |
33 | SendSIGKILL=no | |
34 |
35 | SuccessExitStatus=0 | |
36 |
37 | [Install] | |
38 | WantedBy=multi-user.target |
7. Habilite e inicie o serviço de minio
1 | systemctl enable minio && systemctl start minio |
8. Verifique se o minio já começou
1 | systemctl status minio |
9. Anote seu acesso ao Minio e a chave secreta:
1 | grep -E ‘accessKey|secretKey’ /opt/minio/.minio/config.json |
Configuração
O Minio deve agora ser instalado, configurado e em execução. Você pode acessar a interface web minio indo para http://<server_ip>:9000/ – faça login com o acesso e a chave secreta registrada acima na etapa 9.
Usando Minio
Como o Minio é compatível com protocolo S3, você pode usar as seguintes ferramentas para carregar, navegar e excluir dados de armazenamento do Minio:
Espero que você goste deste post.
Até mais
Abraços
Último vídeo
Novidades via inbox
Fique por dentro no meu Boletim digital toda semana um conteúdo novo