Guia de administração do ZFS Oracle Solaris

Compartilhando e descompartilhando sistemas de arquivos ZFS

O ZFS pode compartilhar automaticamente sistemas de arquivos configurando a propriedade sharenfs. Utilizando essa propriedade, não é necessário modificar o arquivo /etc/dfs/dfstab quando um novo sistema de arquivos é compartilhado. A propriedade sharenfs é uma lista de opções separada por vírgulas para passar para o comando share. O valor on é um alias para opção de compartilhamento padrão, que fornece permissões read/write para todos. O valor off indica que o sistema de arquivos não é gerenciado pelo ZFS e pode ser compartilhado por meios tradicionais, assim como o arquivo /etc/dfs/dfstab. Todos os sistemas de arquivos cuja propriedade sharenfs não é off são compartilhados durante a inicialização.

Controlando a semântica de compartilhamento

Por padrão, todos os sistemas de arquivos são descompartilhados. Para compartilhar um novo sistema de arquivos, use a sintaxe zfs set semelhante à seguinte:


# zfs set sharenfs=on tank/home/eschrock

A propriedade sharenfs é herdada, e os sistemas de arquivos são automaticamente compartilhados na criação se suas propriedades herdadas não forem off. Por exemplo:


# zfs set sharenfs=on tank/home
# zfs create tank/home/bricker
# zfs create tank/home/tabriz
# zfs set sharenfs=ro tank/home/tabriz

tank/home/bricker e tank/home/tabriz são inicialmente compartilhados como graváveis porque herdam a propriedade sharenfs do tank/home. Depois que a propriedade é configurada para ro(somente leitura), tank/home/tabriz é compartilhado como somente leitura independente da propriedade sharenfsque é configurada para tank/home.

Descompartilhando sistemas de arquivos ZFS

Embora muitos sistemas de arquivos sejam automaticamente compartilhados ou descompartilhados durante a inicialização, criação e destruição, os sistemas de arquivos, algumas vezes, necessitam ser explicitamente descompartilhados. Para isso, use o comando zfs unshare. Por exemplo:


# zfs unshare tank/home/tabriz

Este comando descompartilha o sistema de arquivos tank/home/tabriz. Para descompartilhar todos os sistemas de arquivos ZFS no sistema, é necessário usar a opção - a.


# zfs unshare -a

Compartilhando sistemas de arquivos ZFS

Na maioria das vezes, o comportamento automático do ZFS em relação ao compartilhamento do sistema de arquivos na inicialização e criação é suficiente para operações regulares. Se, por algum motivo, você descompartilhar um sistema de arquivos, pode compartilhá-lo novamente com o uso do comando zfs share. Por exemplo:


# zfs share tank/home/tabriz

Você também pode compartilhar todos os sistemas de arquivos ZFS no sistema usando a opção - a.


# zfs share -a

Comportamento de compartilhamento de legado

Se a propriedade sharenfs é configurada para off, então o ZFS não faz a tentativa de compartilhamento ou de descompartilhamento do sistema de arquivos a qualquer hora. Esse valor permite que o administrador de sistemas de arquivos compartilhe por meios tradicionais, assim como o arquivo /etc/dfs/dfstab.

Ao contrário do comando mount de legado, os comandos share e unshare de legado ainda podem funcionar nos sistemas de arquivos ZFS. Como resultado, é possível compartilhar manualmente um sistema de arquivos com opções que diferem da opção da propriedade sharenfs. Este modelo administrativo não é recomendável . Escolha gerenciar o compartilhamento NFS completamente por ZFS ou pelo arquivo /etc/dfs/dfstab. O modelo administrativo do ZFS foi concebido para ser mais simples e menos trabalhoso do que o modelo tradicional.