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 |