Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 19. Gerenciamento de armazenamento local em camadas com o Stratis

Você pode facilmente configurar e gerenciar configurações complexas de armazenamento integradas pelo sistema de alto nível Stratis.

Importante

O Stratis está disponível como uma Pré-visualização Tecnológica. Para informações sobre o escopo de suporte das características de Technology Preview da Red Hat, consulte o documento Technology Preview Features Support Scope.

Os clientes que implantam Stratis são encorajados a fornecer feedback à Red Hat.

19.1. Montagem de sistemas de arquivo Stratis

Como administrador do sistema, você pode ativar e configurar o sistema de arquivo de gerenciamento de volume Stratis em seu sistema para gerenciar facilmente o armazenamento em camadas.

19.1.1. O propósito e as características de Stratis

Stratis é uma solução de gerenciamento de armazenamento local para Linux. Ele é focado na simplicidade e facilidade de uso, e dá acesso a recursos avançados de armazenamento.

Stratis facilita as seguintes atividades:

  • Configuração inicial de armazenamento
  • Fazendo mudanças mais tarde
  • Utilização de recursos avançados de armazenamento

O Stratis é um sistema híbrido de gerenciamento de armazenamento local de usuário e núcleo que suporta recursos avançados de armazenamento. O conceito central do Stratis é um sistema de armazenamento pool. Este pool é criado a partir de um ou mais discos ou partições locais, e os volumes são criados a partir do pool.

O pool permite muitas características úteis, como por exemplo:

  • Instantâneos do sistema de arquivo
  • Provisão fina
  • Classificação

19.1.2. Componentes de um volume Stratis

Externamente, Stratis apresenta os seguintes componentes de volume na interface de linha de comando e no API:

blockdev
Dispositivos de bloqueio, tais como uma partição de disco ou uma partição de disco.
pool

Composto por um ou mais dispositivos de bloco.

Uma piscina tem um tamanho total fixo, igual ao tamanho dos dispositivos do bloco.

O pool contém a maioria das camadas do Stratis, como o cache de dados não volátil, usando o alvo dm-cache.

Stratis cria um /stratis/my-pool/ para cada pool. Este diretório contém links para dispositivos que representam os sistemas de arquivos Stratis no pool.

filesystem

Cada pool pode conter um ou mais sistemas de arquivos, que armazenam arquivos.

Os sistemas de arquivo são pouco provisionados e não têm um tamanho total fixo. O tamanho real de um sistema de arquivo cresce com os dados nele armazenados. Se o tamanho dos dados se aproximar do tamanho virtual do sistema de arquivo, o Stratis aumenta o volume fino e o sistema de arquivo automaticamente.

Os sistemas de arquivo são formatados com XFS.

Importante

Stratis rastreia informações sobre sistemas de arquivo criados usando Stratis que o XFS não conhece, e as mudanças feitas usando o XFS não criam automaticamente atualizações no Stratis. Os usuários não devem reformatar ou reconfigurar sistemas de arquivos XFS que são gerenciados pelo Stratis.

Stratis cria links para sistemas de arquivo no /stratis/my-pool/my-fs caminho.

Nota

Stratis usa muitos dispositivos Device Mapper, que aparecem na lista dmsetup e no arquivo /proc/partitions. Da mesma forma, a saída do comando lsblk reflete o funcionamento interno e as camadas do Stratis.

19.1.3. Dispositivos de bloqueio utilizáveis com Stratis

Esta seção lista os dispositivos de armazenamento que você pode usar para o Stratis.

Dispositivos com suporte

As piscinas Stratis foram testadas para trabalhar com estes tipos de dispositivos de blocos:

  • LUKS
  • LVM volumes lógicos
  • MD RAID
  • DM Multipath
  • iSCSI
  • HDDs e SSDs
  • Dispositivos NVMe
Atenção

Na versão atual, o Stratis não lida com falhas em discos rígidos ou outro hardware. Se você criar um pool Stratis sobre múltiplos dispositivos de hardware, você aumenta o risco de perda de dados porque múltiplos dispositivos devem estar operacionais para acessar os dados.

Dispositivos sem suporte

Como o Stratis contém uma camada de provisão fina, a Red Hat não recomenda a colocação de um pool Stratis em dispositivos de blocos que já são fornecidos de forma fina.

Recursos adicionais

  • Para iSCSI e outros dispositivos de bloco que requerem rede, consulte a página de manual systemd.mount(5) para obter informações sobre a opção de montagem _netdev.

19.1.4. Instalando o Stratis

Este procedimento instala todos os pacotes necessários para o uso do Stratis.

Procedimento

  1. Instalar pacotes que fornecem os serviços e utilitários de linha de comando do Stratis:

    # yum instalar stratisd stratis-cli
  2. Certifique-se de que o serviço stratisd esteja habilitado:

    # systemctl enable --now stratisd

19.1.5. Criação de um pool Stratis

Este procedimento descreve como criar um pool de Stratis criptografados ou não criptografados a partir de um ou mais dispositivos de bloco.

As seguintes notas se aplicam aos pools de Stratis criptografados:

  • Cada dispositivo de bloco é codificado usando a biblioteca cryptsetup e implementa o formato LUKS2.
  • Cada piscina Stratis pode ter uma chave única ou pode compartilhar a mesma chave com outras piscinas. Estas chaves são armazenadas no chaveiro do kernel.
  • Todos os dispositivos de bloco que compõem um pool Stratis são criptografados ou não criptografados. Não é possível ter tanto dispositivos de bloco criptografados quanto não criptografados no mesmo pool do Stratis.
  • Os dispositivos de bloqueio adicionados ao nível de dados de um pool de Stratis criptografados são automaticamente criptografados.

