Introdução ao MinIO
MinIO é um servidor de armazenamento de objetos nativo da nuvem de código aberto que fornece serviços de armazenamento simples, de alto desempenho, seguros e escalonáveis. MinIO foi originalmente desenvolvido como um servidor de armazenamento de objetos compatível com Amazon S3 que pode interagir com outros aplicativos e serviços por meio da API S3. MinIO suporta implantação distribuída e pode ser executado em vários nós, fornecendo alta disponibilidade e tolerância a falhas, e pode expandir automaticamente a capacidade de armazenamento e a taxa de transferência conforme necessário.
Os principais recursos do MinIO incluem:
Alto desempenho: Escrito em Golang, o MinIO possui excelente desempenho e baixa latência e pode lidar com um grande número de solicitações simultâneas.
Segurança: MinIO oferece uma variedade de recursos de segurança, incluindo criptografia TLS/SSL, políticas de controle de acesso, criptografia de dados, etc., para garantir a segurança e confidencialidade dos dados.
Escalabilidade: MinIO oferece suporte à implantação distribuída e pode ser executado em vários nós, fornecendo alta disponibilidade e tolerância a falhas, e também pode expandir automaticamente a capacidade de armazenamento e a taxa de transferência conforme necessário.
Compatível com S3: MinIO pode interagir com outros aplicativos e serviços por meio da API S3 e é compatível com Amazon S3, permitindo que seja perfeitamente integrado a aplicativos e fluxos de trabalho existentes.
Código aberto: MinIO é um projeto de código aberto, o código está hospedado no GitHub e qualquer pessoa pode usá-lo, modificá-lo e distribuí-lo gratuitamente.
Resumindo, MinIO é um servidor de armazenamento de objetos nativo da nuvem de alto desempenho, seguro e escalável, adequado para vários cenários, incluindo data lakes, backup e arquivamento, armazenamento de mídia, etc.
download
mkdir -p /data/minio/bin
# 下载minio到目录/data/minio/bin
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Configuração
Criar diretório de armazenamento de dados
mkdir -p /data/minio/data
cd /data/minio/data
mkdir drive0 drive1
Escreva o script de inicialização
Crie um novo no /data/minio/bin
diretóriostart_minio.sh
#!/bin/sh
export MINIO_ROOT_USER=root
export MINIO_ROOT_PASSWORD=123456
export MINIO_CI_CD=true
/data/minio/bin/minio server --address ":9000" --console-address ":9001" http://yourIp:9000/data/minio/data/drive0 http://yourIp:9000/data/minio/data/drive1
Crie um novo no /data/minio/
diretóriostart.sh
#!/bin/sh
nohup bin/start_minio.sh > out.log 2>&1 &
Adicione permissões de execução
chmod +x /data/minio/start.sh
chmod +x /data/minio/bin/minio
chmod +x /data/minio/bin/start_minio.sh
executar script
sh /data/minio/start.sh
Ver registro de execução
tail -f /data/minio/out.log
Faça login no console
Endereço: http://yourIP:9001/
Digite start_minio.sh
o nome de usuário e senha configurados para fazer login
Criar intervalo
fazer upload de arquivos
Verifique o número atual de nós e o número de discos rígidos montados
Outros problemas que você pode encontrar ao usar o minio
Se depois de usar o nginx para proxy reverso, uma mensagem de erro for relatada ao navegar pelos dados no bucket: falha no estabelecimento do link do websocket,
pode ser que algumas configurações estejam faltando na configuração do nginx. Modifique a configuração da seguinte maneira:
upstream miniomanage {
server ip:port;
}
server {
listen port;
server_name localhost;
location /{
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://minioweb/;
client_max_body_size 1000m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}