Guía de administración de Oracle Solaris ZFS

Inicio desde un sistema de archivos raíz ZFS

Tanto los sistemas basados en SPARC como en x86 utilizan el nuevo estilo de inicio con un archivo de almacenamiento de inicio, que consiste en una imagen de sistema de archivos con los archivos que se necesitan para iniciar. Si se inicia un sistema desde un sistema de archivos raíz ZFS, los nombres de ruta del archivo de almacenamiento de inicio y del archivo de núcleo se resuelven en el sistema de archivos raíz que se selecciona para iniciar.

Cuando se inicia un sistema para la instalación, se usa un disco RAM para el sistema de archivos raíz durante todo el proceso de instalación.

El inicio desde un sistema de archivos ZFS es diferente de un sistema de archivos UFS porque, con ZFS, el especificador de dispositivos de inicio identifica una agrupación de almacenamiento, no un solo sistema de archivos raíz. Una agrupación de almacenamiento puede contener varios conjuntos de datos que se pueden iniciar o sistemas de archivos raíz ZFS. Si se inicia desde ZFS, debe especificar un dispositivo de inicio y un sistema de archivos raíz en la agrupación identificada por el dispositivo de inicio.

De forma predeterminada, el conjunto de datos seleccionado para iniciar es el que queda identificado por la propiedad bootfs de la agrupación. Esta selección predeterminada se puede modificar optando por un conjunto de datos alternativo que se puede iniciar en el comando boot -Z.

Inicio desde un disco alternativo en una agrupación raíz ZFS reflejada

Puede crear una agrupación raíz ZFS reflejada al instalar el sistema; también puede conectar un disco para crear una agrupación raíz ZFS reflejada tras la instalación. Para más información, consulte:

Revise los siguientes problemas conocidos relativos a agrupaciones raíz ZFS reflejadas:

SPARC: inicio desde un sistema de archivos raíz ZFS

En un sistema basado en SPARC con varios entornos de inicio ZFS, puede iniciar desde cualquier entorno de inicio mediante el comando luactivate.

Durante el proceso de instalación del sistema operativo Solaris y la ejecución de Actualización automática de Oracle Solaris, el sistema de archivos raíz ZFS se designa automáticamente mediante la propiedad bootfs.

En una agrupación puede haber varios conjuntos de datos que se pueden iniciar. De forma predeterminada, la entrada del conjunto de datos que se puede iniciar del archivo /nombre_agrupación/boot/menu.lst se identifica mediante la propiedad bootfs de la agrupación. Ahora bien, una entrada de menu.lstpuede contener un comando bootfs, que especifica un conjunto de datos alternativo de la agrupación. De esta manera, el archivo menu.lst puede contener entradas de varios sistemas de archivos raíz dentro de la agrupación.

Si un sistema se instala con un sistema de archivos raíz ZFS o se migra a un sistema de archivos raíz ZFS, al archivo menu.lst se le agrega una entrada similar a la siguiente:


title zfsBE
bootfs rpool/ROOT/zfsBE
title zfs2BE
bootfs rpool/ROOT/zfs2BE

Al crearse un entorno de inicio, se actualiza automáticamente el archivo menu.lst.

En un sistema basado en SPARC hay dos nuevas opciones de inicio:


Ejemplo 5–8 SPARC: inicio desde un determinado entorno de inicio ZFS

Si dispone de varios entornos de inicio ZFS en una agrupación de almacenamiento ZFS en el dispositivo de inicio del sistema, puede utilizar el comando luactivate para designar un entorno de inicio predeterminado.

Por ejemplo, los siguientes entornos de inicio ZFS están disponibles como se describe en la salida de lustatus:


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

Si tiene varios entornos de inicio ZFS en un sistema basado en SPARC, puede utilizar el comando boot -L para iniciar desde un entorno de inicio que sea diferente del predeterminado. Sin embargo, un entorno de inicio que se inicia desde una sesión boot -L no se restablece como el predeterminado, ni se actualiza la propiedad bootfs. Si desea que el entorno de inicio que se inicia desde una sesión boot -L sea el predeterminado, debe activarlo con el comando luactivate.

