Guía de administración de Oracle Solaris ZFS

Uso de Actualización automática de Oracle Solaris para migrar a un sistema de archivos raíz ZFS (sin zonas)

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:


Ejemplo 5–3 Uso de Actualización automática de Oracle Solaris para migrar un sistema de archivos raíz UFS a uno ZFS

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.



Ejemplo 5–4 Uso de Actualización automática de Oracle Solaris para crear un entorno de inicio ZFS a partir de un entorno de inicio ZFS

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:

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.


Ejemplo 5–5 Actualización del entorno de inicio ZFS (luupgrade)

El entorno de inicio ZFS se puede actualizar con paquetes o parches adicionales.

A continuación se expone el proceso básico:


# 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.