PVFS, GFS e IBM GPFS

Descobri hoje o PVFS (parallel virtual filesystem). Parece ser a única coisa arquitetonicamente semelhante ao GPFS da IBM.

A característica que acho a mais atraente nesses filesystems é que pode-se monta-los com um cluster de computadores simples, desta forma:

  • Cada um deles doa parte de seu storage interno para a célula do filesystem, por exemplo, uma partição
  • Os servidores (que podem ser clientes também) são membros da célula
  • Um servidor (ou serviço) de metadata define políticas para distribuir os arquivos fisicamente pelos computadores
  • Um nó que precisa acessar com mais freqüência um certo arquivo, terá ele (ou um cache dele) em seu storage local

Isso garante paralelismo, porque todos os membros acessam um único filesystem lógico que na verdade é uma núvem espalhada por todos os nós. E garante performance, porque coloca o dado (ou arquivo, ou parte dele, ou um cache) mais perto de quem mais precisa dele no momento.

Em contrapartida, o GFS da Red Hat é centrado no storage físico (geralmente externo), ou seja, não implementa esse conceito de nuvem espalhada pelos membros do cluster. Ele está mais preocupado em administrar o acesso físico simultâneo ao storage.

Dando uma rápida olhada, o PVFS me pareceu precisar ainda de uma polida. Seus comandos são feios, e configuração não muito intuitiva e não bem integrada ao sistema operacional, mas é Open Source. O GPFS por outro lado é um produto maduro, já usado nos maiores clusters computacionais do mundo mas é pago.

Acompanho esse mundo de filesystems desde a época do AFS (bela arquitetura mas muito complexo), passando pelo DFS (mais complexo ainda), Coda (vapourware), Inter-mezzo (vapourware), até os de hoje. Eles tem potenciais muito interessantes em aplicações de grandes escritórios distribuidos e de clusters de alta performance. Aqui na IBM, internamente temos algumas células AFS, mas gradativamente estamos migrando para uma nova arquitetura batizada de GSA (Global Storage Architecture), baseada em GPFS, mas acessível por Samba, NFS, etc.

5 thoughts on “PVFS, GFS e IBM GPFS”

  1. o que falta para o PVFS amadurecer é oferecer itens que um filesystem paralelo maduro, que nem o GPFS, oferece:

    • redundância de dados e metadados
    • quórum (mínimo número de servidores de storage que devem estar no ar para o filesystem funcionar)
    • grupos de tolerância a falhas (basicamente a idéia de quórum dentro de um grupo específico de nós, pré-definido)

    Então, ressaltando o que você havia dito, sim, o PVFS ainda precisa amadurecer. Espero que possa se tornar um filesystem tão maduro quanto o GPFS.

    Quanto ao GFS, a RedHat usa a seguinte frase:
    – Uma alternativa de melhor desempenho ao NFS.

    Será?

  2. Os concorrentes do GFS são o OCFS2, Veritas Foundation (Veritas FS) e Polyserv.

    Com relação ao OCFS2 o GFS (ambos GFS e OCFS2 são GPL) é mais maduro, tem mais de 5 anos de desenvolvimento contra pouco mais de 1 ano do OCFS. Alêm de código mais elegante e enxuto. Ambos oferecem suporte a pelo menos 256 máquinas conectadas na mesma partição.

    Entretanto o OCFS2 não tem, por exemplo, acesso a Fence Devices. Essa é uma característica interessante do GFS, caso um dos nós pare de responder o GFS é capaz de “derrubar” fisicamente a máquina para evitar danos ao sistema de arquivos. O OCFS2 não prevê isso o que pode acabar corrompendo o sistema de arquivos em caso de problemas físicos ou de software.

    Com relação ao Polyserv ao GFS. O Polyserv tem arquitetura de 32 bits contra a arquitetura nativa de 64bits do GFS o que limita o tamanho do filesystem do Polyserv em poucos TB contra 8EB do GFS. Alêm disso o Polyserv é proprietário de código fechado e escala a “apenas” 16 nós.

    Com relação ao Veritas Filesystem que também é proprietário, escala a 32 nós não tem um desenvolvimento tão maduro em Linux (apesar de ser maduro no Ambiente Unix). Alêm disso o Veritas FS é bastante caro.

  3. Na minha opinião, o produto mais completo com storage centralizado e acesso por diversos clientes (os-independent) seria o CXFS da SGI.
    O XFS já está incorporado aos linux mais populares de hoje, como RedHat e SuSE, que é a base do CXFS.
    Trata-se portanto, do clustered XFS e os clientes podem ser Unix, Linux, Windows e Mac.

    http://www.sgi.com/products/storage/software/cxfs.html

    Ele possui a função de fencing, como nosso outro colega comentou, adicionalmente metadata-servers distribuidos, alta-performance (com a possibilidade do Guarantanteed Rate IO) e conta com a consistência dos 64 bits.
    É claro, o produto também é pago.

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *