HAMMER

Sistema de arquivos da DragonFly BSD

HAMMER é um sistema de arquivos de alta disponibilidade de 64 bits desenvolvido por Matthew Dillon para o DragonFly BSD usando árvores B+. Seus principais recursos incluem instantâneos infinitos exportáveis para NFS, operação mestre-multiescravo, retenção de histórico configurável, montagem sem necessidade de usar fsck, e soma de verificação para lidar com a corrupção de dados.[4] O HAMMER também suporta a desduplicação de blocos de dados, o que significa que os blocos de dados idênticos serão armazenados apenas uma vez em um sistema de arquivos.[5]

HAMMER
Desenvolvedor Matthew Dillon
Nome completo HAMMER
Lançamento 21 de julho de 2008 (DragonFly BSD 2.0[1])
Estruturas
Conteúdos de diretório Árvore B+[2]
Limites
Tamanho máximo do volume 1 EiB[2]
Recursos
Bifurcações Não
Permissões de sistema de arquivos Permissões UNIX
Compressão transparente Sim[3]
Armazenamento de caso único Sob demanda
Sistemas operativos suportados DragonFly BSD
Portal das Tecnologias de informação

Recursos editar

O sistema de arquivos HAMMER fornece históricos de sistema de arquivos configuravel de forma fina e grossa com disponibilidade de instantâneos online. Até 65536 pseudo-sistemas de arquivos (PFSs) mestres (leitura e gravação) e escravos (somente leitura), com parâmetros de retenção individual independentes e numeração de inodes, podem ser criados para cada sistema de arquivos; os PFSs podem ser espelhados para múltiplos escravos localmente ou sobre conexão de rede com desempenho quase em tempo real. Não é necessária verificação do sistema de arquivos na remontagem.[4][6][7][8]

HAMMER suporta volumes de até 1 EiB de capacidade de armazenamento. O sistema de arquivos suporta soma de verificação CRC de dados e metadados, correção de layout online e desduplicação de dados, e alocação dinâmica de inodes com número efetivamente ilimitado de inodes.[6][9][10]

Limitações editar

Atualmente, é necessária manutenção regular para manter o sistema de arquivos limpo e recuperar espaço após a eliminação de arquivos. Por padrão, um trabalho cron executa as ações necessárias no DragonFly BSD diariamente. HAMMER não suporta configurações multi-mestre.[6][8]

Desempenho editar

As seguintes melhorias relacionadas ao desempenho foram introduzidas em julho de 2011:[11]

  • Velocidade de leitura de disco aumentada em certas situações através da implementação de multiplexador de domínio de tempo modulado por comprimento de pulso em operação de cursor da árvore B
  • Removido um problema de travamento por deadlock
  • Desempenho melhorado de leitura durante operações de escrita de arquivo concurrentes e pesadas

Desenvolvimento editar

O HAMMER foi desenvolvido especificamente para o DragonFly BSD para fornecer um análogo rico em recursos, porém melhor planejado do cada vez mais popular ZFS.

Desde junho de 2014, o sistema de arquivos HAMMER2 foi desenvolvido ativamente por Matthew Dillon, que inicialmente planejou lançá-lo em estado de funcionamento mínimo em julho de 2012 e lançar a versão final em 2013.[12] Durante a Google Summer of Code 2013, Daniel Flores implementou a compressão de dados no HAMMER2 usando os algoritmos LZ4 e zlib.[13] Em 4 junho de 2014, o DragonFly 3.8.0 foi lançado com suporte ao HAMMER2, porém foi anunciado que este sistema de arquivos ainda não estava pronto para uso.[14]

Referências

  1. Larabel, Michael (7 de janeiro de 2011). «Can DragonFlyBSD's HAMMER Compete With Btrfs, ZFS?». Phoronix. Consultado em 26 de maio de 2014 
  2. a b Dillon, Matthew (21 de junho de 2008). «THE HAMMER FILESYSTEM» (PDF). Consultado em 2 de março de 2009 
  3. Larabel, Michael (30 de maio de 2015). «HAMMER2 File-System Now Uses LZ4 Compression By Default». Phoronix. Consultado em 14 de dezembro de 2017 
  4. a b «hammer(5)». leaf.dragonflybsd.org DragonFly BSD File Formats Manual
  5. Sherrill, Justin (7 de novembro de 2010). «Deduplication arrives». Consultado em 28 de novembro de 2011 
  6. a b c «HAMMER». DragonFly BSD. Consultado em 28 de novembro de 2011 
  7. Vervloesem, Koen (21 de abril de 2010). «DragonFly BSD 2.6: towards a free clustering operating system». LWN.net. Consultado em 26 de maio de 2014 
  8. a b George, Siju (maio de 2014). «Working with Hammer File System and PFSes» (PDF). Warsaw, Poland: Hakin9 Media SK. BSD Magazine. 8 (5): 18–23. Consultado em 25 de maio de 2014. Arquivado do original (PDF) em 27 de maio de 2014 
  9. «hammer(8)» DragonFly BSD System Maintenance and Operation Commands Manual
  10. Kemp, Juliet (4 de agosto de 2008). «Tip of the Trade: Dragonfly BSD and the Hammer Filesystem». ServerWatch. Consultado em 26 de maio de 2014 
  11. Dillon, Matthew (22 de julho de 2011). «git: HAMMER VFS - Add code to reduce frontend vs flusher locking conflicts». commits (Lista de grupo de correio) 
  12. Dillon, Matthew (8 de fevereiro de 2012). «DESIGN document for HAMMER2 (08-Feb-2012 update)». users (Lista de grupo de correio) 
  13. «Block compression feature in HAMMER2». GSoC 2013. Google. Consultado em 5 de junho de 2014 
  14. «DragonFly Release 3.8». DragonFly BSD. 4 de junho de 2014. Consultado em 5 de junho de 2014 

Ligações externas editar

Ver também editar


  Este artigo sobre software é um esboço. Você pode ajudar a Wikipédia expandindo-o.