Guia de administração do ZFS Oracle Solaris

Criando, destruindo e renomeando sistemas de arquivos ZFS

Os sistemas de arquivos ZFS podem ser criados e destruídos com os comandos zfs create e zfs destroy. Os sistemas de arquivos podem ser renomeados utilizando o comando zfs rename.

Criando um sistema de arquivos ZFS

Os sistemas de arquivos ZFS são criados usando o comando zfs create. O subcomando create apresenta um único argumento: o nome do sistema de arquivos a ser criado. O nome do sistema de arquivos é especificado como um nome de caminho que começa com o nome do conjunto como se segue:

nome-do-pool/[nome-do-sistema-de-arquivos/]nome-do-sistema-de-arquivos

O nome do conjunto e os nomes iniciais do sistema de arquivos no caminho identificam o local no qual o novo sistema de arquivos será criado na hierarquia. O último nome do caminho identifica o nome do sistema de arquivos que será criado. O nome do sistema de arquivos deve estar de acordo com as convenções de nomeação definidas em Requisitos para nomeação de componentes do ZFS.

No exemplo abaixo, um sistema de arquivos denominado bonwick é criado no sistema de arquivos tank/home .


# zfs create tank/home/bonwick

O ZFS monta automaticamente o sistema de arquivos recém-criado se a criação de tal sistema tiver sido bem-sucedida. Por padrão, os sistemas de arquivos são montados como /conjunto de dados, usando o caminho fornecido pelo nome do sistema de arquivos no subcomando create. Nesse exemplo, o sistema de arquivos bonwick recém-criado está montado em /tank/home/bonwick. Para mais informações sobre os pontos de montagem gerenciados automaticamente, consulte Gerenciando pontos de montagem do ZFS.

Para mais informações sobre o comando zfs create, consulte zfs(1M).

Você pode definir as propriedades do sistema de arquivos quando ele é criado.

No exemplo a seguir, um ponto de montagem de /export/zfs é criado para o sistema de arquivos tank/home:


# zfs create -o mountpoint=/export/zfs tank/home

Para mais informações sobre propriedades do sistema de arquivos, consulte Introduzindo as propriedades do ZFS.

Destruindo um sistema de arquivos ZFS

Para destruir um sistema de arquivos ZFS, use o comando zfs destroy. O sistema de arquivos destruído é desmontado e descompartilhado automaticamente. Para mais informações sobre montagens ou compartilhamentos gerenciados automaticamente, consulte Pontos de montagem automáticos.

No exemplo a seguir, o sistema de arquivos tabriz é destruído:


# zfs destroy tank/home/tabriz

Cuidado – Cuidado –

Nenhum aviso de confirmação é exibido com o subcomando destroy. Utilize-o com extrema precaução.


Se o sistema de arquivos que será destruído está ocupado e não pode ser desmontado, o comando zfs destroy falha. Para destruir um sistema de arquivos ativo, use a opção -f. Utilize essa opção com cuidado já que ela pode desmontar, descompartilhar e destruir sistemas de arquivos ativos, provocando comportamentos inesperados no aplicativo.


# zfs destroy tank/home/ahrens
cannot unmount 'tank/home/ahrens': Device busy

# zfs destroy -f tank/home/ahrens

O comando zfs destroy também falha se um sistema de arquivos possuir descendentes. Para destruir repetidamente um sistema de arquivos e todos os seus descendentes, use a opção -r. Observe que uma destruição recursiva também destrói instantâneos, por isso utilize essa opção com cuidado.


# zfs destroy tank/ws
cannot destroy 'tank/ws': filesystem has children
use '-r' to destroy the following datasets:
tank/ws/billm
tank/ws/bonwick
tank/ws/maybee

# zfs destroy -r tank/ws

Se o sistema de arquivos a ser destruído possuir dependentes indiretos, mesmo o comando de destruição recursivo descrito acima falha. Para forçar a destruição de todos os dependentes, incluindo os sistemas de arquivos clonados fora da hierarquia, deve ser usada a opção -R. Use este opção com muito cuidado.


# zfs destroy -r tank/home/schrock
cannot destroy 'tank/home/schrock': filesystem has dependent clones
use '-R' to destroy the following datasets:
tank/clones/schrock-clone

# zfs destroy -R tank/home/schrock

Cuidado – Cuidado –

Nenhum aviso de confirmação aparece com as opções -f, - r ou -R para o comando zfs destroy, por isso utilize estas opções com precaução.


Para mais informações sobre instantâneos e clones, consulte Capítulo 7Trabalhando com instantâneos e clones do ZFS do Oracle Solaris.

Renomeando um sistema de arquivos ZFS

Os sistemas de arquivos podem ser renomeados com o uso do comando zfs rename. Com o subcomando rename é possível efetuar as operações a seguir:

O exemplo a seguir utiliza o subcomando rename para renomear um sistema de arquivos de kustarz para kustarz_old :


# zfs rename tank/home/kustarz tank/home/kustarz_old

O exemplo a seguir mostra como utilizar o zfs rename para realocar um sistema de arquivos:


# zfs rename tank/home/maybee tank/ws/maybee

Neste exemplo, o sistema de arquivos maybee é realocado de tank/home para tank/ws. Quando um sistema de arquivos é realocado por meio de renomeação, o novo local deve estar dentro do mesmo conjunto e possuir espaço em disco suficiente para conter esse novo sistema de arquivos. Se o novo local não possuir espaço em disco suficiente, possivelmente por ter ultrapassado sua cota, a operação renomear falha.

Para mais informações sobre as cotas, consulte Definindo cotas e reservas do ZFS.

A operação renomear tenta uma sequência de desmontagem/remontagem no sistema de arquivos e nos sistemas de arquivos descendentes. O comando renomear falha se a operação não puder desmontar um sistema de arquivos ativo. Se ocorre um problema, desmonte o sistema de arquivos a força.

Para obter informações sobre a renomeação de instantâneos, consulte Renomeando instantâneos do ZFS.