2008/08/08

Fiabilidade dos Sistemas de Armazenamento

Numa altura em que cada vez mais me inclino para os NAS (Network Attached Storage) para organizar, de uma vez por todas, toda a "tralha" digital, da qual saliento umas dezenas de Gigabytes de fotos digitais, e uns mais modestos Megabytes de documentos e projectos, há um problema que me deixa sempre um pouco inseguro: um NAS com RAID garante-me segurança em caso de falha de um disco rígido, mas..


E se é o próprio NAS que falha!?!

Aí está tudo estragado... e ficarei sem acesso aos dados, tendo que arranjar um equipamento compatível, e que - supostamente - me consiga aceder aos dados novamente sem estragar nada.

Foi então que fui dar com o MogileFS.
O Mogile FS é um sistema de ficheiros distribuído (distributed File System) Open Source, originalmente concebido pelos criadores do LiveJournal para ser capaz de aguentar com a enorme quantidade de dados de forma fiável e eficiente.

E as suas características são impressionates:

  • Application level -- no special kernel modules required.
  • No single point of failure -- all three components of a MogileFS setup (storage nodes, trackers, and the tracker's database(s)) can be run on multiple machines, so there's no single point of failure. (you can run trackers on the same machines as storage nodes, too, so you don't need 4 machines...) A minimum of 2 machines is recommended.
  • Automatic file replication -- files, based on their "class", are automatically replicated between enough different storage nodes as to satisfy the minimum replica count as requested by their class. For instance, for a photo hosting site you can make original JPEGs have a minimum replica count of 3, but thumbnails and scaled versions only have a replica count of 1 or 2. If you lose the only copy of a thumbnail, the application can just rebuild it. In this way, MogileFS (without RAID) can save money on disks that would otherwise be storing multiple copies of data unnecessarily.
  • "Better than RAID" -- in a non-SAN RAID setup, the disks are redundant, but the host isn't. If you lose the entire machine, the files are inaccessible. MogileFS replicates the files between devices which are on different hosts, so files are always available.
  • Flat Namespace -- Files are identified by named keys in a flat, global namespace. You can create as many namespaces as you'd like, so multiple applications with potentially conflicting keys can run on the same MogileFS installation.
  • Shared-Nothing -- MogileFS doesn't depend on a pricey SAN with shared disks. Every machine maintains its own local disks.
  • No RAID required -- Local disks on MogileFS storage nodes can be in a RAID, or not. It's cheaper not to, as RAID doesn't buy you any safety that MogileFS doesn't already provide.
  • Local filesystem agnostic -- Local disks on MogileFS storage nodes can be formatted with your filesystem of choice (ext3, XFS, etc..). MogileFS does its own internal directory hashing so it doesn't hit filesystem limits such as "max files per directory" or "max directories per directory". Use what you're comfortable with.

Bem sei que é um pouco exagerado usar um sistema deste tipo em casa... mas vai de encontro à solução ideal para armazenamento de dados - garantindo o acesso aos dados sem que haja um "single point of failure" como os que existem na maioria dos equipamentos actuais.

4 comentários:

  1. ta giro.
    mas parece me ser para um nixo do mercado... e mt pekeno
    ate pq reker ter varias makinas so pra fileserver.
    n me parece q kerias essa soluçao. ja pra n falar do custo energetico

    ResponderEliminar
  2. Sim, eu disse que é exagerado para uso residencial. :)

    Mas foi só para chamar a atenção para a necessidade da segurança dos dados num mundo cada vez mais digital.

    ResponderEliminar
  3. Hello Carlos,

    Como estou de ferias nao tive grande tempo para verificar se o MogileFS é o que realmente penso porque também ja andei ah procura de uma solucao como a que pretendes (sem sucesso posso acrescentar!).

    Li este post atraves do feed rss no meu telemovel e vim agora de proposito ah net para poder responder hehe :oP

    De qualquer forma, se o mogilefs é o tal projecto que penso, não pode ser utilizado como um "fs normal", ou seja, podes utilizá-lo mas apenas programáticamente (embora acho que agora exista a possibilidade de mountar o file system com userlevel tools (como o fuse)).

    Onde quero chegar (em especial) é que é OS dependent o que estraga tudo! :o/

    Podes ultrapassar o problema utilizando uma máquina intermédia com samba a exportar o file system (ou outro serviço qualquer) mas isso danifica completamente o conceito...

    Bem...aqui vou eu para o restaurante Japones! Nao facas grande sentido deste comentario se...nao fizer grande sentido! Estou muito cansado ;oP

    Hugz,
    Luís

    ResponderEliminar
  4. @Luis

    O que interessa neste momento é que as férias continuem por muito em bom tempo! ;)

    Mas obrigado por teres vindo comentar.

    ResponderEliminar