O termo terabyte virou uma coisa tão comum na vida das pessoas que já temos dezenas deles em nossas casas, eu por exemplo possuo 16 TB de disco externos e internos conectados em meus dois servidores.

Falando em empresas, alocação de terabytes são utilizados para suportar filesystems de servidores Web, Banco de dados entre outros, os storage possuem petabyte para suportar tantos filesystem.

Acontece que algumas empresas já possuem filesystems que ocupam mais de 1 petabyte, vale lembrar que 1 petabye é equivalente a 1024 terabytes. A grande maioria dos filesystems não foi projeta para atender com performance e segurança a montagem de áreas com 1 petabyte.

Dai que surgiu o projeto MooseFS, projeto esse que segue o mesmo design do Google File System, Lustre e do Ceph. Um cluster de servidores servindo como storage que utiliza memória RAM como área de Cache para melhorar e muito a performance de leitura e gravação de dados.

O projeto de escrita do MooseFS funciona da seguinte forma :

O MooseFS é compatível com sistemas que utilizem o FUSE, que eu saiba até o momento Linux, FreeBSD, OpenSolaris e Mac OS X.

As suas principais features são:

  • Fault-tolerance — MooseFS uses replication, data can be replicated across chunkservers, the replication ratio (N) is set per file/directory. If (N-1) replicas fail the data will still be available. At the moment MooseFS does not offer any other technique for fault-tolerance, like redundancy via network RAID. Fault-tolerance for very big files thus requires vast amount of space – N*filesize instead of filesize+(N*stripesize) as would be the case for RAID 4, RAID 5 or RAID 6.
  • Striping — large files are divided into chunks (up to 64 megabytes) that might be stored on different chunk servers in order to achieve higher aggregate bandwidth.
  • Load balancing — MooseFS attempts to use storage resources equally, the current algorithm seems to take into the account only the consumed space.

O download do MooseFS pode ser feito no seguinte Link. Ele é opensource.