Outro dia, eles lançaram a versão estável mais recente do ZFSonLinux, um projeto que agora é central no mundo de desenvolvimento do OpenZFS. Adeus OpenSolaris, olá feroz mundo incompatível com GPL-CDDL do Linux.
Sob o corte é uma visão geral das coisas mais interessantes (ainda,
2200 compromete-se!), E para a sobremesa - um pouco de intriga.
Novas fichas
Obviamente, o mais esperado é a
criptografia nativa . Agora você pode criptografar apenas os conjuntos de dados necessários com a criptografia integrada no ZFS e (na minha opinião, a principal) - você pode enviar dados criptografados via
zfs send e SEM descriptografar para verificar a integridade dos dados usando as ferramentas integradas; todas as opções para manter a integridade dos dados ZFS estarão com você!
Mais importante é o tão esperado
TRIM . Sim, ele demorou muito tempo a chegar à produção. Em parte porque o problema do desgaste do SSD não é tão crítico para os sistemas de arquivos CoW. Mas agora estamos todos calmos - o
zpool trim salvará nossos delicados pen drives.
Agora você pode
excluir as matrizes vdev adicionadas aleatoriamente do pool (mas apenas se forem esparsas ou espelhadas). Ninharia útil.
Mais adiante em nossos gráficos -
pontos de verificação de pool . Resumidamente - instantâneos para todo o estado do pool, MAS que possibilitam reverter alterações não apenas nos dados, mas também recursos e alterações na estrutura incluída no pool. Outra oportunidade para estar seguro.
Inicialização de pool - preenchendo o armazenamento subjacente com zeros. Útil para trabalhar em ambientes de disco thin provisioned para alocar explicitamente espaço e eliminar problemas de desempenho inesperados posteriormente.
Contabilidade e cota do projeto - no mecanismo de cota existente, agora é possível usar a separação em projetos.
Programas de canal - a capacidade de executar tarefas administrativas atomicamente usando scripts Lua. Existem limites de tempo de execução e memória. Se você faz automação, isso é para você.
Direct IO - por simplicidade, eles transformaram o trabalho do Direct IO, nada mudou por dentro (apenas as chamadas chegam até o cache), mas agora o software que deseja trabalhar nesse modo não sofre.
O projeto
Pyzfs é despejado no repositório principal e levado sob a asa do projeto ZFSonLinux. Agora, existem mais ferramentas para gerenciar a partir de python (bem, será mais calmo para suportar o módulo). Muitos scripts python também são adaptados para python3.
E agora gostoso - desempenho
Agora, com operações de limpeza e resilver, os metadados são lidos primeiro e somente então, na forma mais
seqüencial , os dados. Assim, a recuperação da matriz e a verificação da integridade são realizadas na velocidade máxima.
Classes de alocação - as matrizes vdev têm um tipo de mídia, agora você pode transferir o armazenamento de tabelas de metadados / deduplicação (DDT) / blocos de dados com menos de X Kbytes para uma matriz vdev separada a partir de discos mais eficientes.
Mais velocidade para o deus da velocidade! (e, no caso, esse recurso é muito útil no próximo
DRAID ).
Muitos comandos administrativos agora funcionam mais rapidamente devido ao armazenamento em cache de metadados baseado em pontos (por exemplo,
lista zfs, zfs get ).
O processo de alocação de dados é
paralelo . Agora, para cada seção do espaço livre (metaslab), vários alocadores são criados. Com o NVME, é claro, tudo não será extinto, mas ficará melhor.
Uma restauração atrasada da integridade da matriz permitirá não carregar a matriz com a remontagem simultânea de vários discos, mas fará isso sequencialmente. Isso reduzirá o impacto no desempenho e o tempo de remontagem.
Ao importar conjuntos
com um grande número de volumes, a velocidade de seu registro no sistema é aumentada.
Além disso, o
QAT agora permite fazer upload para ele do cálculo de criptografia e somas de verificação.
Além de um monte de pequenas alterações (mesmo assim, mais de 2000 confirmadas no lançamento!).Bem, para a sobremesa - intriga
Embora o ZFSonLinux esteja adicionando rapidamente suporte para novos kernels do Linux (as versões 2.6.32 - 5.1 * agora são suportadas), os mantenedores do kernel estão claramente desinteressados em ajudar os módulos de terceiros ("
... não nos importamos com nada)
módulos de kernel externos ... - greg kh "). Portanto, as chamadas do kernel necessárias para uma operação eficiente na ramificação 5.0
foram alteradas para somente GPL . Nos kernels com esse patch, o desempenho do ZFS será muito pior. Isso evita que essa funcionalidade possa ser implementada em ao lado do módulo, o que provavelmente será feito.Enquanto isso, você pode dar um exemplo do NixOS - eles
apenas retrocederam o patch no kernel :)
O projeto também apareceu Código de Conduta, que gerou uma onda de holivarov. Mas resistimos :)
Todos os backups de trabalho e versões estáveis!
Links úteis:
-
lançamento no github-
minha introdução ao ZFS