WFS
Um Sistema de Arquivos FUSE-Linux Baseado na
Política Write-Once Read-Many
Tiago Falcão <[email protected]>
Ermeson Andrade, Rubens Matos, Paulo Maciel (UFPE)
Stephen Worth, Paul Malenfant (EMC Corporation)
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Agenda
• Contextualização
• Write-Once Read-Many File System
• Público-alvo
• Requisitos do sistema
• Funcionalidades
• Avaliação de Desempenho (Benchmark Bonnie)
• Ajustes de parâmetros
• Comparação entre o WFS e o Ext3
• Referências
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Contextualização
• Em 2009, 36% das casas brasileiras possuiam
computadores e 27% Internet
• Armazenamento de dados (músicas, exames médicos,
documentos fiscais, etc.) nos computadores
• Write-Once Read-Many (WORM)
• Técnica amplamente utilizada por corporações
• Evitar os riscos de deleções e modificações de conteúdo
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Desafio
Desenvolver um sistema de arquivos baseado na política
Write-Once Read-Many voltado para ambientes Linux
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Público-Alvo
• Usuários residenciais Linux
• Possivelmente sem privilégio de administrador
• Armazenamento de dados em disco rígido
• Redução do risco de deleções involuntárias de conteúdo
• Utilização de hardware de baixo custo
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Requisitos do Sistema
• Características WORM
• Permissão de criação de conteúdo
• Proibição de remoção e de modificação dos dados
• Código aberto
• Utilização gratuita por parte de usuários residenciais
• GPLv3 (não comercial)
• Atender a usuários sem privilégios
• Facilidade de instalação e de configuração
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Requisitos do Sistema
• Apresentar desempenho satisfatório
• Possibilitar forma alternativa de modificação e de
remoção
• Simplicidade no gerenciamento de conteúdo
• Sempre permitir leitura e criação de novos arquivos
• A interferência do administrador do sistema deve ser evitada
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Solução
WFS: Um Sistema de Arquivos FUSE Baseado na
Política Write-Once Read-Many
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Write-Once Read-Many File System
• Sistema de Arquivos Virtual
• Implementação da API do Filesystem in Userspace (FUSE)
• Portabilidade entre sistemas operacionais
• Utilização por usuários sem privilégios de administração
• Abstração das operações de baixo nível
• Características WORM
• Os arquivos e diretórios podem ser criados, mas não podem
ser renomeados ou removidos
• Operações de Superusuário não são permitidas
• Sudo, chmod, chown, etc..
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
WFS: Instalação
• Requisitos:
• FUSE instalado
• Compilação:
> gcc -o wfs -Wall -ansi -W -std=c99
D_FILE_OFFSET_BITS=64 -lfuse WFS.c
-g
-ggdb
-D_GNU_SOURCE
• Montagem:
> ./wfs -o direct_io readwrite_directory WORM_mount_point
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
-
WFS: Implementação
• API definida pelo FUSE
• Linguagem C
• Todas as 26 funções foram implementadas
• Mecanismo de Trace
• Rastreamento
• Depuração de código-fonte
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
WFS: Implementação
Características WORM associadas às funções
getattr(): proíbe modificação de conteúdo
create(), mkdir(): criação de conteúdo, se não existir
open(): proíbe remoção e abertura de arquivo em modo escrita
access(): proíbe acesso a arquivos em modo escrita
rmdir(), unlink(), rename(), chmod(), chown(): operações
retornam erros de falta de permissão
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Avaliação de Desempenho
Workload Bonnie
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Workload e Ambiente
• Adaptação do Workload Bonnie
• Redirecionamento de operações de reescrita para outro
arquivo
• Remoção do código responsável por apagar os arquivos
após o encerramento dos testes
• Arquivos de 10 MB e 1000 MB
• 30 repetições para cada cenário de teste
• Ambiente livre de interferência relevante
• Dell Vostro 1500 com processador Intel Core 2 Duo 2,20 GHz,
2,5 GB de RAM, 160 GB de HD IDE e Sistema Operacional
GNU/Linux – Distribuição Ubuntu 9.04.
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Experimento Fatorial Completo
• 4 Fatores de configuração selecionados
• Fatores nomeados na sequência: A, B, C, D
• 16 cenários de teste (24)
• Qual cenário minimiza a perda de performance do WFS?
• Efeitos e relevâncias dos fatores e suas interações
foram calculados
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Experimento Fatorial Completo (Resultados)
Arquivos de 10MB
Arquivos de 1000MB
Melhores cenários:
Melhores cenários:
Parâmetros A e D ligados (1001)
Parâmetro A ligado (1000)
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Comparação com o Ext3
Resultados de tempo de execução do workload Bonnie
Sistema de Arquivos
Ext3
WFS
Arquivos de 10 MB
Média (s)
DP (s)
5,79
6,14
0,36
0,16
Arquivos de 1000 MB
Média (s)
DP (s)
122,63
139,5
1,91
2,28
• Discreta perda de desempenho
• Arquivos de 10 MB: Ext3 é 5,5% mais rápido do que o WFS
• Para arquivos de 1000 MB, a diferença é inferior a 12%
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Conclusão e Trabalhos Futuros
• Sistema de arquivos com características WORM
• Evita deleções e modificações indesejáveis
• Permite apenas criação de conteúdo
• Código-Livre
• Foco em usuário residencial Linux
• Não necessita de privilégios de administrador
• Nem de investimentos em hardware de alto custo
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Conclusão e Trabalhos Futuros
• Apresenta discreta perda de desempenho em relação
ao Ext3 não-WORM
• Habilitando os parâmetros de Direct I/O
• Trabalhos Futuros:
• Técnicas para prover maiores garantias de integridade aos
dados serão adicionadas ao WFS
• Desenvolvimento de um WFS-Kernel
•
Segurança, integridade, tolerância a falhas etc.
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Artigos Publicados
• T. Falcao, E. Andrade, R. Matos, R. Ferraz, P. Maciel, S. Worth,
and P. Malenfant. Otimização do Desempenho de um Sistema de
Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many.
Conferência Latino-americana de Informática, 2010.
• T. Falcao, E. Andrade, R. Matos, P. Maciel, S. Worth, and P.
Malenfant. WFS: Um Sistema de Arquivos FUSE-Linux Baseado
na Política Write-Once Read-Many. Workshop de Software Livre,
2010
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Dúvidas
e Sugestões
Objective
?
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
WFS
Um Sistema de Arquivos FUSE-Linux Baseado na
Política Write-Once Read-Many
Tiago Falcão <[email protected]>
Ermeson Andrade, Rubens Matos, Paulo Maciel (UFPE)
Stephen Worth, Paul Malenfant (EMC Corporation)
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>
Download

Sistema de suporte à decisão para sistemas produtivos