Capítulo 17. 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.
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.
17.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.
17.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
17.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.
ImportanteStratis 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.
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.
17.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
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
.
17.1.4. Instalando o Stratis
Este procedimento instala todos os pacotes necessários para o uso do Stratis.
Procedimento
Instalar pacotes que fornecem os serviços e utilitários de linha de comando do Stratis:
# yum instalar stratisd stratis-cli
Certifique-se de que o serviço
stratisd
esteja habilitado:# systemctl enable --now stratisd
17.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 formatoLUKS2
. - 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 17.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
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
.Criar o novo pool Stratis no(s) dispositivo(s) bloco(s) selecionado(s):
NotaEspecifique 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.NotaVocê 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:
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.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.
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:
Recriar o conjunto de chaves usando a mesma descrição chave que foi usada anteriormente:
# conjunto chave stratis --capture-key key-description
Desbloquear a piscina do Stratis e o(s) dispositivo(s) de bloqueio:
# desbloqueio do pool stratis
Verificar se o pool do Stratis está visível:
# lista stratis pool
Recursos adicionais
-
A página do homem
stratis(8)
.
Próximos passos
- Criar um sistema de arquivo Stratis no pool. Para maiores informações, ver Seção 17.1.6, “Criação de um sistema de arquivo Stratis”.
17.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
- O Stratis está instalado. Ver Seção 17.1.4, “Instalando o Stratis”.
-
O serviço
stratisd
está funcionando. - Você criou uma piscina Stratis. Veja Seção 17.1.5, “Criação de um pool Stratis”.
Procedimento
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.
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
- Montar o sistema de arquivos Stratis. Ver Seção 17.1.7, “Montagem de um sistema de arquivo Stratis”.
17.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
- O Stratis está instalado. Ver Seção 17.1.4, “Instalando o Stratis”.
-
O serviço
stratisd
está funcionando. - Você criou um sistema de arquivo Stratis. Veja Seção 17.1.6, “Criação de um sistema de arquivo Stratis”.
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)
17.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
- O Stratis está instalado. Ver Seção 17.1.4, “Instalando o Stratis”.
-
O serviço
stratisd
está funcionando. - Você criou um sistema de arquivo Stratis. Veja Seção 17.1.6, “Criação de um sistema de arquivo Stratis”.
Procedimento
Determinar o atributo UUID do sistema de arquivo:
$ lsblk --output=UUID /stratis/my-pool/my-fs
Por exemplo:
Exemplo 17.1. Visualizando a UUID do sistema de arquivos Stratis
$ lsblk --output=UUID /stratis/my-pool/fs1 UUID a1f0b64a-4ebb-4d4e-9543-b1d79f600283
Se o diretório de pontos de montagem não existir, crie-o:
# mkdir - pais mount-point
Como root, editar o arquivo
/etc/fstab
e adicionar uma linha para o sistema de arquivo, identificado pela UUID. Usexfs
como o tipo de sistema de arquivo e adicione a opçãox-systemd.requires=stratisd.service
.Por exemplo:
Exemplo 17.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
Regenere unidades de montagem para que seu sistema registre a nova configuração:
# systemctl daemon-reload
Tente montar o sistema de arquivo para verificar se a configuração funciona:
# montar mount-point
Recursos adicionais