domingo, 1 de novembro de 2009

Sistemas de Arquivos da Nova Geração - BTRFS



Btrfs ( "B-Tree FS ", pronuncia-se "Butter FS" ) é um GPL "copy-on-write file system" para Linux anunciado pela Oracle em 2007 .

Btrfs destina-se a preencher a falta de um sistema de arquivos no Linux com o pooling, snapshots, checksums e multi-device spanning integral -características cruciais neste momento em que o Linux está se firmando no cenário de grandes servidores, e, necessita de capacidades de armazenamento de ordem empresarial (grandes empresas, nesse caso).
Espera-se oferecer um conjunto de recursos comparáveis aos do ZFS da Sun .
Chris Mason, o autor principal do sistema de arquivos, declarou seu objetivo era "permitir que o Linux possa manipular toda a capacidade de armazenamento que ainda está por vir. E, essa capacidade não significa apenas manipular terabytes de dados de armazenamento, mas permitir também gerenciar essa capacidade, com uma interface fácil, tansparente e limpa, que permite às pessoas verem o que está sendo usado, tornando todo o sistema mais confiável"

A Oracle também começou a trabalhar no CRFS (Coherent Remote File System), um protocolo de arquivos de rede destinado a utilizar a arquitetura Btrfs para obter um melhor desempenho do que os protocolos existentes (tal como NFS e CIFS) e permitir os recursos do Btrfs, como snapshots, aos clientes remotos. 

Btrfs 1.0 (com o formato finalizado de disco) foi originalmente programado para lançamento em finais de 2008,  mas, em meados de agosto de 2009, ainda não está pronto para uso em produção. Foi aceito para testes no mainline kernel  a partir da versão 2.6.29rc1 .

O desenvolvedor principal dos sistemas de arquivos ext3 e ext4 , Theodore Ts'o, declarou que o ext4 é apenas um tapa-buracos e que Btrfs é o caminho a seguir, tendo "uma série de ideias no projeto que o reiser3 / 4 tinha ".

Recursos

Btrfs, até agora, tem implementado: 

     * Crescimento e encurtamento Online dos volume
     * Adição e remoção Online  de dispositivo de bloco
     * A desfragmentação online
     * Equilíbrio Online (movimento de objetos entre dispositivos de bloco para o equilíbrio de carga)
     * Compressão transparente (atualmente zlib)
     * Snapshots (remoção do snapshot online ainda não implementado)
     * Clonagem de arquivos (copy-on-write em arquivos individuais ou intervalos de bytes do mesmo)
     * Subvolumes (separadamente montáveis nas raízes do sistema de arquivos)
     * Subvolume snapshots graváveis   e snapshots de snapshots
     * Espelhamento  RAID1-like e, RAID0-like striping
     * Checksums sobre os dados e metadados (atualmente CRC-32C)
     * A conversão de sistemas de arquivos (com reversão) de ext3 para Btrfs 
     * File system seeding  (Btrfs em volumes de armazenamento somente leitura utilizado apenas como uma cópia na gravação de apoio para uma Btrfs gravável)
     * Operações definidas pelo usuário
     * Suporte a descarte de blocos (recupera o espaço em algumas configurações de virtualização ou melhora o desgaste de nivelamento em SSDs, notificando o dispositivo de armazenamento subjacente que não está mais em uso).

Características previstas incluem:

     * Raid a nível de objeto (RAID5-like e RAID6-like) 
     * Verifricação on-line e offline do sistema de arquivos 
     * Dumps Incrementais

Nenhum comentário:

Postar um comentário