18 de abril de 2010

O Sistema de arquivos da Sun - ZFS

Este capítulo aborda algumas das principais diferenças existentes entre o ZFS e os sistemas de arquivos tradicionais. Compreender essas diferenças-chave pode ajudar a diminuir os mal-entendidos ao trabalhar com ferramentas tradicionais na interação com o ZFS.





Granularidade do sistema de arquivos ZFS
Tradicionalmente, os sistemas de arquivos eram limitados por um dispositivo para que os sistemas de arquivos em si fossem limitados pelo tamanho do dispositivo. A criação e recriação de sistemas de arquivos tradicionais, devido às restrições do tamanho, exigem muito tempo e são muitas vezes difíceis. Os produtos tradicionais de gerenciamento de volume ajudaram a gerenciar este processo.


Por não estarem limitados a dispositivos específicos, os sistemas de arquivos ZFS podem ser criados rápida e facilmente, semelhante à criação de diretórios. Os sistemas de arquivos ZFS crescem automaticamente dentro do espaço alocado para o pool de armazenamento.


Em vez de criar um sistema de arquivos, como o /export/home, para gerenciar vários subdiretórios de usuários, você pode criar um sistema de arquivos por usuário. Além disso, o ZFS oferece uma hierarquia de sistemas de arquivos para que você possa configurar e gerenciar facilmente vários sistemas de arquivos, aplicando as propriedades que podem ser herdadas pelos sistemas de arquivos contidos na hierarquia.


Para ver exemplos da criação de uma hierarquia de sistemas de arquivos, consulte Criando uma hierarquia de sistemas de arquivos ZFS.




Contagem de espaço do ZFS
O ZFS está baseado no conceito de armazenamento por pool. Ao contrário dos típicos sistemas de arquivos, que são mapeados para armazenamentos físicos, todos os sistemas de arquivos ZFS de um pool compartilham o armazenamento disponível no pool. Desse modo, o espaço disponível relatado por utilitários como o df podem alterar mesmo quando o sistema de arquivos está inativo, já que outros sistemas de arquivos do pool consomem e liberam espaço. Observe que o tamanho máximo do sistema de arquivos pode ser limitado pelo uso de cotas. Para obter mais informações sobre as cotas, consulte Definindo cotas em sistemas de arquivos ZFS. O sistema de arquivos pode ter espaço garantido através de reservas. Para obter mais informações sobre as reservas, consulte Definindo reservas nos sistemas de arquivos ZFS. Esse modelo é semelhante ao modelo de NFS, no qual vários diretórios são montados a partir do mesmo sistema de arquivos (considerar /home).


Todos os metadados no ZFS estão alocados dinamicamente. A maioria dos outros sistemas de arquivos pré-alocam muitos de seus metadados. Conseqüentemente, é exigido para esses metadados uma quantidade imediata de espaço na criação de sistemas de arquivos. Esse comportamento denota também que o número total de arquivos suportado pelos sistemas de arquivos é predeterminado. Por alocar seus metadados conforme precisa deles, o ZFS não requer quantidade de espaço inicial e o número de arquivos está limitado somente pelo espaço disponível. A saída do comando df -g não deve ser interpretada da mesma forma para o ZFS e para outros sistemas de arquivos. Os arquivos totais relatados são somente uma estimativa baseada na quantidade de armazenamento disponível no pool.


O ZFS é um sistema de arquivos transacional. A maioria das modificações do sistema de arquivos é incorporada dentro de grupos transacionais e é enviada ao disco assincronicamente. Antes de serem enviadas ao disco, essas modificações são denominadas alterações pendentes. A quantidade de espaço usado, disponível e referenciado pelo arquivo ou sistema de arquivos não considera as alterações pendentes. As alterações pendentes são consideradas em geral depois de alguns segundos. Mesmo realizando uma alteração no disco usando fsync(3c) ou O_SYNC, não se garante necessariamente que as informações sobre o uso do espaço sejam atualizadas imediatamente.


Para obter detalhes adicionais sobre o consumo de espaço ZFS reportado pelos comandos du e df , consulte o seguinte link:

http://opensolaris.org/os/community/zfs/faq/#whydusize






Comportamento por espaço excedido
Os instantâneos de sistemas de arquivos são baratos e fáceis de criar no ZFS. Os instantâneos serão provavelmente comuns nos ambientes ZFS. Para obter mais informações sobre os instantâneos do ZFS, consulte o Capítulo 7Trabalhando com instantâneos e clones do ZFS.


A presença de instantâneos pode provocar alguns comportamentos inesperados ao tentar liberar espaço. Normalmente, com as permissões apropriadas, você pode remover o arquivo de todo o sistema de arquivos, o que resulta em mais espaço disponível no sistema de arquivos. No entanto, se o arquivo a ser removido existir no instantâneo do sistema de arquivos, então nenhum espaço é liberado com a exclusão do arquivo. Os blocos usados pelo arquivo continuam a ser referenciados a partir do instantâneo.


Como resultado, a exclusão do arquivo pode consumir mais espaço em disco, pois uma nova versão do diretório precisa ser criada para refletir o novo estado do espaço de nome. Este comportamento significa que você pode ter um ENOSPC ou EDQUOT inesperado ao tentar remover o arquivo.




Montando sistemas de arquivos ZFS

O ZFS destina-se a diminuir a complexidade e a facilitar a administração. Por exemplo, com sistemas de arquivos existentes você deve editar o arquivo /etc/vfstab sempre que um novo sistema de arquivos for adicionado. O ZFS eliminou essa necessidade montando e desmontando automaticamente os sistemas de arquivos de acordo com as propriedades do conjunto de dados. Você não precisa gerenciar as entradas do ZFS no arquivo /etc/vfstab.


Para obter mais informações sobre a montagem e o compartilhamento de sistemas de arquivos ZFS, consulte Montando e compartilhando sistemas de arquivos ZFS.




Gerenciamento de volume tradicional
De acordo com o descrito em Armazenamento de ZFS em pool, o ZFS dispensa a necessidade de usar um gerenciador de volumes diferente. O ZFS opera em dispositivos básicos, de modo que é possível criar um pool de armazenamento constituído de volumes lógicos, tanto no software quanto no hardware. Essa configuração não é recomendada, já que o ZFS funciona melhor quando usa dispositivos físicos básicos. O uso de volumes lógicos pode prejudicar o desempenho, a segurança, ou ambos, e deve ser evitado.

2 comentários:

Anônimo disse...

opa tudo bom, belo post so zfs, estou pesquisando a um tempo sobre esse sistemas de arquivos e tem pouco informação na internet. Talvez você tenha algum material e se puder compartilha comigo ficarei grato, ou então se puder troca uma idéia sobre o assunto meu email é: jaisongyn@hotmail.com

Anônimo disse...

Obrigado Jaison!