Los ejemplos siguientes ilustran la manera de migrar un sistema de archivos raíz UFS a uno ZFS.
Si desea migrar o actualizar un sistema con zonas, consulte las siguientes secciones:
El ejemplo siguiente ilustra la forma de crear un entorno de inicio de un sistema de archivos raíz ZFS desde un sistema de archivos raíz UFS. El entorno de inicio actual, ufsBE, que contiene un sistema de archivos raíz UFS, se identifica mediante la opción -c. Si no incluye la opción -c opcional, el nombre del entorno de inicio actual se convierte de forma predeterminada en el nombre del dispositivo. El entorno de inicio nuevo, zfsBE, se identifica mediante la opción -n. Antes de la operación lucreate debe haber una agrupación de almacenamiento ZFS.
Para que se pueda iniciar y actualizar, la agrupación de almacenamiento ZFS se debe crear con segmentos en lugar de discos enteros. Antes de crear la agrupación, compruebe que los discos que se usarán en ella tengan una etiqueta SMI (VTOC) en lugar de una etiqueta EFI. Si se vuelve a etiquetar el disco con una etiqueta SMI, compruebe que el proceso de etiquetado no haya modificado el esquema de partición. En la mayoría de los casos, toda la capacidad del disco debe estar en los segmentos que se destinan a la agrupación raíz.
# zpool create rpool mirror c1t2d0s0 c2t1d0s0 # lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufsBE>. Creating initial configuration for primary boot environment <ufsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-qD.mnt updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. |
Tras finalizar la operación de lucreate, utilice el comando lustatus para ver el estado del entorno de inicio. Por ejemplo:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - |
A continuación, examine la lista de componentes de ZFS. Por ejemplo:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.17G 59.8G 95.5K /rpool rpool/ROOT 4.66G 59.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.66G 59.8G 4.66G / rpool/dump 2G 61.8G 16K - rpool/swap 517M 60.3G 16K - |
Después, utilice el comando luactivate para activar el nuevo entorno de inicio ZFS. Por ejemplo:
# luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** . . . Modifying boot archive service Activation of boot environment <zfsBE> successful. |
A continuación, reinicie el sistema en el entorno de inicio ZFS.
# init 6 |
Confirme que el entorno de inicio ZFS esté activo.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes no no yes - zfsBE yes yes yes no - |
Si vuelve al entorno de inicio UFS, tendrá que volver a importar todas las agrupaciones de almacenamiento ZFS creadas en el entorno de inicio ZFS porque no están disponibles automáticamente en el entorno de inicio UFS.
Si ya no se necesita el entorno de inicio UFS, se puede eliminar con el comando ludelete.
El proceso de creación de un entorno de inicio ZFS desde un entorno de inicio ZFS es muy rápido porque esta operación utiliza las funciones de clonación e instantánea de ZFS. Si el entorno de inicio actual reside en la misma agrupación ZFS, se omite la opción -p.
Si tiene varios entornos de inicio ZFS, lleve a cabo el siguiente procedimiento para seleccionar el entorno de inicio desde el que desea iniciar:
SPARC: puede utilizar el comando boot -L para identificar los entornos de inicio disponibles y seleccionar un entorno de inicio desde el que se efectúe el inicio mediante el comando boot -Z.
x86: puede seleccionar un entorno de inicio desde el menú GRUB.
Para obtener más información, consulte el Ejemplo 5–9.
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
El entorno de inicio ZFS se puede actualizar con paquetes o parches adicionales.
A continuación se expone el proceso básico:
Crear un entorno de inicio alternativo con el comando lucreate.
Activar e iniciar desde el entorno de inicio alternativo.
Actualizar el entorno de inicio ZFS principal con el comando luupgrade para agregar paquetes o parches.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # luupgrade -p -n zfsBE -s /net/system/export/s10up/Solaris_10/Product SUNWchxge Validating the contents of the media </net/install/export/s10up/Solaris_10/Product>. Mounting the BE <zfsBE>. Adding packages to the BE <zfsBE>. Processing package instance <SUNWchxge> from </net/install/export/s10up/Solaris_10/Product> Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Using </a> as the package base directory. ## Processing package information. ## Processing system information. 4 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of <SUNWchxge> [y,n,?] y Installing Chelsio N110 10GE NIC Driver as <SUNWchxge> ## Installing part 1 of 1. ## Executing postinstall script. Installation of <SUNWchxge> was successful. Unmounting the BE <zfsBE>. The package add to the BE <zfsBE> completed. |