segunda-feira, 8 de outubro de 2012

OCFS2 - Overview e cuidados (Parte I)

Olá pessoal, irei falar sobre OCFS2 (Oracle Cluster File System - maiores informações aqui). Ele é o file system que o OVM utiliza para o Quorum e os repositórios quando utilizamos Fiber Channel (SAN).

No OVM 3.1 utilizamos a versão 1.8 do OCFS2, ou seja a última versão do File System, vale lembrar que esta versão traz diversas melhorias (desempenho, estabilidade, segurança, entre outros), porém ele não é disponível para utilizar em outros Sistemas Operacionais (mesmo no Oracle Linux [ainda]).

Um pouco de teoria...

No OCFS2, os dados são armazenados em arquivos que são organizados em uma árvore de diretórios hierárquica (nada de novidades até aqui...). É um file system POSIX compliant e um cluster de disco compartilhado, ou seja permite que um ou múltiplos nós acessem o mesmo disco ao mesmo tempo. Existem diversas perguntas aqui, tais como o que acontece se um nó cair durante uma escrita? O que acontece quando 2 nós estão escrevendo ou lendo o disco simultaneamente? 

O OCFS2 comparta-se como se fosse um File System local (diferentemente de outros file systems compartilhados). Se um arquivo é removido, a entrada no diretorio é removido mas o inode é mantido enquanto o arquivo estiver em uso no cluster. Quando o último nó fecha o descriptor, o inode é marcado para deleção.

Para a consistencia de dados utiliza o mesmo principio. É como se existissem 2 processos que estão rodando em 2 nós diferentes estivessem rodando no mesmo nó.

Algumas features:


  • Tamanhos de bloco e cluster variáveis - Suporta tamanhos de blocos de 512 bytes a 4 KB e tamanhos de cluster de 4 KB a 1 MB (incrementos na potência de 2)
  • Alocações Extent-based - Acompanha o espaço alocado em intervalos de clusters, tornando especialmente eficiente para armazenamento de arquivos grandes
  • Alocações otimizadas - Suporte sparse files, inline-data, unwritten extents, hole punching e reflinks
  • Diretorios indexados - Permite acesso eficiente a milhões de objetos em um diretório.
  • Checksum de metadados - Detecta corrupção silenciosa de inodes e diretorios.
  • Segurança avançada - Suporta ACLs POSIX e SELinux em adicional ao tradicional modelo de permissão de acesso a arquivos
  • Quotas - Quotas para usuários e grupos
  • Journaling - Suporta dados ordenados e modos de writeback data journaling para fornecer um file system consistente em caso de falha de energia ou falha no sistema
  • Arquitetura neutra - Suporta a utilização de arquiteturas diferentes
  • Pilha de cluster incluida com DLM - É fácil de utilizar, na pilha de cluster dentro do kernel com um gerenciador de bloqueio distribuido
  • Buferizado, Acesso Direto, Assincrono, Splice e Memória Mapeada de I/O - Suporta todos os modos de I/Os para uma maior flexibilidade e desempenho
  • Ferramentas de suporte completas - Prove conjunto de ferramentas parecidas com as ferramentas no EXT3, utilizando parametros semelhantes para facilitar a utilização

Estas são algumas features do OCFS2 e um overview do que é este file system.

Na parte II irei explicar mais detalhes de como funciona o OCFS2 e os cuidados que devemos ter no OVM. 

Um abraço.

Um comentário: