Implante um sistema de arquivos escalável e distribuído usando o Lustre

Lustre é um sistema de arquivos de código aberto, paralelo e distribuído usado para clusters e ambientes de computação de alto desempenho (HPC). O nome Lustre é uma portmanteau do Linux e do cluster.

Usando o Lustre, você pode criar um servidor de arquivos HPC no Oracle Cloud Infrastructure bare metal Compute e no armazenamento em blocos conectado à rede ou SSDs NVMe conectados localmente aos nós do serviço Compute. Um modelo Terraform fornece uma maneira fácil de implantar o Lustre no Oracle Cloud Infrastructure.

Os clusters Lustre são dimensionados para maior throughput, maior capacidade de armazenamento ou ambos para o sistema de arquivos. Custa apenas alguns centavos por gigabyte por mês para computação e armazenamento combinados.

O modelo de implantação do Terraform provisiona recursos do Oracle Cloud Infrastructure, incluindo Computação, armazenamento, redes virtuais na nuvem e sub-redes. Ele também fornece software Lustre, incluindo um Servidor de Gerenciamento (MGS), um Servidor de Metadados (MDS), um Servidor de Armazenamento de Objetos (OSS) e nós do cliente Lustre.

Arquitetura

Esta arquitetura de referência usa uma região com um único domínio de disponibilidade e sub-redes regionais. Você pode usar a mesma arquitetura de referência em uma região com vários domínios de disponibilidade. Recomendamos que você use sub-redes regionais para sua implantação, independentemente do número de domínios de disponibilidade.

O diagrama a seguir ilustra essa arquitetura de referência.

Veja a seguir a descrição da ilustração lustre-oci.png
Descrição da ilustração lustre-oci.png

A arquitetura Lustre escalável tem os seguintes componentes:

  • Servidor de Gerenciamento (MGS)

    Um MGS armazena informações de configuração para um ou mais sistemas de arquivos Lustre e fornece essas informações a outros hosts Lustre. Este recurso global pode suportar vários sistemas de arquivos.

  • MDS (Metadata Server)

    Um MDS fornece o índice, ou namespace, para um sistema de arquivos Lustre. O conteúdo de metadados é armazenado em volumes chamados Alvos de Metadados (MDTs). A estrutura de diretórios e os nomes de arquivos, permissões, atributos estendidos e layouts de arquivos de um sistema de arquivos Lustre são registrados nos MDTs. Cada sistema de arquivos Lustre deve ter no mínimo um MDT.

  • OSS (Object Storage Servers)

    Um OSS fornece o armazenamento de dados em massa para todo o conteúdo do arquivo em um sistema de arquivos Lustre. Cada OSS fornece acesso a um conjunto de volumes de armazenamento, chamado Alvos de Armazenamento de Objetos (OSTs). Cada OST contém vários objetos binários que representam os dados de arquivos no Lustre. Os arquivos no Lustre são compostos por um ou mais objetos OST, além do inode de metadados armazenado no MDS.

  • Clientes Lustre

    Os clientes são instâncias do serviço Compute que acessam o sistema de arquivos Lustre.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede definida por software que você configura em uma região do Oracle Cloud Infrastructure. As VCNs podem ser segmentadas em sub-redes, que podem ser específicas de uma região ou de um domínio de disponibilidade. As sub-redes específicas da região e do domínio de disponibilidade podem coexistir na mesma VCN. Uma sub-rede pode ser pública ou privada.

  • Listas de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Domínios de disponibilidade

    Os domínios de disponibilidade são data centers independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínio de disponibilidade interna. Dificilmente uma falha em um domínio de disponibilidade afetará os outros domínios da região.

Recomendações

