Guia de administração do ZFS Oracle Solaris

Usando pools de raiz alternativa do ZFS

Quando um conjunto é criado, ele é vinculado ao sistema do host. O sistema do host mantém informações sobre o conjunto para poder detectar quando o conjunto não está disponível. Embora úteis em operações normais, estas informações podem se tornar obstáculos quando se está inicializando a partir de mídias alternativas ou criando um conjunto em uma mídia removível. Para resolver este problema, o ZFS oferece um recurso de pools de raiz alternativa. O pool de raiz alternativa não é preservado em reinicializações do sistema e todos os pontos de montagem são modificados para terem relação com a raiz do pool.

Criando pools de raiz alternativa do ZFS

O motivo mais comum para criar um conjunto raiz alternativo é para utilização com mídias removíveis. Nesse caso, os usuários querem normalmente um único sistema de arquivos e querem que tal sistema possa ser montado em qualquer parte do sistema de destino. Quando um conjunto raiz alternativo é criado com a opção zpool create -R, o ponto de montagem do sistema de arquivos raiz é automaticamente definido como /, que equivale à própria raiz alternativa.

No exemplo abaixo, um pool denominado morpheus é criado com /mnt como caminho de raiz alternativa:


# zpool create -R /mnt morpheus c0t0d0
# zfs list morpheus
NAME                   USED  AVAIL  REFER  MOUNTPOINT
morpheus              32.5K  33.5G     8K  /mnt

Observe o sistema de arquivos único, morpheus, cujo ponto de montagem é a raiz alternativa do pool, /mnt. O ponto de montagem armazenado em disco é / e o caminho completo para /mnt é interpretado somente no contexto inicial da criação do conjunto. Este sistema de arquivos poderá, então, ser importado e exportado através de um conjunto raiz alternativo arbitrário em um sistema diferente utilizando a sintaxe do valor de raiz alternativa -R.


# zpool export morpheus
# zpool import morpheus
cannot mount '/': directory is not empty
# zpool export morpheus
# zpool import -R /mnt morpheus
# zfs list morpheus
NAME                   USED  AVAIL  REFER  MOUNTPOINT
morpheus              32.5K  33.5G     8K  /mnt

Importando pools de raiz alternativa

Os pools também podem ser importados usando uma raiz alternativa. Este recurso leva em consideração as situações de recuperação, nas quais os pontos de montagem não devem ser interpretados no contexto da raiz atual, mas sim em algum diretório temporário no qual seja possível realizar correções. Este recurso também pode ser utilizado ao montar mídias removíveis conforme descrito anteriormente.

No exemplo abaixo, um pool denominado morpheus é importado com /mnt como o caminho de raiz alternativa. Neste exemplo pressupõe-se que morpheus foi previamente exportado.


# zpool import -R /a pool
# zpool list morpheus
NAME   SIZE   ALLOC  FREE    CAP  HEALTH  ALTROOT
pool  44.8G    78K  44.7G     0%  ONLINE  /a
# zfs list pool
NAME   USED  AVAIL  REFER  MOUNTPOINT
pool  73.5K  44.1G    21K  /a/pool