O zsys do Ubuntu 20.04 adiciona instantâneos do ZFS ao gerenciamento de pacotes

Foto do close up de um gato selvagem atento.
Prolongar / Esta é uma fossa. Parece estar focando. (Cryptoprocta ferox é um carnívoro pequeno e felino, nativo de Madagascar.)

Em outubro passado, um instalador experimental do ZFS apareceu no Eoan Ermine, o segundo lançamento intermediário do Ubuntu em 2019. No próximo mês, o Focal Fossa – o próximo lançamento LTS (Long Term Support) do Ubuntu – deve cair e ele mantém o instalador do ZFS ao adicionar vários novos recursos para o gerenciamento do sistema Ubuntu com o pacote zsys.

Phoronix informou neste fim de semana que zsys está tirando instantâneos antes das operações de gerenciamento de pacotes agora, por isso decidimos instalar a versão diária mais recente do Ubuntu 20.04 e ver como o novo recurso funciona.

Tomando o Focal Fossa para dar uma volta rápida

O Focal é instalado como qualquer outra versão do Ubuntu, mas mantém o instalador do ZFS do 19.10 – que ainda está escondido atrás de “recursos avançados” e ainda é rotulado como experimental. Após selecionar uma instalação do ZFS, você dá OK ao layout de partição resultante – com uma partição principal para inicialização UEFI e três partições lógicas para swap, pool ZFS de inicialização e pool ZFS raiz. Alguns minutos depois, você conseguiu uma instalação do Ubuntu.

Uma rápida olhada sob o capô

Depois de instalar o Fossa, a primeira coisa que fizemos foi verificar a versão instalada do zsys. o apt os snapshots de gerenciamento foram adicionados muito recentemente na 0.4.1 e aprendemos a não dar como certo o que está instalado nas versões diárias beta ou pré-beta das distribuições Linux. O Zsys já estava instalado por padrão e estava na versão 0.4.1.

Ainda não havia instantâneos no sistema recém-instalado, então fizemos uma rápida apt install gimp. Depois vimos que zsys tirou um instantâneo em todos os conjuntos de dados presentes no rpool. Tirar uma captura instantânea antes da instalação de novos pacotes significa que, se algo der errado, podemos facilmente reverter o sistema ao seu estado antes da instalação do novo pacote. Dividir o sistema em tantos conjuntos de dados diferentes significa, por sua vez, que podemos reverter apenas as partes do sistema afetadas pelo gerenciador de pacotes – por exemplo, podemos retroceder pacotes sem afetar os dados no diretório inicial do usuário.

Depois de instalar gimp e vendo novos instantâneos disponíveis, tentamos instalar um segundo pacote. 1 apt install pv mais tarde, verificamos novamente snapshots. Embora ainda tenhamos encontrado os instantâneos tirados antes da instalação gimp, não havia novos instantâneos para reverter nossa pv instalação. Após várias instalações e remoções experimentais sem novos instantâneos, começamos grep-ing nosso caminho através do /etc diretório para descobrir o porquê.

Dentro apt.conf.d encontramos um arquivo de configuração chamado 90_zsys_system_autosnapshot que adiciona um gancho de pré-instalação ao dpkg. Esse gancho de pré-instalação chama zsys-system-autosnapshot antes de fazer alterações no sistema de pacotes. Não sabíamos por que não tínhamos obtido novos instantâneos, então tentamos executar zsys-system-autosnapshot diretamente – ainda não há um novo instantâneo.

Quando nós demos uma olhada zsys-system-autosnapshot por si só, a razão pela qual não foram tirados novos instantâneos era óbvia. Um intervalo mínimo é incorporado nesse script para que ele saia sem fazer nada se tiver menos de 20 minutos desde a última vez em que tirou instantâneos.

Temos muita dúvida sobre esse recurso de intervalo mínimo. Por um lado, depois de acumular alguns milhares de instantâneos, você pode começar a ver problemas de desempenho do sistema de arquivos. Por outro lado, prevemos uma muito de instalações problemáticas de pacotes que não são cobertas com instantâneos dessa maneira.

Zsys ainda está no início do desenvolvimento

Devemos notar que zsys ainda nem está completo. A ferramenta promete todos os tipos de funcionalidades adicionadas e já é útil – mas ainda falta muito do polimento que os usuários normais precisam ver.

Nós podemos ver isso zsys refere-se a esses instantâneos gerados automaticamente como “estado do sistema” – e que zsysctl save tirará esses instantâneos e zsysctl show nos dará uma visão geral de alto nível de quais conjuntos de estados foram salvos. Mas não há correspondência zsysctl load no entanto, e até que ocorra, tentar usar essas economias para realmente se recuperar de um desastre permanecerá um pouco mais “especialista” em uma operação do que deveria.

O instalador do ZFS do Ubuntu divide o sistema básico em 21 conjuntos de dados desconcertantes, portanto, zsys realmente precisa desse assistente de reversão de alto nível. É bastante fácil reverter qualquer conjunto de dados individual usando o zfs próprio comando, por exemplo, zfs rollback rpool/USERDATA/jim_v1qce1@autosys_pmxbuj– mas não prevemos que os usuários se divirtam navegando em tais comandos.

Esperamos plenamente zsysctl para adicionar funcionalidade para reversões mais fáceis eventualmente. Ainda não está aqui.

Source link