Por ejemplo:


ok boot -L
Rebooting with command: boot -L
Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0  File and args: -L

1 zfsBE
2 zfs2BE
Select environment to boot: [ 1 - 2 ]: 1
To boot the selected entry, invoke:
boot [<root-device>] -Z rpool/ROOT/zfsBE

Program terminated
ok boot -Z rpool/ROOT/zfsBE


Ejemplo 5–9 SPARC: inicio de un sistema de archivos ZFS en modo a prueba de fallos

En un sistema basado en SPARC, puede iniciar desde el archivo de almacenamiento a prueba de fallos ubicado en /platform/`uname -i`/failsafe como se muestra a continuación:


ok boot -F failsafe

Para iniciar un archivo de almacenamiento a prueba de fallos desde un determinado conjunto de datos ZFS que se puede iniciar, utilice una sintaxis similar a la siguiente:


ok boot -Z rpool/ROOT/zfsBE -F failsafe

x86: inicio desde un sistema de archivos raíz ZFS

Las entradas siguientes se agregan al archivo /pool-name /boot/grub/menu.lst durante el proceso de instalación o al ejecutarse Actualización automática de Oracle Solaris para iniciar ZFS de forma automática:


title Solaris 10 9/10  X86
findroot (rootfs0,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
title Solaris failsafe
findroot (rootfs0,0,a)
kernel /boot/multiboot kernel/unix -s -B console=ttya
module /boot/x86.miniroot-safe

Si el dispositivo que GRUB identifica como dispositivo de inicio contiene una agrupación de almacenamiento ZFS, el archivo menu.lst se utiliza para crear el menú GRUB.

En el caso de un sistema basado en x86 con varios entornos de inicio ZFS, el entorno de inicio se puede seleccionar en el menú GRUB. Si el sistema de archivos raíz correspondiente a esta entrada de menú es un conjunto de datos ZFS, se agrega la opción siguiente:


-B $ZFS-BOOTFS

Ejemplo 5–10 x86: inicio de un sistema de archivos ZFS

Si se inicia un sistema desde un sistema de archivos ZFS, el parámetro -B $ZFS-BOOTFS especifica el dispositivo raíz en la línea kernel o module en la entrada del menú GRUB. El GRUB pasa al núcleo el valor de este parámetro, parecido a todos los parámetros que especifica la opción -B. Por ejemplo:



title Solaris 10 9/10  X86
findroot (rootfs0,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
title Solaris failsafe
findroot (rootfs0,0,a)
kernel /boot/multiboot kernel/unix -s -B console=ttya
module /boot/x86.miniroot-safe

Ejemplo 5–11 x86: inicio de un sistema de archivos ZFS en modo a prueba de fallos

El archivo de almacenamiento a prueba de fallos de x86 es /boot/x86.miniroot-safe y se puede iniciar seleccionando la entrada a prueba de fallos de Solaris en el menú GRUB. Por ejemplo:


title Solaris failsafe
findroot (rootfs0,0,a)
kernel /boot/multiboot kernel/unix -s -B console=ttya
module /boot/x86.miniroot-safe

Resolución de problemas de punto de montaje ZFS que impiden un inicio correcto (Solaris 10 10/08)

El uso del comando luactivate es la mejor forma de cambiar el entorno de inicio activo. Si el entorno de inicio activo no puede iniciarse, debido a un parche incorrecto o a un error de configuración, la única forma de iniciar otro entorno de inicio es seleccionar dicho entorno en el momento de iniciar. Puede seleccionar un entorno de inicio alternativo en el menú GRUB en un sistema basado en x86, o iniciarlo explícitamente desde la PROM de un sistema basado en SPARC.

Debido a un error en Actualización automática de Oracle Solaris en la versión Solaris 10 10/08, el inicio del entorno de inicio no activo podría fallar porque un conjunto de datos ZFS o el conjunto de datos ZFS de una zona del entorno de inicio tiene un punto de montaje no válido. Ese mismo error impide el montaje del entorno de inicio si tiene un conjunto de datos /var aparte.

Si el conjunto de datos de una zona tiene un punto de montaje no válido, éste se puede corregir si se realizan los siguientes pasos.

ProcedureCómo resolver problemas de punto de montaje ZFS

  1. Inicie el sistema desde un archivo de almacenamiento a prueba de fallos.

  2. Importe la agrupación.

    Por ejemplo:


    # zpool import rpool
    
  3. Busque puntos de montaje temporales incorrectos.

    Por ejemplo:


    # zfs list -r -o name,mountpoint rpool/ROOT/s10u6
        
        NAME                               MOUNTPOINT
        rpool/ROOT/s10u6                   /.alt.tmp.b-VP.mnt/
        rpool/ROOT/s10u6/zones             /.alt.tmp.b-VP.mnt//zones
        rpool/ROOT/s10u6/zones/zonerootA   /.alt.tmp.b-VP.mnt/zones/zonerootA

    El punto de montaje del entorno de inicio raíz (rpool/ROOT/s10u6) debe ser /.

    Si falla el inicio debido a problemas de montaje de /var, busque un punto de montaje temporal similar incorrecto para el conjunto de datos /var.

  4. Restablezca los puntos de montaje del entorno de inicio ZFS y sus conjuntos de datos.

    Por ejemplo:


    # zfs inherit -r mountpoint rpool/ROOT/s10u6
    # zfs set mountpoint=/ rpool/ROOT/s10u6
    
  5. Reinicie el sistema.

    Si se presenta la opción para iniciar un determinado entorno de inicio, en el menú GRUB o el indicador de OpenBoot PROM, seleccione el entorno de inicio cuyos puntos de montaje se han acabado de corregir.

Inicio en situaciones de recuperación en un entorno raíz ZFS

Utilice el procedimiento siguiente si necesita iniciar el sistema para recuperarse de la pérdida de una contraseña raíz o de un problema similar.

Dependiendo de la gravedad del error, tendrá que iniciar en modo a prueba de fallos o desde un medio alternativo. En general, puede iniciar en modo a prueba de fallos para recuperar una contraseña raíz perdida o desconocida.

Si necesita recuperar una agrupación raíz o una instantánea de agrupación raíz, consulte Recuperación de la agrupación raíz ZFS o las instantáneas de la agrupación raíz.

ProcedureCómo iniciar ZFS en modo a prueba de fallos

  1. Inicie en modo a prueba de fallos.

    En un sistema SPARC:


    ok boot -F failsafe
    

    En un sistema x86, seleccione el modo a prueba de fallos en el indicador de GRUB.

  2. Monte el entorno de inicio ZFS en /a cuando se le solicite:


    .
    .
    .
    ROOT/zfsBE was found on rpool.
    Do you wish to have it mounted read-write on /a? [y,n,?] y
    mounting rpool on /a
    Starting shell.
  3. Cambie al directorio /a/etc.


    # cd /a/etc
    
  4. Si es necesario, establezca el tipo TERM.


    # TERM=vt100
    # export TERM
  5. Corrija el archivo passwd o shadow.


    # vi shadow
    
  6. Reinicie el sistema.


    # init 6
    

ProcedureCómo iniciar ZFS desde un medio alternativo

Si un problema impide que el sistema se inicie correctamente, o se produce algún otro problema grave, deberá iniciar desde un servidor de instalación en red o desde un CD de instalación de Solaris, importar la agrupación raíz, montar el entorno de inicio ZFS e intentar resolver el problema.

  1. Inicie desde un CD de instalación o desde la red.

    • SPARC:


      ok boot cdrom -s 
      ok boot net -s
      

      Si no utiliza la opción -s, deberá salir del programa de instalación.

    • x86: seleccione la opción de inicio de red o de inicio desde el CD local.

  2. Importe la agrupación raíz y especifique un punto de montaje alternativo. Por ejemplo:


    # zpool import -R /a rpool
    
  3. Monte el entorno de inicio ZFS. Por ejemplo:


    # zfs mount rpool/ROOT/zfsBE
    
  4. Acceda al contenido ZFS desde el directorio /a.


    # cd /a
    
  5. Reinicie el sistema.


    # init 6