Injeção de faltas reprodutível em sistemas de armazenamento local

Reproducible fault injection in local storage systems
dc.contributor.advisorPaulo, João Tiago Medeirospor
dc.contributor.advisorMacedo, Ricardo Gonçalvespor
dc.contributor.advisorEsteves, Tânia da Conceição Araújopor
dc.contributor.authorRamos, Maria José Costapor
dc.date.accessioned2024-09-12T16:48:04Z
dc.date.available2024-09-12T16:48:04Z
dc.date.issued2024-02-19
dc.date.submitted2023-12
dc.description.abstractA era digital trouxe a incorporação dos computadores em vários setores do nosso quotidiano. Tem-se verificado, ao longo dos anos, uma crescente dependência na tecnologia, o que se traduz na necessidade de sistemas cada vez mais resilientes, rápidos, seguros e disponíveis. Consequentemente, a complexidade dos sistemas tem vindo a crescer, o que leva à implementação de mecanismos de persistência e atualização de dados mais difíceis de testar. Para elevar o nível de dificuldade, os diversos sistemas de ficheiros possuem particularidades que afetam de forma significativa estes mecanismos e a consistência das aplicações após a ocorrência de falhas de energia e dos sistemas operativos. Evitar a perda total ou parcial dos dados deve ser um ponto fulcral para sistemas de armazenamento com fortes garantias de durabilidade e coerência. Na literatura, os sistemas capazes de voltar a um estado coerente após uma falha de energia são chamados de crash-consistent. Muito do trabalho relacionado foca-se na crash consistency dos sistemas de ficheiros e, quando se foca nas aplicações, verifica-se a falta de ferramentas para reprodução de bugs. Quando um utilizador reporta problemas encontrados numa dada aplicação, é útil para as equipas de desenvolvimento terem uma ferramenta que rapidamente reproduz o bug e ajude na sua correção. Esta dissertação propõe o LazyFS+, um sistema de ficheiros que simula a perda total e parcial de dados através da injeção de faltas baseada em software. A nossa solução possui uma cache interna, o que permite uma gestão determinística dos dados das aplicações e a injeção de faltas reprodutível. Um dos seus pontos fortes é o facto de imitar comportamentos que alguns sistemas de ficheiros apresentam, como a reordenação de escritas, sem se prender a uma implementação específica. Para além disso, facilita a análise das operações executadas pela aplicação e permite obter informação sobre os dados não sincronizados. O LazyFS+ provou-se útil através da reprodução de bugs já conhecidos e da identificação desses mesmos bugs em versões antigas das aplicações, nunca antes reportados. Para além disso, foi possível encontrar novos bugs, quer em versões antigas, quer em versões mais recentes das aplicações. Estes últimos foram reportados com todos os passos de reprodução realizados com o LazyFS+. Como resultado, atualmente este está a ser integrado nos testes do sistema de armazenamento chave-valor etcd.por
dc.description.abstractThe digital era has brought the incorporation of computers into various sectors of our daily lives. Over the years, there has been an increasing dependence on technology, which translates into the need for increasingly resilient, fast, secure and available systems. Consequently, the complexity of systems has been growing, which leads to the implementation of data persistence and update mechanisms that are more difficult to test. To increase the level of difficulty, the different file systems have particularities that significantly affect these mechanisms and the consistency of applications after power and operating system failures. Avoiding total or partial loss of data must be a key point for storage systems with strong guarantees of durability and consistency. In the literature, systems capable of returning to a consistent state after a power failure are called crash consistent. Much of the related work focuses on the crash consistency of file systems, and when it focuses on applications, there is a lack of tools for reproducing bugs. When a user reports issues encountered in a particular application, it is useful for development teams to have a tool that quickly reproduces the bug and helps with its fix. This dissertation proposes LazyFS+, a file system that simulates total and partial data loss through software-based fault injection. Our solution has an internal cache, which allows deterministic management of application data and reproducible fault injection. One of its strengths is the fact that it imitates beha viors that some file systems present, such as the reordering of writings, without being tied to a specific implementation. Furthermore, it facilitates the analysis of the operations carried out by the application and allows to obtain information about unsynchronized data. LazyFS+ proved useful by reproducing already known bugs and identifying these same bugs in older versions of applications, never before reported. Furthermore, it was possible to find new bugs, both in old and newer versions of the applications. The latter were reported with all reproduction steps performed with LazyFS+. As a result, this is currently being integrated into testing of the etcd key-value store.por
dc.description.sponsorshipEste trabalho foi financiado por Fundos Nacionais através da agência de financiamento portuguesa, FCT - Fundação para a Ciência e a Tecnologia, no âmbito dos projetos LA/P/0063/2020 e UIDP/50014/2020, e pela Componente 5 – Capitalização e Inovação Empresarial, integrada na Dimensão Resiliência do Plano de Recuperação e Resiliência no âmbito do Mecanismo de Recuperação e Resiliência (MRR) da União Europeia (UE), enquadrado no Próximo Geração EU, para o período 2021 - 2026, no âmbito do projeto ATE, com referência 56.por
dc.identifier.tid203668359por
dc.identifier.urihttps://hdl.handle.net/1822/93048
dc.language.isoporpor
dc.relationLA/P/0063/2020por
dc.relationinfo:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDP%2F50014%2F2020/PTpor
dc.rightsopenAccesspor
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/por
dc.subjectCrash consistencypor
dc.subjectInjeção de faltaspor
dc.subjectReprodutibilidadepor
dc.subjectFault Injectionpor
dc.subjectReproducibilitypor
dc.subject.fosEngenharia e Tecnologiapor
dc.titleInjeção de faltas reprodutível em sistemas de armazenamento localpor
dc.title.alternativeReproducible fault injection in local storage systemspor
dc.typemasterThesiseng
dspace.entity.typePublicationen
sdum.degree.grade19 valorespor
sdum.uoeiEscola de Engenhariapor
thesis.degree.grantorUniversidade do Minhopor
thesis.degree.nameMestrado em Engenharia Informáticapor

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
Maria Jose Costa Ramos.pdf
Tamanho:
2.09 MB
Formato:
Adobe Portable Document Format
Descrição:
Dissertação de mestrado