O instalador Anaconda no Fedora 45 vai introduzir uma nova opção de configuração de armazenamento: o Stratis, uma solução moderna para gerenciamento de armazenamento local.

O Stratis não é uma tecnologia completamente nova: ele usa ferramentas e tecnologias já existentes, como device mapper, LUKS e XFS, e as integra em um pacote fácil de usar. A ideia é oferecer recursos modernos de armazenamento enquanto esconde a lógica muitas vezes complexa por trás deles. Adicionar suporte ao instalador aproxima ainda mais esses recursos dos usuários do Fedora.

Existem apenas duas estruturas ou camadas básicas que você precisa conhecer ao trabalhar com Stratis: pools e sistemas de arquivos. Os pools representam uma camada abstrata sobre dispositivos de bloco existentes (discos, partições, arrays RAID etc.). Um pool pode ser composto por um ou mais dispositivos (em sistemas com vários discos, por exemplo). Recursos como criptografia ou over-provisioning também são configurados no nível do pool. Vários sistemas de arquivos podem ser criados no pool. Esses são os dispositivos que vão servir como seus volumes root ou home. Alguns recursos adicionais suportados pelo Stratis incluem snapshots, cache e, para pools criptografados, vários métodos de desbloqueio, como TPM ou Clevis/Tang. Cache e criptografia sem passphrase ainda não são suportados pelo Anaconda, mas podem ser habilitados facilmente depois da instalação.

O gerenciamento de dispositivos Stratis pode ser feito com o comando stratis. Para mais informações, consulte nosso artigo mais antigo, mas ainda válido, Getting started with Stratis ou o how-to do projeto Stratis.

Instalação pela interface web

A nova interface web do instalador Anaconda atualmente não permite selecionar qual tipo de tecnologia de armazenamento será usado nas opções de particionamento automático e guiado. O layout de armazenamento que você vai obter depende da variante do Fedora escolhida para instalação. Mas, se você quiser usar Stratis, ainda há uma opção na instalação gráfica. Qualquer layout de armazenamento pode ser criado manualmente com o módulo de armazenamento do Cockpit, que é integrado ao instalador. Para entrar nele, basta selecionar a opção If none of the options above apply… na etapa Installation Destination.

O módulo de armazenamento do Cockpit suporta uma grande variedade de configurações de armazenamento, e o Stratis é uma das tecnologias suportadas. Não esqueça que, com particionamento manual, você precisa criar todas as partições necessárias; portanto, primeiro crie as partições exigidas para o boot (/boot e /boot/efi ou biosboot, conforme a configuração do seu sistema). Depois disso, basta criar um novo pool Stratis pelo menu.

Criando um pool Stratis

Depois de escolher um nome para o pool e o disco (ou discos) onde ele ficará, você pode decidir se habilita criptografia e over-provisioning para o pool. O over-provisioning permite alocar mais espaço para os sistemas de arquivos criados no pool, de forma semelhante ao funcionamento do thin provisioning do LVM e do Btrfs. Com o over-provisioning habilitado, não é preciso se preocupar em ficar sem espaço em root enquanto ainda há bastante espaço livre em /home. Ele também dá maior flexibilidade ao usar snapshots. Por outro lado, você precisa estar ciente de que não tem realmente terabytes de espaço e deve garantir que não vai ficar sem espaço no disco. Tanto a criptografia quanto o over-provisioning também podem ser habilitados ou desabilitados depois da instalação.

Criando sistemas de arquivos Stratis

Com o novo pool criado, agora você precisa adicionar alguns sistemas de arquivos a ele. Muito provavelmente você vai querer os dois sistemas de arquivos separados padrão para / e /home. Mas também é possível criar um sistema de arquivos separado para /var, por exemplo.

Se você habilitar o over-provisioning no pool, também pode optar por não especificar tamanhos para os sistemas de arquivos e usar o tamanho padrão 1 TiB com over-provisioning, ou definir um limite de tamanho para o sistema de arquivos, impedindo que ele cresça automaticamente caso você fique sem espaço.

Usando o layout configurado

Com todos os sistemas de arquivos criados, você pode Return to installation. O Anaconda vai verificar os dispositivos criados para garantir que todos os requisitos sejam atendidos e vai retornar você à página Installation destination, onde uma nova opção Use configured storage virá pré-selecionada com os dispositivos que acabaram de ser criados.

A parte de armazenamento da instalação está pronta. Você pode conferir na página Review and install se tudo está configurado corretamente e iniciar a instalação.

Instalação com kickstart

Para usuários avançados que desejam usar instalações automatizadas, também há suporte completo a Stratis no kickstart. Tanto o particionamento automático quanto o manual estão disponíveis via kickstart.

O particionamento automático é simples: o comando autopart existente pode ser usado com –type=stratis para criar o layout de armazenamento Stratis padrão de forma totalmente automática. Uma seção de armazenamento no kickstart, para configurar um layout Stratis criptografado, poderia ser assim:

zerombr
clearpart --all --initlabel
autopart --type=stratis --encrypted --passphrase="passphrase"

O particionamento manual exige construir todo o layout de armazenamento manualmente, de baixo para cima. Dois novos comandos kickstart de Stratis foram adicionados: stratispool, para criar e gerenciar pools Stratis, e stratisfs, para criar e gerenciar sistemas de arquivos Stratis. O uso desses comandos e da maioria das opções é semelhante ao funcionamento do particionamento kickstart com LVM. Um exemplo de um layout Stratis mais avançado pode ser visto abaixo.

reqpart
part /boot --fstype=ext4 --size=500
part stratis.01 --size=1 --grow --ondisk=vda
part stratis.02 --size=1 --grow --ondisk=vdb
stratispool fedora stratis.01 stratis.02
stratisfs / --name=root --poolname=fedora --size=5000 --grow
stratisfs /home --name=home --poolname=fedora --size=1 --grow

Aqui estamos criando um pool chamado fedora sobre dois discos, vda e vdb, com dois sistemas de arquivos. Um chamado root para / e um segundo chamado home para /home. O –grow instrui o instalador a usar todo o espaço livre disponível ao criar os dispositivos. Para mais detalhes sobre os comandos, consulte a documentação do kickstart.

Conclusão

O suporte a Stratis recém-introduzido no Anaconda oferece uma maneira fácil de aproveitar os recursos modernos de armazenamento oferecidos pelo Stratis. Com o suporte da interface web disponível por meio do módulo de armazenamento do Cockpit, agora você pode usar Stratis facilmente no seu sistema. Pretendemos simplificar ainda mais o processo em versões futuras e habilitar recursos ainda mais avançados do Stratis.

Se você encontrar algum problema ou tiver feedback, as equipes do Anaconda e do Stratis gostariam de ouvir você.