segunda-feira, 19 de outubro de 2009

Sistemas de Arquivos da Nova Geração - NILFS


1. Introdução

Irei apresentar algumas características deste sistema de arquivos de nova geração. Como ele se encontra num estágio de desenvolvimento bastante primário, as chances são que seus recursos poderão maturar bastante ainda, quando estiver próximo de um release stable.


NILFS

NILFS (New Implementation of a Log-structured File System ou NIL File System) é uma implementação de sistema de arquivos de log estruturado   para  o Linux . Ele está sendo desenvolvido pela Nippon Telephone and Telegraph CyberSpace Laboratories (parte da Nippon Telegraph e Telephone Corporation) e lançado sob os termos da GNU General Public License (GPL).

NILFS2 está incluído no kernel Linux 2.6.30. Uma licença BSD separada, atualmente  somente com suporte à leitura está incluída no NetBSD.

Recursos

Como um sistema de arquivos de log-estruturado (uma forma específica de técnica copy-on-write ), NILFS anota todos os dados em um registro contínuo do tipo  que só é anexado, nunca gravado por cima, uma abordagem que visa reduzir tempos de busca , bem como minimizar o tipo de perda de dados que ocorre após um acidente com sistemas de arquivos convencionais Linux. Por exemplo, a perda de dados ocorre em ext3 quando o sistema cai durante uma operação de gravação. Quando o sistema for reinicializado, o journal observa que a gravação não foi concluída, e os dados parciais escritos no disco são perdidas.

Alguns sistemas de arquivos, como o sistema de arquivos UFS legado usado pelo sistema operacional Solaris, fornecer dados de um "snapshot" recurso que impede a perda desses dados, mas a operação do sistema de arquivos deve ser suspenso para usar o recurso, reduzindo o desempenho. NILFS, em contrapartida, pode "continuamente e automaticamente salvar "snapshots"  do sistema de arquivos sem interromper o serviço", de acordo com a NTT Labs.

Os "snapshots" que NILFS continuamente guarda podem realmente ser montados, somente leitura, ao mesmo tempo que o sistema atual está montado read-write - um recurso útil para a recuperação de dados após falhas de hardware e falhas do sistema.

Assim, após uma falha, o log seria verificado e, finalmente no Linux, poderia haver recuperação de dados apagados (o que não ocorre tão facilmente assim hoje).

Os "snapshots" é claro, teriam um tempo de vida útil, como 1 semana, 1 mês, 2 meses. Tudo fica configurado nos arquivos .conf do sistema de arquivos.


Recursos adicionais


  • Escrita e tempos de recuperação rápidos
  • Danos mínimos ao dados dos arquivos e à consistência do sistema em uma falha de hardware
  • 32-bit checksums (CRC32) sobre os dados e metadados para a garantia da integridade (por grupo de blocos , em no índice do segmento) 
  • escrita corretamente ordenada de dados e meta-dados. 
  • superbloco Redundante
  • Arquivos e blocos são geridos por uma estrutura de árvore B (B Tree)
  • Dados internos são  processados em 64-bit
  • Pode criar e armazenar arquivos enormes (8 BEI)
  • Bloco de tamanhos menores do que o tamanho da página (ex 1 KB ou 2 KB)

Fonte: http://www.linuxfordevices.com/c/a/News/Linux-gains-lossless-filesystem/

Nenhum comentário:

Postar um comentário