Salve Salve Pessoal!
Hoje vamos ver como podemos instalar e configurar o MinIO.
O MinIO é um sistema de armazenamento do tipo object storage, compatível com as features de API do S3 da AWS.
É um sistema de alto desempenho, muito simples de instalar e usar, também é Kubernetes Native, ou seja, compatível com todas as soluções que usam kubernetes, seja em nuvens públicas ou ambientes on-primise.
O MinIO é um sistema definido por software, 100% de código aberto sob a licença GNU AGPL v3.
Para maiores informações sobre o MinIO acessem o link abaixo:
Agora vamos ao que interessa. 😀
A instalação do MinIO pode ser feita de diversas formas, através de um Kubernetes Operator para ambientes Kubernetes, usando containers como Docker ou Podman, em sistemas operacionais Linux, Windows e macOS.
Para esse laboratório nós vamos fazer a instalação e configuração direto em um servidor Linux e vamos configurar ele como um serviço do systemd, nós podemos fazer a instalação usando o sistema de pacotes apt e rpm, porém vamos usar o binário.
1 – Faça o download do binário do MinIO.
# wget https://dl.min.io/server/minio/release/linux-amd64/minio
2 – Mova o binário para o /usr/local/bin.
# mv minio /usr/local/bin/
3 – Crie um usuário chamado minio-user.
# useradd -M -s /bin/false minio-user
4 – Configure a permissão para o usuário minio-user e de execução.
# chmod +x /usr/local/bin/minio
# chown minio-user: /usr/local/bin/minio
5 – Crie um diretório que será usado para o armazenamentos dos dados, pode ser um nome qualquer de sua escolha.
# mkdir /minio
6 – Configure a permissão do diretório para o usuário minio-user.
# chown minio-user: /minio
7 – Crie o arquivo /etc/default/minio com os seguinte conteúdo.
MINIO_VOLUMES="/minio" (Diretório que será usado pelo MinIO para armazenar os dados) MINIO_OPTS="--address :9199 --console-address :9001" (Portas web e console de acesso ao MinIO) MINIO_ROOT_USER=administrador (Usuário com permissões de root/administrador do MinIO) MINIO_ROOT_PASSWORD=Mudar@123 (Senha do usuário root/administrador) MINIO_CONFIG_ENV_FILE=/etc/default/minio (configura o MinIO reler as configurações através do minio cliente 'mc admin service restart')
8 – Baixe o arquivo de configuração do systemd.
# wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
9 – Mova o arquivo minio.service para o diretório /etc/systemd/system.
# mv minio.service /etc/systemd/system
10 – Execute os seguintes comandos para o systemd reconhecer, habilitar e iniciar o serviço do MinIO.
# systemctl daemon-reload
# systemctl enable minio.service
# systemctl start minio.service
11 – Agora só abrir seu navegador e acessar o IP ou FQDN do servidor na porta 9001 e logar com o usuário e senha configurados no arquivos /etc/default/minio.
Pronto, MinIO instalado e configurado, no próximo post irei mostrar como podemos criar e configurar um certificado auto assinado no MinIO, e depois como podemos criar buckets, usuários e permissões.
Até o próximo post!
😀
Show de bola! Excelente escrita e conteúdo, meu amigo. Uma coisa legal é que o MinIO utiliza do JBOD e faz um excelente trabalho na distribuição dos dados e replicação, garantindo a recuperação em caso de falha de um dos discos. Um erro comum nas operações é configurar o MinIO em cima de um ambiente com RAID, tornando a performance precária.
Um abraço.
Olá Lucas, obrigado!
Grande Rodrigo, quando chego na parte de rodar os comandos:
# systemctl enable minio.service
# systemctl start minio.service
aparece essa mensagem:
[root@ipanema systemd]# systemctl enable minio.service
Failed to enable unit: Unit file minio.service does not exist.
Olá Cleyton, você rodou um “systemctl daemon-reload” antes?
Mestre Rodrigo, erro quando executo o comando:
# systemctl start minio.service
aparece essa mensagem:
Assertion failed oon job for minio.service
Olá Levi, aparentemente isso é erro na unidade do systemd, você verificou se as configuções e caminhos estão corretos?
Rodirgo você teria algum tutorial de como integrar o MInio com o Prometheus?
Olá Edezio, infelizmente não. 🙁
Boa sorte!
Show mestre.
Valeu!
mestre.. consegui instalar tudo certinho.. so que me deparei com o seguinte problema.. quando crio 2 buckets
filial 1
filial 2
ai qd copio alguma coisa no filial 2 .. ele nao aparece nada nesse bucket.. ele ta indo para o bucket filial 1.. estranho .. pq to jogando no filial 2 mas ele ta indo para o filial 1
Olá Fabio, estranho, você criou as permissões na bucket correta, pode ser que você tenha trocado sem querer não?
Boa sorte!
Grande Rodrigo, fizemos a instalação seguindo seu passo a passo e me deparei com um erro ao enviar muitos arquivos para o bucket, a aplicação qndo esta fazendo o envio me retorna um erro :
12/06/2024 02:19:01 :: Error: REST API error: ‘S3 error: You did not provide the number of bytes specified by the Content-Length HTTP header.
Code: IncompleteBody’, error code: 400
Other: Key: ‘Veeam/Backup/teste/Clients/{7ae9e9d8-e0b7-42ce-9cae-03f1e7ce61a4}/54264b43-2a83-41a1-9934-d9888f259de5/CloudStg/Data/{0d9d676e-9f80-4968-b59d-1c01ccc227c4}/{6084f01f-700a-461d-937e-dcff865de2e7}/40522_51d03eb0b07c2540a09ce01501c9e33f_00000000000000000000000000000000’, BucketName: ‘repositorio-teste’, Resource: ‘/repositorio-teste/Veeam/Backup/teste/Clients/{7ae9e9d8-e0b7-42ce-9cae-03f1e7ce61a4}/54264b43-2a83-41a1-9934-d9888f259de5/CloudStg/Data/{0d9d676e-9f80-4968-b59d-1c01ccc227c4}/{6084f01f-700a-461d-937e-dcff865de2e7}/40522_51d03eb0b07c2540a09ce01501c9e33f_00000000000000000000000000000000’, Region: ‘us-east-1’, HostId: ‘fad4b3083214c3b0ad28cc0f83fd770a8fd5fb5e47b065bc7cae01b61e817e1a’
Failed to download disk ‘VDI – 01-flat.vmdk’.
Shared memory connection was closed.
Failed to upload disk ‘>’
Agent failed to process method {DataTransfer.SyncDisk}.
Você ja viu esse erro?
Olá Bruno, para falar a verdade nunca peguei esse erro não, você está tentando fazer um backup de VM usando veeam pelo que eu entendi, poderia verificar se não é alguma compatibilidade ou algo do tipo.
Boa sorte!