Guia de administração do ZFS Oracle Solaris

Substituindo um sistema de arquivos ZFS por um clone do ZFS

O comando zfs promote pode ser usado para substituir um sistema de arquivos ZFS ativo por um clone de um sistema de arquivos. Este recurso permite clonar e substituir os sistemas de arquivos para que o sistema de arquivos original torne-se o clone do sistema de arquivos especificado. Além disso, este recurso possibilita destruir o sistema de arquivos a partir do qual o clone foi originalmente criado. Sem promover o clone, não é possível destruir um sistema de arquivos original de clones ativos. Para obter mais informações sobre a destruição de clones, consulte Destruindo um clone do ZFS.

No exemplo a seguir, o sistema de arquivos tank/test/productA é clonado e, então, o clone do sistema de arquivos, tank/test/productAbeta , torna-se o sistema de arquivos tank/test/productA original.


# zfs create tank/test
# zfs create tank/test/productA
# zfs snapshot tank/test/productA@today
# zfs clone tank/test/productA@today tank/test/productAbeta
# zfs list -r tank/test
NAME                       USED  AVAIL  REFER  MOUNTPOINT
tank/test                  104M  66.2G    23K  /tank/test
tank/test/productA         104M  66.2G   104M  /tank/test/productA
tank/test/productA@today      0      -   104M  -
tank/test/productAbeta        0  66.2G   104M  /tank/test/productAbeta
# zfs promote tank/test/productAbeta
# zfs list -r tank/test
NAME                           USED  AVAIL  REFER  MOUNTPOINT
tank/test                      104M  66.2G    24K  /tank/test
tank/test/productA                0  66.2G   104M  /tank/test/productA
tank/test/productAbeta         104M  66.2G   104M  /tank/test/productAbeta
tank/test/productAbeta@today      0      -   104M  -

Nesta saída zfs list, note que as informações de contabilidade de espaço em disco do sistema de arquivos productA original foram substituídas pelo sistema de arquivos productAbeta.

É possível completar o processo de substituição de clone renomeando os sistemas de arquivos. Por exemplo:


# zfs rename tank/test/productA tank/test/productAlegacy
# zfs rename tank/test/productAbeta tank/test/productA
# zfs list -r tank/test

Opcionalmente, você pode remover o sistema de arquivos de legado. Por exemplo:


# zfs destroy tank/test/productAlegacy