Depois de uma pausa de um ano no desenvolvimento
LagartoFS
Para garantir a tolerância a falhas, os dados são divididos em réplicas, que são distribuídas entre diferentes nós com redundância (várias cópias são colocadas em nós diferentes); se os nós ou unidades falharem, o sistema continua a operar sem perda de informações e redistribui automaticamente os dados tendo em conta os restantes nós. Para expandir o armazenamento, basta conectar novos nós a ele sem interromper os trabalhos de manutenção (o próprio sistema replica parte dos dados para novos servidores e equilibra o armazenamento levando em consideração os novos servidores). Você pode fazer o mesmo para reduzir o tamanho do cluster - você pode simplesmente desabilitar o equipamento obsoleto que está sendo removido do sistema.
Dados e metadados são armazenados separadamente. Para funcionamento, recomenda-se a instalação de dois servidores de metadados operando em modo master-slave, bem como pelo menos dois servidores de armazenamento de dados (chunkserver). Além disso, para fazer backup de metadados, servidores de log podem ser usados para armazenar informações sobre alterações nos metadados e permitir restaurar a operação em caso de danos a todos os servidores de metadados existentes. Cada arquivo é dividido em blocos (pedaços), de até 64 MB. Os blocos são distribuídos entre os servidores de armazenamento de acordo com o modo de replicação selecionado: padrão (determinação explícita do número de cópias a serem colocadas em diferentes nós, inclusive em relação a diretórios individuais - para dados importantes o número de cópias pode ser aumentado, e para dados sem importância reduzidos), XOR (RAID5) e EC (RAID6).
O armazenamento pode ser dimensionado para tamanhos de petabytes. As áreas de aplicação incluem arquivamento, armazenamento de imagens de máquinas virtuais, dados multimídia, backups, uso como DRC (Disaster Recovery Center) e como armazenamento em clusters de computação de alto desempenho. O LizardFS oferece altíssima velocidade de leitura para arquivos de qualquer tamanho e, ao gravar, apresenta bom desempenho ao gravar arquivos inteiros de grande e médio porte, quando não há modificação constante, trabalho intensivo com arquivos abertos e operações únicas com um monte de arquivos pequenos.
Dentre as funcionalidades do FS, nota-se também a presença de suporte para snapshots, refletindo o estado dos arquivos em um determinado momento, e uma implementação integrada da “lixeira” (os arquivos não são excluídos imediatamente e ficam disponíveis para recuperação por algum tempo). O acesso a uma partição pode ser limitado por endereço IP ou senha (semelhante ao NFS). Existem mecanismos de gerenciamento de cotas e qualidade de serviço que permitem limitar o tamanho e a largura de banda para determinadas categorias de usuários. É possível criar instalações de armazenamento distribuídas geograficamente, cujos segmentos estão localizados em diferentes data centers.
O projeto LizardFS foi fundado em 2013 como um fork
O LizardFS 3.13.0 está programado para ser lançado no final de dezembro. A principal inovação do LizardFS 3.13 é a utilização de um algoritmo de consenso para garantir tolerância a falhas (troca de servidores master em caso de falha)
Outras mudanças: um novo cliente baseado no subsistema FUSE3, resolvendo problemas de correção de erros, o plugin nfs-ganesha foi reescrito em linguagem C. A atualização 3.13.0-rc2 corrige vários bugs críticos que tornaram as versões de teste anteriores da ramificação 3.13 inutilizáveis (as correções para a ramificação 3.12 ainda não foram publicadas e a atualização de 3.12 para 3.13 ainda leva à perda completa de dados).
Em 2020, o trabalho centrar-se-á no desenvolvimento
O cliente LizardFS adicionará suporte completo para operações de gravação de versionamento, o que melhorará a confiabilidade da recuperação de desastres, resolverá problemas que surgem quando diferentes clientes compartilham acesso aos mesmos dados e permitirá melhorias significativas de desempenho. O cliente será transferido para seu próprio subsistema de rede operando no espaço do usuário. O primeiro protótipo funcional do LizardFS baseado em Agama está planejado para estar pronto no segundo trimestre de 2020. Ao mesmo tempo, prometem implementar ferramentas de integração do LizardFS com a plataforma Kubernetes.
Fonte: opennet.ru