Pré-requisitos

  • Stratis v2.2.1 está instalado em seu sistema. Veja Seção 19.1.4, “Instalando o Stratis”.
  • O serviço stratisd está funcionando.
  • Os dispositivos de blocos nos quais você está criando um pool Stratis não estão em uso e não estão montados.
  • Os dispositivos de blocos sobre os quais você está criando um pool Stratis têm pelo menos 1 GiB de tamanho cada um.
  • Na arquitetura IBM Z, os dispositivos de bloco /dev/dasd* devem ser particionados. Use a partição no pool do Stratis.

    Para informações sobre como particionar dispositivos DASD, veja Configurando uma instância Linux na IBM Z.

Procedimento

  1. Se o dispositivo de bloco selecionado contiver sistema de arquivos, tabela de partição ou assinaturas RAID, apague-os usando o seguinte comando:

    # limpa-tudo block-device

    onde block-device é o caminho para o dispositivo do bloco; por exemplo, /dev/sdb.

  2. Criar o novo pool de Stratis no(s) dispositivo(s) bloco(s) selecionado(s):

    Nota

    Especifique dispositivos de blocos múltiplos em uma única linha, separados por um espaço:

    # criar um pool stratis my-pool block-device-1 block-device-2
    • Para criar um pool Stratis não criptografado, use o seguinte comando e vá para o passo 3:

      # criar um pool stratis my-pool block-device

      onde block-device é o caminho para um dispositivo de blocos vazios ou limpos.

      Nota

      Você não pode criptografar um pool Stratis não criptografado depois de criá-lo.

    • Para criar um pool criptografado de Stratis, complete os seguintes passos:

      1. Se você ainda não tiver criado um conjunto de chaves, execute o seguinte comando e siga as instruções para criar um conjunto de chaves a ser usado para a criptografia:

        # conjunto chave stratis --capture-key key-description

        onde key-description é a descrição ou o nome do conjunto de chaves.

      2. Criar o pool de Stratis criptografados e especificar a descrição da chave a ser usada para a criptografia. Você também pode especificar o caminho da chave usando o parâmetro --keyfile-path.

        # stratis pool criar --key-desc key-description my-pool block-device

        onde

        key-description
        Especifica a descrição ou nome do arquivo chave a ser usado para a criptografia.
        my-pool
        Especifica o nome da nova piscina do Stratis.
        block-device
        Especifica o caminho para um dispositivo de blocos vazios ou limpos.
  3. Verificar se o novo pool Stratis foi criado:

    # lista stratis pool

Solução de problemas

Após um reinício do sistema, às vezes você pode não ver seu pool de Stratis criptografado ou os dispositivos de bloco que o compõem. Se você encontrar este problema, você deve desbloquear o pool do Stratis para torná-lo visível.

Para desbloquear a piscina do Stratis, complete os seguintes passos:

  1. Recriar o conjunto de chaves usando a mesma descrição chave que foi usada anteriormente:

    # conjunto chave stratis --capture-key key-description
  2. Desbloquear a piscina do Stratis e o(s) dispositivo(s) de bloqueio:

    # desbloqueio do pool stratis
  3. Verificar se a piscina do Stratis está visível:

    # lista stratis pool

Recursos adicionais

  • A página do homem stratis(8).

Próximos passos

19.1.6. Criação de um sistema de arquivo Stratis

Este procedimento cria um sistema de arquivos Stratis em um pool Stratis existente.

Pré-requisitos

Procedimento

  1. Para criar um sistema de arquivos Stratis em um pool, use:

    # stratis fs criam my-pool my-fs
    • Substitua my-pool com o nome da sua piscina Stratis existente.
    • Substitua my-fs com um nome arbitrário para o sistema de arquivo.
  2. Para verificar, liste os sistemas de arquivos dentro do pool:

    # lista stratis fs my-pool

Recursos adicionais

  • A página do homem stratis(8)

Próximos passos

19.1.7. Montagem de um sistema de arquivo Stratis

Este procedimento monta um sistema de arquivo Stratis existente para acessar o conteúdo.

Pré-requisitos

Procedimento

  • Para montar o sistema de arquivo, use as entradas que Stratis mantém no diretório /stratis/:

    # montagem /stratis/my-pool/my-fs mount-point

O sistema de arquivo está agora montado no mount-point e pronto para uso.

Recursos adicionais

  • A página do homem mount(8)

19.1.8. Montagem persistente de um sistema de arquivo Stratis

Este procedimento monta persistentemente um sistema de arquivo Stratis para que ele esteja disponível automaticamente após a inicialização do sistema.

Pré-requisitos

Procedimento

  1. Determinar o atributo UUID do sistema de arquivo:

    $ lsblk --output=UUID /stratis/my-pool/my-fs

    Por exemplo:

    Exemplo 19.1. Visualizando a UUID do sistema de arquivos Stratis

    $ lsblk --output=UUID /stratis/my-pool/fs1
    
    UUID
    a1f0b64a-4ebb-4d4e-9543-b1d79f600283
  2. Se o diretório de pontos de montagem não existir, crie-o:

    # mkdir - pais mount-point
  3. Como root, editar o arquivo /etc/fstab e adicionar uma linha para o sistema de arquivo, identificado pela UUID. Use xfs como o tipo de sistema de arquivo e adicione a opção x-systemd.requires=stratisd.service.

    Por exemplo:

    Exemplo 19.2. O ponto de montagem /fs1 em /etc/fstab

    UUID=a1f0b64a-4ebb-4d4e-9543-b1d79f600283 /fs1 xfs default,x-systemd.requires=stratisd.service 0 0
  4. Regenere unidades de montagem para que seu sistema registre a nova configuração:

    # systemctl daemon-reload
  5. Tente montar o sistema de arquivo para verificar se a configuração funciona:

    # montar mount-point