Use Sealos para implantar MinIO altamente disponível com um clique e iniciar sua jornada de armazenamento de objetos

Olá pessoal! O artigo de hoje apresenta principalmente como implantar um cluster MinIO de alta disponibilidade com um clique por meio do Sealos.

O que é armazenamento de objetos MinIO?

Objetos são dados binários, como imagens, arquivos de áudio, planilhas e até mesmo código binário executável. Os objetos podem variar em tamanho de alguns B a vários TB. Plataformas de armazenamento de objetos como MinIO fornecem ferramentas e funcionalidades especializadas para armazenar, listar e recuperar objetos usando APIs padrão compatíveis com S3.

O armazenamento de objetos MinIO usa buckets para organizar objetos. Os buckets são semelhantes a pastas ou diretórios em um sistema de arquivos, onde cada bucket pode conter qualquer número de objetos. Os buckets MinIO fornecem a mesma funcionalidade que os buckets AWS S3.

Link original: https://forum.laf.run/d/1029

Codificação de apagamento do MinIO

MinIO suporta implantação distribuída e alta disponibilidade de serviços e dados.O núcleo é a função de codificação de eliminação do MinIO.

MinIO implementa recursos de codificação de eliminação como um componente principal que fornece redundância e disponibilidade de dados. Suponha que o MinIO divida um objeto em fragmentos de dados K. A codificação de apagamento pode gerar fragmentos de verificação M com base em fragmentos de dados K. O MinIO requer pelo menos K fragmentos de qualquer tipo para restaurar o objeto original. Isso significa que os fragmentos M podem falhar em um total de fragmentos K+M.

Tomemos a figura a seguir como exemplo: dividimos um objeto em 12 fragmentos de dados (fragmentos de dados) e, em seguida, geramos 4 fragmentos de paridade (fragmentos de paridade). Há um total de 16 fragmentos, que são armazenados em um único driver. O método pode tolerar a falha de 4 drivers e tem uma eficiência de armazenamento de 0,75 (12/16). (Este é EC:4, EC é Erasure Coding, 4 é o número de fragmentos de verificação)

Para melhor comparação com o método de três cópias, assumimos que existem atualmente 2 fragmentos de dados e 2 fragmentos de verificação. Os resultados da comparação são os seguintes:

Caminho Número de fragmentos com falha (réplicas) tolerados Eficiência de armazenamento
Codificação de apagamento (EC:2) 2 1/2
três cópias 2 1/3

Por meio de comparação, pode-se observar que a codificação de eliminação pode melhorar a eficiência do armazenamento e reduzir o uso de recursos de armazenamento (Suplementar: Quando o número de fragmentos de dados é igual ao número de fragmentos de verificação, a fim de evitar o problema de divisão do cérebro no MinIO , a maioria dos dados é gravada. Fragmentação, ou seja, 3 shards, detalhes podem ser encontrados em: Disponibilidade e elasticidade do MinIO ).

A proporção de fragmentos de paridade/total de fragmentos pode ser ajustada em MinIO e o intervalo de proporção é de 0 a 1/2. Quanto maior a proporção, maior será a disponibilidade dos dados (o número de fragmentos com falha que podem ser tolerados) e menor será a eficiência do armazenamento.

Tutorial para implantar rapidamente MinIO de alta disponibilidade

O MinIO implantado pelo modelo usa 4 nós e EC:2. Ele pode garantir que o tempo de inatividade de um único nó não afete os serviços de leitura e gravação, o desligamento de dois nós não afete os serviços de leitura e a eficiência de armazenamento seja 1/2.

  • Clique em Confirmar para ver os detalhes.

  • Clique no link para acessar a interface do console MinIO.

  • Digite sua conta e senha para começar a usar o MinIO. Basta criar um bucket e fazer upload do arquivo install.sh.

Neste ponto, implantamos com sucesso um poderoso aplicativo de armazenamento de objetos. Você pode começar a armazenar objetos com alegria!

MinIO no Kubernetes

Vamos apresentar brevemente a arquitetura do MinIO no K8S:

  • Pod : como unidade básica para executar instâncias MinIO, cada pod implanta uma instância de contêiner MinIO.
  • StatefulSet: usado para gerenciar 4 cópias do MinIO Pod, garantindo o número e a ordem das cópias e fornecendo uma identificação de rede estável (como nome DNS) e identificação de armazenamento (volume PV) para cada Pod.
  • Serviço (sem cabeça): fornece descoberta de serviço interno para pods MinIO no StatefulSet. Outros pods podem acessar cada instância MinIO por meio de um nome DNS fixo.
  • Serviço (ClusterIP): Fornece a porta de acesso e o mapeamento da porta de destino do serviço MinIO Console para o mundo externo.
  • Entrada : Configure o nome de domínio de entrada da rede externa e as regras de mapeamento de caminho, e você pode acessar o Console Minio por meio do nome de domínio.

Referências

  1. https://min.io/docs/minio/kubernetes/upstream/operações/concepts/erasure-coding.html
  2. https://min.io/docs/minio/kubernetes/upstream/operações/concepts/availability-and-resiliency.html#minio-availability-resiliency
  3. https://cloud.tencent.com/developer/article/1829995

Acho que você gosta

Origin blog.csdn.net/alex_yangchuansheng/article/details/132898974
Recomendado
Clasificación