En los siguientes ejemplos, se muestra cómo clonar entornos de inicio y cómo el proceso de clonación varía según la zona y la estructura del conjunto de datos. El primer ejemplo muestra cómo funciona la clonación en un sistema que incluye una zona global y zonas no globales. El segundo ejemplo muestra datos específicos del conjunto de datos relacionados con la clonación. En el tercer ejemplo, se muestra lo que ocurre con los conjuntos de datos compartidos al clonar un sistema.
En este ejemplo, se muestra el impacto en las zonas del comando beadm create cuando se clona un entorno de inicio en una zona global que contiene zonas no globales.
Si el entorno de inicio que se desea clonar tiene un entorno de inicio asociado en una zona no global, también se clona ese entorno de inicio asociado. Por ejemplo, BE1 tiene un entorno de inicio asociado, BE2, en una zona no global. Si se clona BE1, también se clona BE2.
En este ejemplo, el entorno de inicio original de la zona global se denomina solaris y tiene un conjunto de datos raíz en rpool/ROOT/solaris.
Existe una zona no global denominada z1 con el conjunto de datos rpool/zones/z1 como ruta de la zona. El entorno de inicio solaris original de la zona global tiene un entorno de inicio asociado en la zona no global z1. Este entorno de inicio asociado se denomina solaris y tiene un conjunto de datos raíz en rpool/zones/z1/rpool/ROOT/solaris.
# zfs list -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 11.5G 3.89G 4.46M /rpool rpool/ROOT 8.47G 3.89G 31K legacy rpool/ROOT/solaris 2.98M 3.89G 2.49G / rpool/ROOT/solaris/var 428K 3.89G 298M /var rpool/dump 1.03G 3.92G 1.00G - rpool/export 120K 3.89G 32K /export rpool/export/home 88.5K 3.89G 32K /export/home rpool/export/home/user1 56.5K 3.89G 56.5K /export/home/user1 rpool/swap 1.03G 3.92G 1.00G - rpool/zones 672M 3.89G 32K /zones rpool/zones/z1 672M 3.89G 32K /zones/z1 rpool/zones/z1/rpool 671M 3.89G 31K /rpool rpool/zones/z1/rpool/ROOT 671M 3.89G 31K legacy rpool/zones/z1/rpool/ROOT/solaris 671M 3.89G 591M /zones/z1/root rpool/zones/z1/rpool/ROOT/solaris/var 79.3M 3.89G 78.4M /zones/z1/root/var rpool/zones/z1/rpool/export 62K 3.89G 31K /export rpool/zones/z1/rpool/export/home 31K 3.89G 31K /export/home
En este ejemplo, debe ejecutar el siguiente comando como usuario root para clonar el entorno de inicio en la zona global y asignar al nuevo entorno de inicio el nombre solaris-1:
# beadm create test # zfs list -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 11.5G 3.89G 4.46M /rpool rpool/ROOT 8.47G 3.89G 31K legacy rpool/ROOT/solaris 2.98M 3.89G 2.49G / rpool/ROOT/solaris/var 428K 3.89G 298M /var rpool/ROOT/test 71K 3.89G 2.50G / rpool/ROOT/test/var 1K 3.89G 2.88G /var rpool/dump 1.03G 3.92G 1.00G - rpool/export 120K 3.89G 32K /export rpool/export/home 88.5K 3.89G 32K /export/home rpool/export/home/user1 56.5K 3.89G 56.5K /export/home/user1 rpool/swap 1.03G 3.92G 1.00G - rpool/zones 672M 3.89G 32K /zones rpool/zones/z1 672M 3.89G 32K /zones/z1 rpool/zones/z1/rpool 671M 3.89G 31K /rpool rpool/zones/z1/rpool/ROOT 671M 3.89G 31K legacy rpool/zones/z1/rpool/ROOT/solaris 671M 3.89G 591M /zones/z1/root rpool/zones/z1/rpool/ROOT/solaris/var 79.3M 3.89G 78.4M /zones/z1/root/var rpool/zones/z1/rpool/ROOT/solaris-1 2K 3.89G 591M / rpool/zones/z1/rpool/ROOT/solaris-1/var 1K 3.89G 78.4M /var rpool/zones/z1/rpool/export 62K 3.89G 31K /export rpool/zones/z1/rpool/export/home 31K 3.89G 31K /export/home
El clon se denomina test y tiene un conjunto de datos raíz en rpool/ROOT/test.
Tenga en cuenta que, como el entorno de inicio solaris de la zona global tiene un entorno de inicio asociado en la zona no global z1, el proceso de clonación también clona el entorno de inicio asociado en z1. El nuevo clon solaris-1 de la zona z1 tiene un conjunto de datos raíz en rpool/zones/z1/rpool/ROOT/solaris-1.
Ejemplo 3-2 Clonación de un nuevo entorno de inicio con conjuntos de datosEn este ejemplo, se muestra cómo se configuran los conjuntos de datos en un nuevo entorno de inicio. En este ejemplo no se usan varias zonas.
Como usuario root, debe escribir el siguiente comando.
# beadm create BE2
En este ejemplo, el entorno de inicio original es BE1 y tiene un conjunto de datos raíz en rpool/ROOT/BE1 que contiene otro conjunto de datos, var.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var
Tras clonar BE1, el nuevo clon, BE2, contiene un conjunto de datos raíz y otros conjuntos de datos anidados, todos clonados de BE1. Dado que BE1 contiene el sistema de archivos /var en el conjunto de datos raíz, también se clonó /var.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var rpool/ROOT/BE2 8.91M 24.4G 4.17G / rpool/ROOT/BE2/var 3.96M 24.4G 276M /var
En cambio, si hubiera un sistema de archivos compartido fuera del conjunto de datos raíz, ese sistema de archivos compartido no se clonaría. El entorno de inicio original y el clon “compartirían” el sistema de archivos compartido original, como se muestra en el siguiente ejemplo.
Ejemplo 3-3 Creación de un entorno de inicio nuevo con conjuntos de datos compartidos existentesEn este ejemplo, se muestra cómo crear un entorno de inicio nuevo cuando hay conjuntos de datos compartidos existentes. En este ejemplo, el entorno de inicio original es BE1, y los conjuntos de datos compartidos son rpool/export y rpool/export/home. En este ejemplo no se usan varias zonas.
Como usuario root, debe escribir el siguiente comando para clonar BE1 y asignar al clon el nombre BE2:
# beadm create BE2
Los conjuntos de datos compartidos, tank y tank/export, no se clonan al clonar el entorno de inicio. Los conjuntos de datos compartidos se encuentran fuera de los conjuntos de datos rpool/ROOT/BeName, y el entorno de inicio clonado, BE2, hace referencia a ellos en sus ubicaciones originales.
El entorno de inicio original, BE1, y los conjuntos de datos se presentan de la siguiente manera:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var tank 450K 457G 18K /tank tank/home 315K 457G 21K /tank/home
El conjunto de datos raíz está en rpool/ROOT/BE1, y hay un conjunto de datos /var incluido en el conjunto de datos raíz. Se clonan el conjunto de datos raíz y /var.
El entorno de inicio clonado, BE2, tiene un nuevo conjunto de datos raíz y un nuevo conjunto de datos /var, pero los conjuntos de datos compartidos originales, tank y tank/home, se mantienen sin cambios.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var rpool/ROOT/BE2 8.91M 24.4G 4.17G / rpool/ROOT/BE2/var 3.96M 24.4G 276M /var tank 450K 457G 18K /tank tank/home 315K 457G 21K /tank/home