22
MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org> WFS Um Sistema de Arquivos FUSE-Linux Baseado na Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many 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 WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

Embed Size (px)

Citation preview

Page 1: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

WFSUm Sistema de Arquivos FUSE-Linux Baseado na Um Sistema de Arquivos FUSE-Linux Baseado na

Política Write-Once Read-ManyPolítica Write-Once Read-Many

Tiago Falcão <[email protected]>Ermeson Andrade, Rubens Matos, Paulo Maciel (UFPE)Stephen Worth, Paul Malenfant (EMC Corporation)

Page 2: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Agenda

Page 3: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Contextualização

Page 4: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

Desenvolver um sistema de arquivos baseado na política Write-Once Read-Many voltado para ambientes

Linux

Desafio

Page 5: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Público-Alvo

Page 6: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Requisitos do Sistema

Page 7: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Requisitos do Sistema

Page 8: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

WFS: Um Sistema de Arquivos FUSE Baseado na Política Write-Once Read-Many

Solução

Page 9: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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..

Write-Once Read-Many File System

Page 10: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• Requisitos:• FUSE instalado

• Compilação:

• Montagem:

WFS: Instalação

> gcc -o wfs -Wall -ansi -W -std=c99 -g -ggdb -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -lfuse WFS.c

> ./wfs -o direct_io readwrite_directory WORM_mount_point

Page 11: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• API definida pelo FUSE• Linguagem C

• Todas as 26 funções foram implementadas

• Mecanismo de Trace• Rastreamento

• Depuração de código-fonte

WFS: Implementação

Page 12: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

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

WFS: Implementação

Page 13: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

Avaliação de DesempenhoWorkload BonnieWorkload Bonnie

Page 14: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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.

Workload e Ambiente

Page 15: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Experimento Fatorial Completo

Page 16: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

Arquivos de 10MBMelhores cenários:

Parâmetros A e D ligados (1001)

Experimento Fatorial Completo (Resultados)

Arquivos de 1000MBMelhores cenários:

Parâmetro A ligado (1000)

Page 17: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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%

Comparação com o Ext3

Sistema de Arquivos Arquivos de 10 MB Arquivos de 1000 MBMédia (s) DP (s) Média (s) DP (s)

Ext3 5,79 0,36 122,63 1,91WFS 6,14 0,16 139,5 2,28

Resultados de tempo de execução do workload Bonnie

Page 18: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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

Conclusão e Trabalhos Futuros

Page 19: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

• 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.

Conclusão e Trabalhos Futuros

Page 20: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

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

Page 21: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

ObjectiveDúvidas e Sugestões

????

Page 22: MoDCS – Modeling of Distributed and Concurrent Systems WFS Um Sistema de Arquivos FUSE-Linux Baseado na Política Write-Once Read-Many Tiago Falcão Ermeson

MoDCS – Modeling of Distributed and Concurrent Systems <www.modcs.org>

WFSUm Sistema de Arquivos FUSE-Linux Baseado na Um Sistema de Arquivos FUSE-Linux Baseado na

Política Write-Once Read-ManyPolítica Write-Once Read-Many

Tiago Falcão <[email protected]>Ermeson Andrade, Rubens Matos, Paulo Maciel (UFPE)Stephen Worth, Paul Malenfant (EMC Corporation)