Sistema de arquivos Reiser5 disponível

Disponível Para teste, o sistema de arquivos Reiser5 com suporte para volumes lógicos na máquina local. A principal inovação é o escalonamento paralelo (scaling out), que não é realizado no nível do bloco, mas por meio do sistema de arquivos.

Como vantagem desta abordagem, afirma-se que não existem desvantagens inerentes às combinações FS+RAID/LVM e sistemas de arquivos não paralelos (ZFS, Btrfs), como o problema de espaço livre, degradação de desempenho quando o volume é preenchido mais de 70%, algoritmos desatualizados para organização de volumes lógicos (RAID/LVM), que não permitem a distribuição eficiente de dados em um volume lógico. Em um FS paralelo, antes de adicionar um dispositivo a um volume lógico, ele deve ser formatado usando o utilitário mkfs padrão.

Reiser5 usa um alocador de bloco livre O(1). O custo máximo de qualquer operação de busca de bloco livre não depende do tamanho do volume lógico. É possível montar de forma simples e eficiente um volume lógico a partir de dispositivos de bloco de diferentes tamanhos e larguras de banda. A distribuição de dados entre esses dispositivos ocorre por meio de novos algoritmos (os chamados “fiber striping”) propostos pelo matemático e programador russo Eduard Shishkin.

A parcela das solicitações de E/S direcionadas a cada dispositivo é igual à sua capacidade relativa atribuída pelo usuário, de modo que o volume lógico seja preenchido com dados “de maneira uniforme” e “razoável”. Ao mesmo tempo, dispositivos de blocos com menor capacidade recebem menos blocos para armazenamento, e dispositivos com menor largura de banda não se tornam um “gargalo” (como acontece, por exemplo, em arrays RAID).

Adicionar um dispositivo a um volume e removê-lo de um volume é acompanhado de rebalanceamento, que preserva a “justiça” da distribuição. Neste caso, a parcela dos dados migrados também é igual à capacidade relativa do dispositivo que está sendo adicionado (removido). A velocidade de migração de dados não fragmentados está próxima da velocidade de gravação em disco. É possível manter simultaneamente todos os dispositivos de bloco incluídos em um volume lógico, utilizando uma abordagem individual para cada um deles (desfragmentação para HDDs, emissão de solicitações de Descarte para SSDs, etc.). O espaço livre em um volume lógico é monitorado usando o utilitário padrão df(1). Além disso, o usuário tem a oportunidade de monitorar o espaço livre em cada dispositivo componente do volume lógico.

Todas as operações com volumes lógicos (adicionar, excluir dispositivos, etc.) são atômicas e são implementadas usando ferramentas padrão para trabalhar com transações no Reiser4. O correto “desdobramento” do volume após tal operação interrompida é regulado por instruções. No momento, o Reiser5 ainda não possui ferramentas para gerenciamento de volumes off-line (montados), portanto, os usuários são convidados a armazenar e atualizar de forma independente as configurações de seus volumes lógicos por enquanto. Esta configuração pode ser facilmente preparada para um volume montado usando o utilitário de volume lógico incluído no pacote reiser4progs.

Planejado:

  • Distribuição de metadados em vários subvolumes;
  • Verificar/recuperar volumes lógicos usando o utilitário fsck (atualizando sua versão antiga);
  • Controle personalizado sobre distribuição e migração transparente de dados, o que é de grande importância para aplicações HPC (Burst Buffers);
  • Checksums de dados e metadados;
  • Instantâneos 3D de volumes lógicos com capacidade de reverter não apenas operações regulares de arquivos, mas também operações em volumes (como adição e remoção de dispositivos);
  • Volumes globais (de rede) que agregam dispositivos em máquinas diferentes.

Fonte: opennet.ru

Adicionar um comentário