Руководство по администрированию файловых систем ZFS Solaris

Замена файловой системы ZFS на клон ZFS

Команда zfs promote позволяет заменить активную файловую систему ZFS клоном этой файловой системы. Эта функция обеспечивает возможность клонирования и замены файловых систем, в результате чего исходная файловая система становится клоном указанной файловой системы. Кроме того, эта функция позволяет уничтожить файловую систему, на основе которой был создан клон. Уничтожение исходной файловой системы активных клонов без изменения их роли невозможно. Дополнительную информацию об уничтожении клонов приведено в разделе Уничтожение клона ZFS.

В следующем примере клонируется файловая система tank/test/productA, после чего клонированная система tank/test/productAbeta становится файловой системой tank/test/productA.


# 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              314K  8.24G  25.5K  /tank/test
tank/test/productA     288K  8.24G   288K  /tank/test/productA
tank/test/productA@today      0      -   288K  -
tank/test/productAbeta      0  8.24G   288K  /tank/test/productAbeta
# zfs promote tank/test/productAbeta
# zfs list -r tank/test
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank/test              316K  8.24G  27.5K  /tank/test
tank/test/productA        0  8.24G   288K  /tank/test/productA
tank/test/productAbeta   288K  8.24G   288K  /tank/test/productAbeta
tank/test/productAbeta@today      0      -   288K  -

Из приведенных выше выходных данных команды zfs list видно, что учетная информация о пространстве исходной файловой системы productA была заменена данными системы productAbeta.

Завершите процесс замены клона переименованием файловых систем. Пример:


# zfs rename tank/test/productA tank/test/productAlegacy
# zfs rename tank/test/productAbeta tank/test/productA
# zfs list -r tank/test
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank/test              316K  8.24G  27.5K  /tank/test
tank/test/productA     288K  8.24G   288K  /tank/test/productA
tank/test/productA@today      0      -   288K  -
tank/test/productAlegacy      0  8.24G   288K  /tank/test/productAlegacy

При необходимости можно удалить старую файловую систему. Пример:


# zfs destroy tank/test/productAlegacy