Seus requisitos podem diferir da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.

  • Formato de computação, bastion host

    Um host bastião é usado para acessar qualquer nó na sub-rede privada. Use a forma VM.Standard.E2.1 ou VM.Standard.E2.2.

  • Formato de computação, MGS e MDS

    Como o MGS não é intensivo em recursos, você pode hospedar o MGS e o MDS na mesma instância. Para garantir que uma interrupção de nível de nó não afete o sistema de arquivos, use uma instância bare metal com alta disponibilidade.

  • Bare metal Compute com volume em blocos e alta disponibilidade

    Use o BM.Standard2.52. Dois nós são configurados em um par. Os dois controladores de interface de rede física (NICs) cada um com velocidade de rede de 25-Gbps. Use uma NIC para todo o tráfego para bloquear o armazenamento e use a outra NIC para dados de entrada nos nós OSS e MDS dos nós do cliente.

    Use o armazenamento de volume em blocos (tamanho e número por requisito de implantação) com anexo de várias instâncias para anexar um volume aos nós de computação.

  • Formato de computação, OSS

    Nossa recomendação para OSS é a mesma que para MGS e MDS.

  • Formato de computação, cliente Lustre

    Escolha uma forma de máquina virtual (VM) com base nos seus planos de implantação, especialmente nos requisitos de largura de banda da rede.

    O rendimento de clientes individuais depende da capacidade. Se você implantar 10 clientes com largura de banda de rede 2.5-Gbps, a largura de banda agregada será de 25 Gbps.

  • Configuração RAID

    Opcionalmente, as formas do DenseIO podem ser configuradas com RAID 0.

    Use RAID ao criar um OST por OSS.

    Se você estiver usando um OST por OSS, recomendamos usar oito volumes em blocos por OSS para maximizar o throughput (RAID 0 é opcional).

    Observação:

    O modelo Terraform cria uma forma bare metal com o DenseIO ou com volumes em blocos.
  • VCN

    Ao criar a VCN, determine quantos endereços IP seus recursos de nuvem em cada sub-rede exigem. Usando a notação CIDR (Classless Inter-Domain Routing), especifique uma máscara de sub-rede e um intervalo de endereços de rede que seja grande o suficiente para os endereços IP necessários. Use um espaço de endereço que esteja dentro dos blocos de endereços IP privados padrão.

    Selecione um intervalo de endereços que não se sobreponha à sua rede local, para que você possa configurar uma conexão entre o VCN e sua rede local, se necessário.

    Depois de criar um VCN, você não poderá alterar seu intervalo de endereços.

    Ao projetar as sub-redes, considere seus requisitos de funcionalidade e segurança. Anexe todas as instâncias de computação dentro da mesma camada ou atribuição à mesma sub-rede, que pode servir como um limite de segurança.

    Usar sub-redes regionais.

  • Listas de segurança

    Use listas de segurança para definir regras de entrada e saída que se aplicam a toda a sub-rede. Por exemplo, essa arquitetura permite ICMP internamente para toda a sub-rede privada.

Considerações

  • Desempenho

    Para obter o melhor desempenho, escolha a forma correta do Compute com largura de banda apropriada.

  • Disponibilidade

    Considere usar uma opção de alta disponibilidade com base no seu requisito de implantação.

  • Custo

    O serviço bare-metal oferece maior desempenho na largura de banda da rede por um custo mais alto. Avalie seus requisitos para escolher a forma de Computação apropriada.

  • Monitorização e alertas

    Configure o monitoramento e alertas sobre o uso da CPU e da memória para os nós MGS, MDS e OSS para ampliar ou reduzir a forma da VM conforme necessário.

Implantar

O código Terraform desta arquitetura de referência está disponível como uma pilha de amostra no Oracle Cloud Infrastructure Resource Manager. Você também pode fazer download do código do GitHub e personalizá-lo para atender às suas necessidades específicas.

  • Implante usando a pilha de amostra no Oracle Cloud Infrastructure Resource Manager:
    1. Clique emImplantar no Oracle Cloud.

      Se você ainda não tiver efetuado sign-in, informe as credenciais da tenancy e do usuário.

    2. Revise e aceite os termos e condições.
    3. Selecione a região em que deseja implantar a pilha.
    4. Siga os prompts e instruções na tela para criar a pilha.
    5. Depois de criar a pilha, clique em Ações do Terraform e selecione Plano.
    6. Aguarde a conclusão do job e revise o plano.

      Para fazer alterações, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Plano novamente.

    7. Se nenhuma outra alteração for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
  • Implante usando o código Terraform no GitHub:
    1. Vá para o GitHub.
    2. Clone ou faça download do repositório para o computador local.
    3. Siga as instruções no documento README.