Guia de administração do ZFS Oracle Solaris

Capítulo 5 Instalando e inicializando um sistema de arquivos raiz ZFS do Oracle Solaris

Este capítulo descreve como instalar e inicializar um sistema de arquivos ZFS do Oracle Solaris. Também é tratada a migração de um sistema de arquivos raiz UFS para um sistema de arquivos ZFS com o Oracle Solaris Live Upgrade.

Este capítulo traz as seguintes seções:

Para uma lista de problemas conhecidos nesta versão, consulte Notas da versão Oracle Solaris 10 9/10.

Para obter informações atualizadas sobre a solução de problemas, visite o seguinte site:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Instalando e inicializando um sistema de arquivos ZFS do Oracle Solaris (visão geral)

A partir do Solaris 10 10/08, é possível instalar e inicializar a partir de um sistema de arquivos raiz ZFS das seguintes formas:

Depois que um sistema com base em SPARC ou em x86 tiver sido instalado com um sistema de arquivos raiz ZFS ou migrado para um sistema de arquivos raiz ZFS, o sistema inicializa automaticamente a partir do sistema de arquivos raiz ZFS. Para obter mais informações sobre alterações na inicialização, consulte Inicializando a partir de um sistema de arquivos raiz ZFS.

Recursos de instalação do ZFS

São oferecidos os seguintes recursos de instalação do ZFS nesta versão do Solaris:

São oferecidos nesta versão os seguintes recursos de instalação:

Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS

Certifique que os seguintes requisitos sejam atendidos antes de tentar instalar um sistema com um sistema de arquivos raiz ZFS ou tentar migrar um sistema de arquivo raiz UFS para um sistema de arquivo raiz ZFS.

Requisitos da versão do Oracle Solaris

É possível instalar e inicializar um sistema de arquivos raiz ZFS ou migrar para tal sistema das seguintes formas:

Requisitos gerais do pool de armazenamento ZFS

As seções a seguir descrevem o espaço e os requisitos de configuração do conjunto raiz ZFS.

Requisitos de espaço de disco para grupos de armazenamento ZFS

O montante mínimo necessário de espaço disponível para o pool em um sistema de arquivos raiz ZFS é maior do que em um sistema de arquivos raiz UFS, porque os dispositivos de intercâmbio e dump devem ser dispositivos diferentes em um ambiente de raiz ZFS. Por padrão, os dispositivos de intercâmbio e dump são um mesmo dispositivo em sistema de arquivos raiz UFS.

Quando um sistema é instalado ou atualizado com um sistema de arquivos raiz ZFS, o tamanho da área de intercâmbio e o dispositivo de dump dependem da quantidade de memória física. A quantidade mínima de espaço disponível para o pool em um sistema de arquivos raiz ZFS inicializável depende da quantidade de memória física, do espaço em disco disponível e do número de ambientes de inicialização (BEs) que serão criados.

Revise os requisitos de espaço de disco a seguir para grupos de armazenamento ZFS:

Requisitos da configuração pool de armazenamento ZFS

Reveja os seguintes requisitos de configuração do pool de armazenamento ZFS:

Instalando um sistema de arquivos raiz ZFS (Instalação inicial)

Nesta versão do Solaris, você pode realizar uma instalação inicial usando o instalador de texto interativo do Solaris para criar um pool de armazenamento do ZFS que contenha um sistema de arquivos raiz ZFS inicializável. Se tiver um grupo de armazenamento ZFS que deseja utilizar no sistema de arquivos raiz ZFS, deve ser utilizado o Oracle Solaris Live Upgrade para migrar o sistema de arquivos raiz UFS existente em um conjunto de armazenamento ZFS. Para mais informações, consulte Migrando um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS (Oracle Solaris Live Upgrade).

Se for configurar regiões depois da instalação inicial de um sistema de arquivos raiz ZFS e tiver planos de atualizar ou instalar patches no sistema, consulte Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (Solaris 10 10/08) ou Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (no mínimo Solaris 10 5/09).

Se já possuir conjuntos de armazenamento ZFS no sistema, eles são reconhecidos pela mensagem a seguir. Entretanto, estes conjuntos permanecem intocados, a menos que selecione os discos nos conjuntos existentes para criar um novo conjunto de armazenamento.


There are existing ZFS pools available on this system.  However, they can only be upgraded 
using the Live Upgrade tools.  The following screens will only allow you to install a ZFS root system, 
not upgrade one.

Cuidado – Cuidado –

Os pools existentes serão destruídos se qualquer um dos seus discos estiverem selecionados no novo pool.


Antes de começar a instalação inicial para criar um conjunto de armazenamento ZFS, consulte Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS.


Exemplo 5–1 Instalação inicial de um sistema de arquivos raiz ZFS inicializável

O processo de instalação de texto interativo do Solaris é basicamente o mesmo das versões anteriores do Solaris, exceto que você é solicitado a criar um sistema de arquivos raiz UFS ou ZFS. O UFS ainda é o sistema de arquivos padrão nesta versão. Se selecionar um sistema de arquivos raiz ZFS, será solicitada a criação de um conjunto de armazenamento ZFS. As etapas para instalar o sistema de arquivos raiz ZFS seguem:

  1. Selecione o método de instalação interativo do Solaris porque a instalação com o Solaris Flash não está disponível para criar um sistema de arquivos raiz ZFS inicializável. Entretanto, é possível criar um arquivo Flash ZFS para ser utilizado durante a instalação do JumpStart. Para mais informações, consulte Instalando um sistema de arquivos raiz ZFS (instalação de arquivo do Oracle Solaris Flash).

    Começando com a versão do Solaris 10 10/08, é possível migrar de um sistema de arquivo raiz UFS para um sistema de arquivos raiz ZFS desde que a versão do Solaris 10 10/08 ou posterior já esteja instalada. Para mais informações sobre a migração para um sistema de arquivos raiz ZFS, consulte Migrando um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS (Oracle Solaris Live Upgrade).

  2. Para criar um sistema de arquivos raiz ZFS, selecione a opção ZFS. Por exemplo:


    Choose Filesystem Type
    
      Select the filesystem to use for your Solaris installation
    
    
                [ ] UFS
                [X] ZFS
  3. Após selecionar o software que será instalado, você é solicitado a selecionar os discos para criar o pool de armazenamento ZFS. Esta tela é semelhante à das versões anteriores do Solaris.


    Select Disks
    
      On this screen you must select the disks for installing Solaris software.
      Start by looking at the Suggested Minimum field; this value is the
      approximate space needed to install the software you've selected. For ZFS,
      multiple disks will be configured as mirrors, so the disk you choose, or the
      slice within the disk must exceed the Suggested Minimum value.
      NOTE: ** denotes current boot disk
    
      Disk Device                                              Available Space
      =============================================================================
      [X]    c1t0d0                                           69994 MB  (F4 to edit)
      [ ]    c1t1d0                                           69994 MB
      [-]    c1t2d0                                               0 MB
      [-]    c1t3d0                                               0 MB
    
                                      Maximum Root Size:  69994 MB
                                      Suggested Minimum:   8279 MB

    Você pode selecionar o disco ou os discos a serem usados para o pool raiz ZFS. Se selecionar dois discos, uma configuração espelhada de dois discos é definida para o pool raiz. Tanto um conjunto espelhado de dois discos quanto de três discos é excelente. Se tiver oito discos e selecionar todos eles, os oito discos são utilizados para o conjunto raiz como um grande espelho. Esta configuração não é considerada ótima. Outra opção é criar um pool raiz espalhado após a conclusão da instalação inicial. Uma configuração de pool RAID-Z para o pool raiz não é suportada. Para obter mais informações sobre a configuração de pools de armazenamento do ZFS, consulte Recursos de replicação de um pool de armazenamento do ZFS.

  4. Para selecionar dois discos para criar um conjunto raiz espelhado, utilize as teclas de controle do cursor para selecionar o segundo disco. Por exemplo, ambos c1t1d0 e c0t2d0 são selecionados para os discos de conjunto raiz. Ambos os discos precisam ter uma legenda SMI e uma fatia 0. Se os discos não estão legendados com um SMI ou não contém segmentos, é preciso sair do programa de instalação. Utilize o utilitário format para legendar novamente e reparticionar os discos e, a seguir, reinicie o programa de instalação.


    Select Disks
    
      On this screen you must select the disks for installing Solaris software.
      Start by looking at the Suggested Minimum field; this value is the
      approximate space needed to install the software you've selected. For ZFS,
      multiple disks will be configured as mirrors, so the disk you choose, or the
      slice within the disk must exceed the Suggested Minimum value.
      NOTE: ** denotes current boot disk
    
      Disk Device                                              Available Space
      =============================================================================
      [X]    c1t0d0                                           69994 MB  
      [X]    c1t1d0                                           69994 MB  (F4 to edit)
      [-]    c1t2d0                                               0 MB
      [-]    c1t3d0                                               0 MB
    
                                      Maximum Root Size:  69994 MB
                                      Suggested Minimum:   8279 MB

    Se a coluna Espaço disponível identifica 0 MB, o disco provavelmente possui uma legenda EFI. Se deseja utilizar um disco com uma legenda EFI, é necessários sair da instalação do programa, relegendar o disco com uma legenda SMI ao utilizar o comando format -e e, então, reinicializar o programa de instalação.

    Se não for criado um conjunto raiz espelhado durante a instalação, é possível criar um facilmente depois da instalação. Para informações, consulte Como criar um conjunto raiz espelhado (pós-instalação).

  5. Depois de selecionar um ou mais discos para o conjunto de armazenamento ZFS, será exibida uma tela semelhante à seguinte:


    Configure ZFS Settings
    
      Specify the name of the pool to be created from the disk(s) you have chosen.
      Also specify the name of the dataset to be created within the pool that is
      to be used as the root directory for the filesystem.
    
                  ZFS Pool Name: rpool                                   
          ZFS Root Dataset Name: s10s_u9wos_08
          ZFS Pool Size (in MB): 69995
      Size of Swap Area (in MB): 2048
      Size of Dump Area (in MB): 1536
            (Pool size must be between 6231 MB and 69995 MB)
    
                             [X] Keep / and /var combined
                             [ ] Put /var on a separate dataset

    Nesta tela, é possível alterar o nome do conjunto ZFS, o nome do conjunto de dados, o tamanho do conjunto e o tamanho dos dispositivos de permuta e despejo movendo as teclas de controle do cursor pelas entradas e substituindo o valor do texto padrão pelo novo valor. Ou, pode aceitar os valores padrão. Além disso, é possível modificar a forma como o sistema de arquivos /var é criado e montado.

    Neste exemplo, o nome do conjunto de dados é alterado para zfsBE.


                  ZFS Pool Name: rpool
          ZFS Root Dataset Name: zfsBE                                   
          ZFS Pool Size (in MB): 69995
      Size of Swap Area (in MB): 2048
      Size of Dump Area (in MB): 1536
            (Pool size must be between 6231 MB and 69995 MB)
    
                             [X] Keep / and /var combined
                             [ ] Put /var on a separate dataset
  6. Você pode alterar o perfil da instalação nesta tela final de instalação. Por exemplo:


    Profile
    
      The information shown below is your profile for installing Solaris software.
      It reflects the choices you've made on previous screens.
    
      ============================================================================
    
                    Installation Option: Initial
                            Boot Device: c1t0d0
                  Root File System Type: ZFS
                        Client Services: None
    
                                Regions: North America
                          System Locale: C ( C )
    
                               Software: Solaris 10, Entire Distribution
                              Pool Name: rpool
                  Boot Environment Name: zfsBE
                              Pool Size: 69995 MB
                        Devices in Pool: c1t0d0
                                         c1t1d0
  7. Quando a instalação estiver concluída, revise as informações resultantes do conjunto de armazenamento e do sistema de arquivos ZFS. Por exemplo:


    # zpool status
      pool: rpool
     state: ONLINE
     scrub: none requested
    config:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror-0    ONLINE       0     0     0
                c1t0d0s0  ONLINE       0     0     0
                c1t1d0s0  ONLINE       0     0     0
    
    errors: No known data errors
    # zfs list
    NAME                USED  AVAIL  REFER  MOUNTPOINT
    rpool              8.03G  58.9G    96K  /rpool
    rpool/ROOT         4.47G  58.9G    21K  legacy
    rpool/ROOT/zfsBE   4.47G  58.9G  4.47G  /
    rpool/dump         1.50G  58.9G  1.50G  -
    rpool/export         44K  58.9G    23K  /export
    rpool/export/home    21K  58.9G    21K  /export/home
    rpool/swap         2.06G  61.0G    16K  -

    A saída zfs list de amostra identifica os componentes do pool raiz, como o diretório rpool/ROOT, que não está acessível por padrão.

  8. Para criar outro ambiente de inicialização (BE) ZFS no mesmo conjunto de armazenamento, é possível utilizar o comando lucreate. No exemplo seguinte, é criado um novo BE denominado zfs2BE. O BE atual é nomeado zfsBE, como mostrado na saída zfs list. Entretanto, o BE atual não é reconhecido na saída lustatus até que o novo BE seja criado.


    # lustatus
    ERROR: No boot environments are configured on this system
    ERROR: cannot determine list of all boot environment names

    Se criar um novo BE do ZFS no mesmo pool, use uma sintaxe semelhante à seguinte:


    # lucreate -n zfs2BE
    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.

    Criando um BE do ZFS dentro do mesmo conjunto utiliza recursos de clone ZFS e instantâneo para criar instantaneamente o BE. Para mais detalhes sobre a utilização do Oracle Solaris Live Upgrade em uma migração de raiz ZFS, consulte Migrando um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS (Oracle Solaris Live Upgrade).

  9. Depois, verifique os novos ambientes de inicialização. Por exemplo:


    # lustatus
    Boot Environment           Is       Active Active    Can    Copy      
    Name                       Complete Now    On Reboot Delete Status    
    -------------------------- -------- ------ --------- ------ ----------
    zfsBE                      yes      yes    yes       no     -         
    zfs2BE                     yes      no     no        yes    -        
    # zfs list
    NAME                      USED  AVAIL  REFER  MOUNTPOINT
    rpool                    8.03G  58.9G    97K  /rpool
    rpool/ROOT               4.47G  58.9G    21K  legacy
    rpool/ROOT/zfs2BE         116K  58.9G  4.47G  /
    rpool/ROOT/zfsBE         4.47G  58.9G  4.47G  /
    rpool/ROOT/zfsBE@zfs2BE  75.5K      -  4.47G  -
    rpool/dump               1.50G  58.9G  1.50G  -
    rpool/export               44K  58.9G    23K  /export
    rpool/export/home          21K  58.9G    21K  /export/home
    rpool/swap               2.06G  61.0G    16K  -
  10. Se desejar inicializar a partir de BE alternativo, utilize o comando luactivate. Depois de ativar o BE em um sistema com base em SPARC, utilize o comando boot - L para identificar os BEs disponíveis quando o dispositivo de inicialização contiver um conjunto de armazenamento ZFS. Ao inicializar de um ssietma com base no x86, identifique o BE a ser inicializado no menu GRUB.

    Por exemplo, em um sistema com base no SPARC, use o comando boot - L para exibir uma lista dos BEs disponíveis. Para inicializar do novo BE, zfs2BE, selecione a opção 2. Em seguida, digite o comando boot -Z exibido.


    ok boot -L
    Executing last 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 ]: 2
    
    To boot the selected entry, invoke:
    boot [<root-device>] -Z rpool/ROOT/zfs2BE
    ok boot -Z rpool/ROOT/zfs2BE
    

Para obter mais informações sobre a inicialização de um sistema de arquivos ZFS, consulte Inicializando a partir de um sistema de arquivos raiz ZFS.


ProcedureComo criar um conjunto raiz espelhado (pós-instalação)

Se não for criado um conjunto raiz espelhado durante a instalação, é possível criar um facilmente depois da instalação.

Para informações sobre a substituição de um disco no conjunto raiz ZFS, consulte Como substituir um disco no pool raiz ZFS.

  1. Exibe o estado atual do conjunto raiz.


    # zpool status rpool
      pool: rpool
     state: ONLINE
     scrub: none requested
    config:
    
            NAME        STATE     READ WRITE CKSUM
            rpool       ONLINE       0     0     0
              c1t0d0s0  ONLINE       0     0     0
    
    errors: No known data errors
  2. Anexe o segundo disco para configurar um conjunto raiz espelhado.


    # zpool attach rpool c1t0d0s0 c1t1d0s0
    Please be sure to invoke installboot(1M) to make 'c1t1d0s0' bootable.
    Make sure to wait until resilver is done before rebooting.
  3. Visualize o estado do conjunto raiz para confirmar que o resilvering foi concluído.


    # zpool status rpool
      pool: rpool
     state: ONLINE
    status: One or more devices is currently being resilvered.  The pool will
            continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
     scrub: resilver in progress for 0h1m, 24.26% done, 0h3m to go
    config:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror-0    ONLINE       0     0     0
                c1t0d0s0  ONLINE       0     0     0
                c1t1d0s0  ONLINE       0     0     0  3.18G resilvered
    
    errors: No known data errors

    Na saída acima, o processo de resilvering não está concluído. Resilvering está concluído quando é possível visualizar mensagens semelhantes à seguinte:


    scrub: resilver completed after 0h10m with 0 errors on Thu Mar 11 11:27:22 2010
  4. Aplique bloqueios de inicialização ao segundo disco depois da conclusão do resilvering.


    sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
    

    x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
    
  5. Verifique se é possível inicializar com êxito a partir do segundo disco.

  6. Configure o sistema para inicializar automaticamente a partir do disco novo, ou utilizando o comando eeprom, o comando setenv da PROM de inicialização do SPARC. Ou reconfigure a BIOS do PC.

Instalando um sistema de arquivos raiz ZFS (instalação de arquivo do Oracle Solaris Flash)

Iniciando na versão do Solaris 10 10/09, é possível criar um arquivo Flash em um sistema que executa um sistema de arquivos raiz UFS ou ZFS. O arquivo Flash de um sistema de arquivos raiz ZFS contém toda a hierarquia do pool, exceto para volumes de dump e intercâmbio, e todos os conjuntos de dados excluídos. Os volumes de permuta e despejo são criados quando o arquivo Flash é instalado. É possível utilizar o método de instalação do arquivo Flash da seguinte forma:

Revise as seguintes limitações antes de considerar a instalação de um sistema com um arquivo Flash ZFS:

Depois que um sistema mestre é instalado ou atualizado para a versão do Solaris 10 10/09, é possível criar um arquivo Flash ZFS para ser utilizado para instalar um sistema alvo. O processo básico é:

As opções de arquivamento a seguir são suportadas para a instalação do conjunto raiz ZFS com um arquivo Flash:

Após a instalação de uma arquivo Flash ZFS, o sistema é configurado como segue:


Exemplo 5–2 Instalando um sistema com um arquivo Flash do ZFS

Depois da instalação ou atualização de um sistema mestre com no mínimo a versão do Solaris 10 10/09, crie um arquivo Flash para o conjunto raiz ZFS. Por exemplo:


# flarcreate -n zfsBE zfs10upflar
Full Flash
Checking integrity...
Integrity OK.
Running precreation scripts...
Precreation scripts done.
Determining the size of the archive...
The archive will be approximately 4.94GB.
Creating the archive...
Archive creation complete.
Running postcreation scripts...
Postcreation scripts done.

Running pre-exit scripts...
Pre-exit scripts done.

No sistema que será utilizado como o servidor de instalação, crie um perfil JumpStart da mesma maneira que faria para instalar qualquer sistema. Por exemplo, o perfil a seguir é utilizado para instalar o arquivo zfs10flar .


install_type flash_install
archive_location nfs system:/export/jump/zfs10upflar
partitioning explicit
pool rpool auto auto auto mirror c0t1d0s0 c0t0d0s0

Instalando um sistema de arquivos raiz ZFS (instalação Oracle Solaris JumpStart)

É possível criar um perfil JumpStart para instalar um sistema de arquivos raiz ZFS ou um sistema de arquivos raiz UFS.

Um perfil específico do ZFS deve conter a nova palavra-chave pool. A palavra-chave conjunto instala um novo conjunto raiz e, por padrão, é criado um novo ambiente de inicialização. É possível fornecer o nome do ambiente de inicialização e criar outro conjunto de dados em separado /var com as palavras-chave bootenv installbe e as opções bename e dataset.

Para obter informações gerais sobre o uso dos recursos do JumpStart, consulte Guia de instalação do Oracle Solaris 10 9/10: instalação JumpStart personalizada e instalações avançadas.

Se for configurar regiões depois da instalação JumpStart de um sistema de arquivos raiz ZFS e tiver planos de atualizar ou instalar patches no sistema, consulte Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (Solaris 10 10/08) ou Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (no mínimo Solaris 10 5/09).

Palavras-chave do JumpStart para ZFS

Em um perfil específico do ZFS são permitidas as seguintes palavras-chave:

auto

Especifica automaticamente o tamanho dos segmentos do grupo, do volume de permuta ou do volume de despejo. O tamanho do disco é verificado para comprovar que o tamanho mínimo pode ser alojado. Se o tamanho mínimo puder ser acomodado, o maior tamanho possível do conjunto é alocado, dadas as limitações, como o tamanho dos discos, os segmentos preservados, e assim por diante.

Por exemplo, se especificar c0t0d0s0, o segmento de conjunto raiz é criado com o maior tamanho possível tanto se especificar a palavra-chave all quanto auto. Ou é possível especificar um tamanho determinado para o segmento ou para o volume de permuta ou despejo.

A palavra-chave auto funciona de forma semelhante à palavra-chave all quando utilizada com um conjunto raiz ZFS porque os conjuntos não têm espaço não utilizado.

bootenv

Identifica as características do ambiente de inicialização.

Use a seguinte sintaxe da palavra-chave bootenv para criar um ambiente de raiz ZFS inicializável:

bootenv installbe bename BE-name [ dataset mount-point]

installbe

Cria um novo BE identificado pela opção bename e pela entrada nome-do-BE e o instala.

bename nome-do-BE

Identifica o nome-do-BE a ser instalado.

Se bename não for usado com a palavra-chave pool, é criado um BE padrão.

dataset mount-point

Use a palavra-chave dataset opcional para identificar o conjunto de dados /var, que é diferente do conjunto de dados raiz. O valor do mount-point está atualmente limitado a /var. Por exemplo, a linha de sintaxe de bootenv de um conjunto de dados /var diferente é semelhante à seguinte:


bootenv installbe bename zfsroot dataset /var
pool

Define o novo pool raiz que será criado. Deve ser fornecida a seguinte sintaxe da palavra-chave:


pool poolname poolsize swapsize dumpsize vdevlist
poolname

Identifica o nome do pode que será criado. O pool é criado com o tamanho especificado e com os dispositivos físicos especificados (vdevs). O valor poolname não deve identificar o nome de um conjunto existente ou o conjunto existente será substituído.

poolsize

Especifica o tamanho do pool que será criado. O valor pode ser auto ou existing. O valor auto aloca o maior tamanho possível do conjunto, dadas as limitações, como o tamanho dos discos, os segmentos preservados e assim por diante. O valor existing significa que os limites dos segmentos existentes com tal nome são preservados ou substituídos. O tamanho adotado é em MB, a menos que esteja especificado por g (GB).

swapsize

Especifica o tamanho do volume de intercâmbio que será criado. O valor autosignifica que o tamanho de permuta padrão é utilizado. É possível especificar um tamanho com um valor size. O tamanho adotado é em MB, a menos que estiver especificado por g (GB).

dumpsize

Especifica o tamanho do volume de dump que será criado. O valor autosignifica que o tamanho de permuta padrão é utilizado. É possível especificar um tamanho com um valor size. O tamanho presumido é em MB, a menos que esteja especificado por g (GB).

vdevlist

Especifica um ou mais dispositivos que serão usados para criar o pool. O formato de vdevlist é o mesmo que o formato do comando zpool create. Atualmente, somente as configurações espelhadas são suportadas quando vários dispositivos são especificados. Os dispositivos de vdevlist devem ser segmentos para o conjunto raiz. O valor any significa que o software de instalação seleciona um dispositivo adequado.

É possível espelhar quantos discos quiser, mas o tamanho do conjunto criado é determinado pelo menor dos discos especificados. Para obter mais informações sobre a criação de pools de armazenamento espelhados, consulte Configuração de pool de armazenamento espelhado.

Exemplos de perfil do JumpStart para ZFS

Esta seção oferece exemplos de perfis do JumpStart específicos do ZFS.

O perfil seguinte realiza uma instalação inicial especificada com install_type initial_install em um novo pool, identificado com pool newpool, cujo tamanho é automaticamente determinado com a palavra-chave auto para o tamanho dos discos especificados. A área de permuta e dispositivo de despejo é automaticamente dimensionada com a palavra-chave auto em uma configuração espelhada dos discos (com a palavra-chave mirror e discos especificados como c0t0d0s0 e c0t1d0s0). As características do ambiente de inicialização são definidas com a palavra-chave bootenv para instalar um novo BE com a palavra-chave installbe e um bename denominado s10-xx é criado.


install_type initial_install
pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0
bootenv installbe bename s10-xx

O perfil a seguir efetua uma instalação inicial com a palavra-chave install_type initial_install do metacluster SUNWCall em um novo grupo chamado newpool, que possui tamanho de 80 GB. Este conjunto é criado com um volume de permuta de 2 GB e um volume de despejo de 2 GB, em uma configuração espelhada de qualquer um dos dois dispositivos disponíveis que seja grande o suficiente para criar um grupo de 80 GB. Se nenhum dos dois dispositivos estiverem disponíveis, a instalação falha. As características do ambiente de inicialização são definidas com a palavra-chave bootenv para instalar um novo BE com a palavra-chave installbe e um bename denominado s10–xx é criado.


install_type initial_install
cluster SUNWCall
pool newpool 80g 2g 2g mirror any any
bootenv installbe bename s10-xx

A sintaxe de instalação do JumpStart permite a preservação ou criação de um sistema de arquivos UFS em um disco que inclui também o conjunto raiz ZFS. Esta configuração não é recomendada para sistemas de produção, mas pode ser usada para transições ou migrações em sistemas pequenos, tal como um laptop.

Problemas do JumpStart ZFS

Considere os problemas a seguir antes de iniciar uma instalação JumpStart de um sistema de arquivos raiz ZFS inicializável.

Migrando um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS (Oracle Solaris Live Upgrade)

Os recursos relacionados do Oracle Solaris Live Upgrade estão disponíveis e, se estiverem relacionados aos componentes UFS, funcionam como nas versões anteriores do Solaris.

Os recursos a seguir também estão disponíveis:

Para informações detalhadas sobre a instalação do Oracle Solaris e os recursos do Oracle Solaris Live Upgrade, consulte Oracle Guia de instalação do Solaris 10 9/10: Solaris Live Upgrade e planejamento da atualização.

O processo básico para migrar de um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS é o seguinte:

Para informações sobre requisitos do ZFS e do Oracle Solaris Live Upgrade, consulte Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS.

Problemas de migração ZFS com o Oracle Solaris Live Upgrade

Revise a lista de problemas a seguir antes de utilizar o Oracle Solaris Live Upgrade para migrar o sistema de arquivos raiz UFS para um ZFS:

Utilizando o Oracle Solaris Live Upgrade para migrar para um sistema de arquivos raiz ZFS (sem regiões)

Os exemplos seguinte mostram como migrar um sistema de arquivos raiz UFS para ZFS.

Se for migrar ou atualizar um sistema com regiões, consulte as seguintes seções:


Exemplo 5–3 Utilizando o Oracle Solaris Live Upgrade para migrar um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS

O exemplo seguinte mostra como criar um BE de um sistema de arquivos raiz ZFS a partir de um sistema de arquivos raiz UFS. O BE atual, ufsBE, que contém um sistema de arquivos raiz UFS, é identificado pela opção -c. Se a opção - c não for incluída, o nome do BE atual será, por padrão, o nome do dispositivo. O novo BE, zfsBE, é identificado pela opção -n. Um pool de armazenamento ZFS deve existir antes da operação com lucreate.

O conjunto de armazenamento ZFS deve ser criado com segmentos em vez de com um disco inteiro para que possa ser atualizável e inicializável. Antes de criar o novo grupo, certifique-se de que os discos a serem utilizados no grupo tenham uma legenda SMI (VTOC) em vez de uma legenda EFI. Se o disco for remarcado com uma legenda SMI, certifique-se de que o processo de rotulação não altera o esquema de particionamento. Na maioria dos casos, toda capacidade do disco deve estar nos segmentos destinados ao conjunto raiz.


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

Após a operação com lucreate ter terminado, use o comando lustatus para exibir o status do BE. Por exemplo:


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

Em seguida, consulte a lista de componentes do ZFS. Por exemplo:


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

Depois, use o comandoluactivate para ativar o novo BE do ZFS. Por exemplo:


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

Depois, reinicialize o sistema para o BE do ZFS.


# init 6

Comprove que o BE do ZFS está ativo.


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

Se voltar ao BE do UFS, você terá que reimportar os conjuntos de armazenamento ZFS que foram criados enquanto o BE do ZFS estava sendo inicializado, porque tais grupos não estão automaticamente disponíveis no BE do UFS.

Se o BE do UFS já não for mais necessário, você pode removê-lo com o comando ludelete.



Exemplo 5–4 Utilizando o Oracle Solaris Live Upgrade para criar um BE do ZFS a partir de um BE do ZFS

A criação de um BE do ZFS a partir de um BE do ZFS no mesmo pool é muito rápida porque esta operação usa os recursos de instantâneos e clones do ZFS. Se o BE estiver no mesmo conjunto ZFS, por exemplo, a opção -p é omitida.

Se possuir vários BEs de ZFS, faça o seguinte para selecionar a partir de qual BE inicializar:

Para obter mais informações, consulte o Exemplo 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.


Exemplo 5–5 Atualizando o BE do ZFS (luupgrade)

Você pode atualizar o BE do ZFS com correções ou pacotes adicionais.

O processo 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.

Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (Solaris 10 10/08)

É possível utilizar o Oracle Solaris Live Upgrade para migrar um sistema com regiões, mas as configurações suportadas são limitadas na versão Solaris 10 10/08. Se estiver instalando ou atualizando para pelo menos o o Solaris 10 5/09, mais configurações de região são suportadas. Para mais informações, consulte Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (no mínimo Solaris 10 5/09).

Esta seção descreve como configurar e instalar um sistema com regiões para que possa ser atualizado e ter patches instalados com o Oracle Solaris Live Upgrade. Se for migrar para um sistema de arquivos raiz ZFS sem regiões, consulte Utilizando o Oracle Solaris Live Upgrade para migrar para um sistema de arquivos raiz ZFS (sem regiões).

Se for migrar ou configurar um sistema com regiões no Solaris 10 10/08, consulte os seguintes procedimentos:

Siga estes procedimentos recomendados para configurar regiões em um sistema com sistemas de arquivos raiz ZFS para garantir que o Live Upgrade possa ser utilizado em tal sistema.

ProcedureComo migrar um sistema de arquivos raiz UFS com raízes de regiões em UFS para um sistema de arquivos raiz ZFS (Solaris 10 10/08)

Este procedimento explica como migrar de um sistema de arquivos raiz UFS com regiões instaladas para um sistema de arquivos de raiz e configuração de raiz de região ZFS que pode ser atualizada ou ter patches instalado.

Nas etapas a seguir, o nome do conjunto de exemplo é rpool e o nome de exemplo do ambiente de inicialização ativo é s10BE*.

  1. Atualize os sistema para o Solaris 10 10/08 se estiver executando uma versão anterior do Solaris 10.

    Para informações sobre atualizações de um sistema que executa o Solaris 10, consulte Oracle Guia de instalação do Solaris 10 9/10: Solaris Live Upgrade e planejamento da atualização.

  2. Crie o conjunto raiz.


    # zpool create rpool mirror c0t1d0 c1t1d0
    

    Para obter informações sobre os requisitos do conjunto raiz, consulte Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS.

  3. Comprove que as regiões do ambiente do UFS estejam inicializadas.

  4. Crie o novo ambiente de inicialização do ZFS.


    # lucreate -n s10BE2 -p rpool
    

    Este comando estabelece os conjuntos de dados no conjunto raiz do novo ambiente de inicialização e copia o ambiente de inicialização atual (incluindo as regiões) em tais conjuntos de dados.

  5. Ative o novo ambiente de inicialização do ZFS.


    # luactivate s10BE2
    

    Agora, o sistema está executando um sistema de arquivos raiz ZFS, mas as raízes de região no UFS ainda estão no sistema de arquivos raiz UFS. É necessário completar as próximas etapas para migrar totalmente as regiões UFS para uma configuração ZFS suportada.

  6. Reinicialize o sistema.


    # init 6
    
  7. Migre as regiões para um BE do ZFS.

    1. Inicialize as regiões.

    2. Crie outro BE do ZFS dentro do grupo.


      # lucreate s10BE3
      
    3. Ative o novo ambiente de inicialização.


      # luactivate s10BE3
      
    4. Reinicialize o sistema.


      # init 6
      

      Esta etapa verifica se o BE do ZFS e as regiões estão inicializados.

  8. Resolva qualquer potencial problema de ponto de montagem.

    Devido a um erro no Oracle Solaris Live Upgrade, o ambiente de inicialização inativo pode falhar ao ser inicializado porque o conjunto de dados ZFS ou o conjunto de dados ZFS da região no ambiente de inicialização possui um ponto de montagem inválido.

    1. Revise a saída do zfs list.

      Procure os pontos de montagem temporários incorretos. Por exemplo:


      # 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

      O ponto de montagem do BE do ZFS raiz (rpool/ROOT/s10u6) deve ser /.

    2. Redefina os pontos de montagem do BE do ZFS e seus conjuntos de dados.

      Por exemplo:


      # zfs inherit -r mountpoint rpool/ROOT/s10u6
      # zfs set mountpoint=/ rpool/ROOT/s10u6
      
    3. Reinicialize o sistema.

      Quando a opção para inicializar um ambiente de inicialização específico for apresentada, tanto no menu GRUB quanto no prompt do OpenBoot PROM, selecione o ambiente de inicialização cujos pontos de montagem acabam de ser corrigidos.

ProcedureComo configurar um sistema de arquivos raiz ZFS com raízes de região em ZFS (Solaris 10 10/08)

Este procedimento explica como configurar um sistema de arquivos raiz ZFS e a configuração da raiz de região ZFS que pode ser atualizada ou ter patches instalados. Nesta configuração, as raízes de região ZFS são criadas como conjuntos de dados ZFS.

Nas etapas a seguir, o nome do conjunto de exemplo é rpool e o nome de exemplo do ambiente de inicialização ativo é s10BE*. O nome do conjunto de dados das regiões pode ser qualquer nome de conjunto de dados permitido. No exemplo a seguir, o nome do conjunto de dados das regiões é regiões.

  1. Instale o sistema com uma raiz ZFS utilizando o instalador de texto interativo Solaris ou o método de instalação Solaris JumpStart.

    Para informações sobre a instalação de um sistema de arquivos raiz ZFS utilizando o método da instalação inicial ou o método Solaris JumpStart, consulte Instalando um sistema de arquivos raiz ZFS (Instalação inicial) ou Instalando um sistema de arquivos raiz ZFS (instalação Oracle Solaris JumpStart).

  2. Inicialize o sistema a partir do conjunto raiz recém-criado.

  3. Crie um conjunto de dados para agrupar as raízes da região.

    Por exemplo:


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones
    

    Definir o valor canmount para a propriedade noauto impede que o conjunto de dados seja montado de forma diferente da ação explícita do Oracle Solaris Live Upgrade e do código de inicialização do sistema.

  4. Monte o conjunto de dados de regiões recém-criado.


    # zfs mount rpool/ROOT/s10BE/zones
    

    O conjunto de dados é montado em /zones.

  5. Crie e monte um conjunto de dados para cada raiz de região.


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones/zonerootA
    # zfs mount rpool/ROOT/s10BE/zones/zonerootA
    
  6. Defina as permissões apropriadas no diretório raiz da região.


    # chmod 700 /zones/zonerootA
    
  7. Configure a região, definindo o caminho da região da seguinte forma:


    # zonecfg -z zoneA
        zoneA: No such zone configured
        Use 'create' to begin configuring a new zone.
        zonecfg:zoneA> create
        zonecfg:zoneA> set zonepath=/zones/zonerootA
    

    Você pode ativar as regiões para que se inicializem automaticamente quando o sistema for inicializado usando a seguinte sintaxe:


    zonecfg:zoneA> set autoboot=true
    
  8. Instale a região.


    # zoneadm -z zoneA install
    
  9. Inicialize a região.


    # zoneadm -z zoneA boot
    

ProcedureComo atualizar ou aplicar correções em um sistema de arquivos raiz ZFS com raízes de região em ZFS (Solaris 10 10/08)

Utilize este procedimento quando precisar atualizar ou instalar patches em um sistema de arquivos raiz ZFS com raízes de região em ZFS. Estas atualizações podem ser tanto uma melhora do sistema quanto uma aplicação de patches.

Nas etapas a seguir, newBE é o nome de exemplo do ambiente de inicialização que é atualizado ou tem patches instalados.

  1. Crie um ambiente de inicialização para ser atualizado ou aplicar correções.


    # lucreate -n newBE
    

    O ambiente de inicialização existente, incluindo todas as regiões, é clonado. São criados novos conjuntos de dados para cada conjunto de dados do ambiente de inicialização original. Os novos conjuntos de dados são criados no mesmo pool do pool raiz atual.

  2. Selecione um dos procedimentos a seguir para atualizar o sistema ou aplicar patches ao novo ambiente de inicialização:

    • Atualize o sistema.


      # luupgrade -u -n newBE -s /net/install/export/s10u7/latest
      

      Onde a opção -s especifica a localização de um meio de instalação do Solaris.

    • Aplique patches no novo ambiente de inicialização.


       # luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14
      
  3. Ative o novo ambiente de inicialização.


    # luactivate newBE
    
  4. Inicialize a partir do ambiente de inicialização recém ativado.


    # init 6
    
  5. Resolva qualquer potencial problema de ponto de montagem.

    Devido a um erro no recurso do Oracle Solaris Live Upgrade, o ambiente de inicialização inativo pode falhar ao ser inicializado porque o conjunto de dados ZFS ou o conjunto de dados ZFS da região no ambiente de inicialização possuem um ponto de montagem inválido.

    1. Revise a saída do zfs list.

      Procure os pontos de montagem temporários incorretos. Por exemplo:


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

      O ponto de montagem do BE do ZFS raiz (rpool/ROOT/newBE) deve ser /.

    2. Redefina os pontos de montagem do BE do ZFS e seus conjuntos de dados.

      Por exemplo:


      # zfs inherit -r mountpoint rpool/ROOT/newBE
      # zfs set mountpoint=/ rpool/ROOT/newBE
      
    3. Reinicialize o sistema.

      Quando a opção para inicializar um ambiente de inicialização específico for apresentada, tanto no menu GRUB quanto no prompt do OpenBoot PROM, selecione o ambiente de inicialização cujos pontos de montagem acabam de ser corrigidos.

Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (no mínimo Solaris 10 5/09)

É possível utilizar o recurso Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões a partir da versão Solaris 10 10/08. Configurações adicionais de regiões esparsas ou completas de raiz são suportadas pelo Live Upgrade, começando com a versão Solaris 10 5/09.

Esta seção descreve como configurar e instalar um sistema com regiões para que possa ser atualizado e ter o patch instalado com o Oracle Solaris Live Upgrade a partir da versão Solaris 10 5/09. Se for migrar para um sistema de arquivos raiz ZFS sem regiões, consulte Utilizando o Oracle Solaris Live Upgrade para migrar para um sistema de arquivos raiz ZFS (sem regiões).

Considere os pontos a seguir ao utilizar o Live Upgrade com ZFS e regiões começando com a versão Solaris 10 5/09:

Se estiver migrando ou configurando um sistema com regiões começando com a versão Solaris 10 5/09, revise as informações a seguir:

ZFS suportado com informações de configuração de raiz da região (pelo menos Solaris 10 5/09)

Revise as configurações de região suportadas antes de utilizar o recurso Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões.

ProcedureComo criar um BE do ZFS com um sistema de arquivos raiz ZFS e uma raiz de região (pelo menos Solaris 10 5/09)

Utilize este procedimento depois de ter efetuado uma instalação inicial pelo menos da versão Solaris 10 5/09 para criar um sistema de arquivos raiz ZFS. Utilize também este procedimento depois de ter utilizado o recurso luupgrade para atualizar um sistema de arquivos raiz ZFS para pelo menos a versão Solaris 10 5/09. Um BE do ZFS criado através deste procedimento pode, portanto, ser atualizado e receber correções.

Nas etapas a seguir, o sistema Oracle Solaris 10 9/10 de exemplo apresenta um sistema de arquivos raiz ZFS e um conjunto de dados de região de raiz em /rpool/zones. É criado um BE do ZFS denominado zfs2BE que pode ser atualizado e ter patches instalados.

  1. Revise os sistemas de arquivos ZFS existentes.


    # zfs list
    NAME                   USED  AVAIL  REFER  MOUNTPOINT
    rpool                 7.26G  59.7G    98K  /rpool
    rpool/ROOT            4.64G  59.7G    21K  legacy
    rpool/ROOT/zfsBE      4.64G  59.7G  4.64G  /
    rpool/dump            1.00G  59.7G  1.00G  -
    rpool/export            44K  59.7G    23K  /export
    rpool/export/home       21K  59.7G    21K  /export/home
    rpool/swap               1G  60.7G    16K  -
    rpool/zones            633M  59.7G   633M  /rpool/zones
  2. Certifique-se de que as regiões estejam instaladas e inicializadas.


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       2 zfszone          running    /rpool/zones                   native   shared
  3. Crie o BE do ZFS.


    # 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.
  4. Ative o BE do ZFS.


    # lustatus
    Boot Environment           Is       Active Active    Can    Copy      
    Name                       Complete Now    On Reboot Delete Status    
    -------------------------- -------- ------ --------- ------ ----------
    zfsBE                      yes      yes    yes       no     -         
    zfs2BE                     yes      no     no        yes    -         
    # luactivate zfs2BE
    A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>.
    .
    .
    .
    # init 6
    
  5. Comprove se os sistemas de arquivos ZFS e as regiões foram criados no novo BE.


    # zfs list
    NAME                               USED  AVAIL  REFER  MOUNTPOINT
    rpool                             7.38G  59.6G    98K  /rpool
    rpool/ROOT                        4.72G  59.6G    21K  legacy
    rpool/ROOT/zfs2BE                 4.72G  59.6G  4.64G  /
    rpool/ROOT/zfs2BE@zfs2BE          74.0M      -  4.64G  -
    rpool/ROOT/zfsBE                  5.45M  59.6G  4.64G  /.alt.zfsBE
    rpool/dump                        1.00G  59.6G  1.00G  -
    rpool/export                        44K  59.6G    23K  /export
    rpool/export/home                   21K  59.6G    21K  /export/home
    rpool/swap                           1G  60.6G    16K  -
    rpool/zones                       17.2M  59.6G   633M  /rpool/zones
    rpool/zones-zfsBE                  653M  59.6G   633M  /rpool/zones-zfsBE
    rpool/zones-zfsBE@zfs2BE          19.9M      -   633M  -
    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       - zfszone          installed  /rpool/zones                   native   shared

ProcedureComo atualizar ou instalar patch em um sistema de arquivos raiz ZFS com raízes de região (pelo menos Solaris 10 5/09)

Utilize este procedimento quando for necessário atualizar ou instalar patches em um sistema de arquivos raiz ZFS com raízes de região na versão Solaris 10 5/09, no mínimo. Estas atualizações podem ser tanto uma melhora do sistema quanto uma aplicação de patches.

Nas etapas a seguir, zfs2BE é o nome de exemplo do ambiente de inicialização no qual se realiza a atualização ou se aplicam as correções.

  1. Revise os sistemas de arquivos ZFS existentes.


    # zfs list
    NAME                               USED  AVAIL  REFER  MOUNTPOINT
    rpool                             7.38G  59.6G   100K  /rpool
    rpool/ROOT                        4.72G  59.6G    21K  legacy
    rpool/ROOT/zfs2BE                 4.72G  59.6G  4.64G  /
    rpool/ROOT/zfs2BE@zfs2BE          75.0M      -  4.64G  -
    rpool/ROOT/zfsBE                  5.46M  59.6G  4.64G  /
    rpool/dump                        1.00G  59.6G  1.00G  -
    rpool/export                        44K  59.6G    23K  /export
    rpool/export/home                   21K  59.6G    21K  /export/home
    rpool/swap                           1G  60.6G    16K  -
    rpool/zones                       22.9M  59.6G   637M  /rpool/zones
    rpool/zones-zfsBE                  653M  59.6G   633M  /rpool/zones-zfsBE
    rpool/zones-zfsBE@zfs2BE          20.0M      -   633M  -
  2. Certifique-se de que as regiões estejam instaladas e inicializadas.


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       5 zfszone          running    /rpool/zones                   native   shared
  3. Crie um BE do ZFS para ser atualizado ou aplicar as correções.


    # lucreate -n zfs2BE
    Analyzing system configuration.
    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>.
    Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>.
    Creating clone for <rpool/zones@zfs2BE> on <rpool/zones-zfs2BE>.
    Population of boot environment <zfs2BE> successful.
    Creation of boot environment <zfs2BE> successful.
  4. Selecione um dos procedimentos a seguir para atualizar o sistema ou instalar patches ao novo ambiente de inicialização:

    • Atualize o sistema.


      # luupgrade -u -n zfs2BE -s /net/install/export/s10up/latest
      

      Onde a opção -s especifica a localização de um meio de instalação do Solaris.

      Este processo pode demorar um longo tempo.

      Para obter um exemplo completo do processo de luupgrade, consulte o Exemplo 5–6.

    • Aplique patches no novo ambiente de inicialização.


      # luupgrade -t -n zfs2BE -t -s /patchdir patch-id-02 patch-id-04
      
  5. Ative o novo ambiente de inicialização.


    # lustatus
    Boot Environment           Is       Active Active    Can    Copy      
    Name                       Complete Now    On Reboot Delete Status    
    -------------------------- -------- ------ --------- ------ ----------
    zfsBE                      yes      yes    yes       no     -         
    zfs2BE                     yes      no     no        yes    -    
    # luactivate zfs2BE
    A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>.
    .
    .
    .
  6. Inicialize a partir do ambiente de inicialização recém ativado.


    # init 6
    

Exemplo 5–6 Atualizando um sistema de arquivos raiz ZFS com raiz de região para o sistema de arquivos raiz ZFS do Oracle Solaris 10 9/10

Neste exemplo, um BE do ZFS (zfsBE), criado em um sistema Solaris 10 10/09 com um sistema de arquivos raiz ZFS em um grupo não-raiz, é atualizado para a versão do Solaris 10 9/10. Este processo pode ser demorado. A seguir, o BE atualizado (zfs2BE) é ativado. Certifique-se de que as regiões estejam instaladas e inicializadas antes de tentar atualizar.

Neste exemplo, o grupo zonepool e o conjunto de dados /zonepool/zones e a região zfszone são criados como segue:


# zpool create zonepool mirror c2t1d0 c2t5d0
# zfs create zonepool/zones
# chmod 700 zonepool/zones
# zonecfg -z zfszone
zfszone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zfszone> create
zonecfg:zfszone> set zonepath=/zonepool/zones
zonecfg:zfszone> verify
zonecfg:zfszone> exit
# zoneadm -z zfszone install
cannot create ZFS dataset zonepool/zones: dataset already exists
Preparing to install zone <zfszone>.
Creating list of files to copy from the global zone.
Copying <8960> files to the zone.
.
.
.

# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   2 zfszone          running    /zonepool/zones                native   shared

# lucreate -n zfsBE
.
.
.
# luupgrade -u -n zfsBE -s /net/install/export/s10up/latest
40410 blocks
miniroot filesystem is <lofs>
Mounting miniroot at </net/system/export/s10up/latest/Solaris_10/Tools/Boot>
Validating the contents of the media </net/system/export/s10up/latest>.
The media is a standard Solaris media.
The media contains an operating system upgrade image.
The media contains <Solaris> version <10>.
Constructing upgrade profile to use.
Locating the operating system upgrade program.
Checking for existence of previously scheduled Live Upgrade requests.
Creating upgrade profile for BE <zfsBE>.
Determining packages to install or upgrade for BE <zfsBE>.
Performing the operating system upgrade of the BE <zfsBE>.
CAUTION: Interrupting this process may leave the boot environment unstable 
or unbootable.
Upgrading Solaris: 100% completed
Installation of the packages from this media is complete.
Updating package information on boot environment <zfsBE>.
Package information successfully updated on boot environment <zfsBE>.
Adding operating system patches to the BE <zfsBE>.
The operating system patch installation is complete.
INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot 
environment <zfsBE> contains a log of the upgrade operation.
INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot 
environment <zfsBE> contains a log of cleanup operations required.
INFORMATION: Review the files listed above. Remember that all of the files 
are located on boot environment <zfsBE>. Before you activate boot 
environment <zfsBE>, determine if any additional system maintenance is 
required or if additional media of the software distribution must be 
installed.
The Solaris upgrade of the boot environment <zfsBE> is complete.
Installing failsafe
Failsafe install is complete.
# luactivate zfsBE
# init 6
# 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     -         
# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - zfszone          installed  /zonepool/zones                native   shared

ProcedureComo migrar um sistema de arquivos raiz UFS com raiz de região para um sistema de arquivos raiz ZFS (pelo menos Solaris 10 5/09)

Utilize este procedimento para migrar um sistema com um sistema de arquivos raiz UFS e uma raiz de região para a versão Solaris 10 5/09, pelo menos. Em seguida, utilize o Oracle Solaris Live Upgrade para criar um BE do ZFS.

Nas etapas a seguir, o nome do BE do UFS de exemplo é c0t1d0s0, a raiz da região UFS é zonepool/zfszone, e o BE de raiz ZFS é zfs .

  1. Atualize o sistema para, no mínimo, a versão Solaris 10 5/09 se estiver executando uma versão anterior do Solaris 10.

    Para mais informações sobre atualizações de um sistema que executa o Solaris 10, consulte Oracle Guia de instalação do Solaris 10 9/10: Solaris Live Upgrade e planejamento da atualização.

  2. Crie o conjunto raiz.

    Para obter informações sobre os requisitos do conjunto raiz, consulte Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS.

  3. Comprove que as regiões do ambiente do UFS estejam inicializadas.


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       2 zfszone          running    /zonepool/zones                native   shared
  4. Crie o novo ambiente de inicialização do ZFS.


    # lucreate -c c1t1d0s0 -n zfsBE -p rpool
    

    Este comando estabelece os conjuntos de dados no conjunto raiz do novo ambiente de inicialização e copia o ambiente de inicialização atual (incluindo as regiões) em tais conjuntos de dados.

  5. Ative o novo ambiente de inicialização do ZFS.


    # lustatus
    Boot Environment           Is       Active Active    Can    Copy      
    Name                       Complete Now    On Reboot Delete Status    
    -------------------------- -------- ------ --------- ------ ----------
    c1t1d0s0                   yes      no     no        yes    -         
    zfsBE                      yes      yes    yes       no     -         #
    luactivate zfsBE       
    A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>.
    .
    .
    .
  6. Reinicialize o sistema.


    # init 6
    
  7. Comprove se os sistemas de arquivos ZFS e as regiões foram criados no novo BE.


    # zfs list
    NAME                                USED  AVAIL  REFER  MOUNTPOINT
    rpool                              6.17G  60.8G    98K  /rpool
    rpool/ROOT                         4.67G  60.8G    21K  /rpool/ROOT
    rpool/ROOT/zfsBE                   4.67G  60.8G  4.67G  /
    rpool/dump                         1.00G  60.8G  1.00G  -
    rpool/swap                          517M  61.3G    16K  -
    zonepool                            634M  7.62G    24K  /zonepool
    zonepool/zones                      270K  7.62G   633M  /zonepool/zones
    zonepool/zones-c1t1d0s0             634M  7.62G   633M  /zonepool/zones-c1t1d0s0
    zonepool/zones-c1t1d0s0@zfsBE       262K      -   633M  -
    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       - zfszone          installed  /zonepool/zones                native   shared

Exemplo 5–7 Migrando um sistema de arquivos raiz UFS com raiz de região para um sistema de arquivos raiz ZFS

Neste exemplo, um sistema Solaris 10 9/10 com um sistema de arquivos raiz UFS e uma raiz de região (/uzone/ufszone) e um conjunto não-raiz ZFS (grupo ) e a região raiz (/grupo/zfszone) é migrado para um sistema de arquivos raiz ZFS. Certifique-se de que o conjunto raiz ZFS seja criado e que as regiões estejam instaladas e inicializadas antes de realizar a migração.


# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   2 ufszone          running    /uzone/ufszone                 native   shared
   3 zfszone          running    /pool/zones/zfszone            native   shared

# lucreate -c ufsBE -n zfsBE -p rpool
Analyzing system configuration.
No name for current boot environment.
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 <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/c1t1d0s0> 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.
Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>.
Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfsBE>.
Creating clone for <pool/zones/zfszone@zfsBE> on <pool/zones/zfszone-zfsBE>.
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-DLd.mnt
updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive
Population of boot environment <zfsBE> successful.
Creation of boot environment <zfsBE> successful.
# 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    -         
# luactivate zfsBE    
.
.
.
# init 6
.
.
.
# zfs list
NAME                                    USED  AVAIL  REFER  MOUNTPOINT
pool                                    628M  66.3G    19K  /pool
pool/zones                              628M  66.3G    20K  /pool/zones
pool/zones/zfszone                     75.5K  66.3G   627M  /pool/zones/zfszone
pool/zones/zfszone-ufsBE                628M  66.3G   627M  /pool/zones/zfszone-ufsBE
pool/zones/zfszone-ufsBE@zfsBE           98K      -   627M  -
rpool                                  7.76G  59.2G    95K  /rpool
rpool/ROOT                             5.25G  59.2G    18K  /rpool/ROOT
rpool/ROOT/zfsBE                       5.25G  59.2G  5.25G  /
rpool/dump                             2.00G  59.2G  2.00G  -
rpool/swap                              517M  59.7G    16K  -
# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - ufszone          installed  /uzone/ufszone                 native   shared
   - zfszone          installed  /pool/zones/zfszone            native   shared

Suporte do ZFS para dispositivos de intercâmbio e dump

Durante a instalação inicial do Solaris OS ou depois de efetuar uma migração do Oracle Solaris Live Upgrade de um sistema de arquivos UFS, é criada uma área de permuta em um volume ZFS no conjunto raiz ZFS. Por exemplo:


# swap -l
swapfile                  dev  swaplo  blocks   free
/dev/zvol/dsk/rpool/swap 256,1      16 4194288 4194288

Durante a instalação inicial do Solaris OS ou do Oracle Solaris Live Upgrade de um sistema de arquivos UFS, é criado um dispositivo de despejo em um volume ZFS no conjunto raiz ZFS. No geral, um dispositivo de despejo não necessita de administração pois é configurado automaticamente no momento da instalação. Por exemplo:


# dumpadm
      Dump content: kernel pages
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash/t2000
  Savecore enabled: yes
   Save compressed: on

Se desativar e remover o dispositivo de despejo, então é necessário ativá-lo com o comando dumpadm depois de ser recriado. Na maioria dos casos, será necessário apenas ajustar o tamanho do dispositivo de despejo ao utilizar o comando zfs.

Para obter informações sobre os tamanhos dos volumes de permuta e despejo que são criados pelos programas de instalação, consulte Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS.

Os tamanhos do volume de intercâmbio e do volume de dump podem ser ajustados durante e depois da instalação. Para mais informações, consulte Ajustando os tamanhos dos dispositivos de permuta e despejo ZFS.

Considere os problemas a seguir ao trabalhar com dispositivos de permuta e despejo ZFS:

Consulte as seções a seguir para mais informações:

Ajustando os tamanhos dos dispositivos de permuta e despejo ZFS

Devido às diferenças no modo em que a instalação da raiz ZFS determina o tamanho dos dispositivos de permuta e despejo, pode ser necessário ajustar o tamanho destes dispositivos antes, durante ou depois da instalação.

Solução de problemas para dispositivo de despejo ZFS

Revise os itens a seguir se tiver problemas em capturar um despejo de memória de sistema ou em redimensionar o dispositivo de despejo.

Inicializando a partir de um sistema de arquivos raiz ZFS

Os sistemas baseados em SPARC e em x86 usam o novo estilo de inicialização com um arquivo de inicialização, que é a imagem de um sistema de arquivos que contém os arquivos necessários para a inicialização. Ao inicializar de um sistema de arquivos raiz ZFS, os nomes de caminho do arquivo de inicialização e do arquivo de kernel são resolvidos no sistema de arquivos raiz selecionado para a inicialização.

Quando um sistema é inicializado para instalação, um disco RAM é utilizado para o sistema de arquivos raiz durante todo o processo de instalação.

A inicialização de um sistema de arquivos ZFS é diferente da inicialização de um sistema de arquivos UFS porque, com o ZFS, o especificador de dispositivos de inicialização identifica um conjunto de armazenamento, e não um único sistema de arquivos raiz. Um pool de armazenamento pode conter vários conjuntos de dados inicializáveis ou sistemas de arquivos raiz ZFS. Ao inicializar do ZFS, você deve especificar um dispositivo de inicialização e um sistema de arquivos raiz dentro do pool identificado pelo dispositivo de inicialização.

Por padrão, o conjunto de dados selecionado para inicialização é aquele identificado pela propriedade bootfs do conjunto. Esta seleção padrão pode ser ignorada ao especificar um conjunto de dados inicializável alternativo no comando boot -Z.

Inicializando a partir de um disco alternativo em um pool raiz ZFS espelhado

Você pode criar um pool raiz ZFS espelhado quando o sistema for instalado ou anexar um disco para criar um pool raiz ZFS espelhado após a instalação. Para obter mais informações, consulte:

Consulte os problemas conhecidos em relação aos pools raiz ZFS espelhados:

SPARC: inicializando a partir de um sistema de arquivos raiz ZFS

Em um sistema com base em SPARC com vários BEs do ZFS, é possível inicializar a partir de qualquer BE utilizando o comando luactivate.

Durante o processo de instalação do Solaris OS e do Oracle Solaris Live Upgrade, o sistema de arquivos raiz ZFS é atribuído automaticamente com a propriedade bootfs.

Pode haver vários conjuntos de dados inicializáveis dentro de um pool. Por padrão, a entrada do conjunto de dados inicializável no arquivo /nome-do-pool/boot/menu.lst é identificada pela propriedade bootfs do pool. No entanto, a entrada de menu.lstpode conter o comando bootfs, que especifica um conjunto de dados alternativo no pool. Desta forma, o arquivo menu.lst pode conter entradas para vários sistemas de arquivos dentro do pool.

Quando um sistema de arquivos é instalado com o sistema de arquivos raiz ZFS ou é migrado para um sistema de arquivos raiz ZFS, uma entrada semelhante à seguinte é adicionada ao arquivo menu.lst:


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

Quando um novo BE é criado, o arquivo menu.lst é atualizado automaticamente.

Em um sistema com base no SPARC, há duas novas opções disponíveis:


Exemplo 5–8 SPARC: inicializando a partir de um ambiente de inicialização específico ZFS

Se possuir vários BEs do ZFS em um conjunto de armazenamento ZFS no dispositivo de inicialização do sistema, é possível utilizar o comando luactivate para especificar um BE padrão.

Por exemplo, os seguintes BEs do ZFS estão disponíveis conforme descrito pela saída 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     -

Se possui vários BEs do ZFS em seu sistema com base em SPARC, é possível utilizar o comando boot -L de um BE que é diferente do BE padrão. Entretanto, um BE que é inicializado de uma sessão boot -L não é redefinido como o BE padrão, nem a propriedade bootfs atualizada. Se deseja fazer o BE inicializado de uma sessão boot -L o BE padrão, então é necessário ativá-lo com o comando luactivate.

Por exemplo:


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


Exemplo 5–9 SPARC: inicializando um sistema de arquivos no modo à prova de falhas

Em um sistema com base no SPARC, você pode inicializar a partir do arquivo à prova de falhas localizado em /platform/`uname -i`/failsafe da seguinte forma:


ok boot -F failsafe

Para inicializar um arquivo à prova de falha a partir de um determinado conjunto de dados ZFS, utilize uma sintaxe semelhante à seguinte:


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

x86: inicializando a partir de um sistema de arquivos raiz ZFS

As entradas a seguir são adicionadas ao arquivo /pool-name /boot/grub/menu.lst durante o processo de instalação do Solaris OS ou durante a operação do Oracle Solaris Live Upgrade para inicializar automaticamente o ZFS:


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

Se o dispositivo identificado pelo GRUB como o dispositivo de inicialização contiver um pool de armazenamento do ZFS, o arquivo menu.lst é usado para criar o menu GRUB.

Em um ssietma com base no x86 com vários BEs do ZFS, você pode selecionar um BE no menu GRUB. Se o sistema de arquivos raiz correspondente a esta entrada do menu for um conjunto de dados ZFS, a opção seguinte é adicionada:


-B $ZFS-BOOTFS

Exemplo 5–10 x86: inicializando um sistema de arquivos ZFS

Quando um sistema inicializa de um sistema de arquivos ZFS, o dispositivo raiz é especificado pelo parâmetro de inicialização -B $ZFS-BOOTFS nas linhas kernel ou module na entrada do menu GRUB. Este valor de parâmetro, semelhante a todos os parâmetros especificados pela opção -B, é passado ao kernel pelo GRUB. Por exemplo:



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

Exemplo 5–11 x86: inicializando um sistema de arquivos no modo à prova de falhas

O arquivo à prova de falhas do x86 é /boot/x86.miniroot-safe e pode ser inicializado pela seleção da entrada à prova de falhas do Solaris no menu GRUB. Por exemplo:


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

Resolvendo problemas do ponto de montagem ZFS que impedem a inicialização com êxito (Solaris 10 10/08)

A melhor forma de alterar o ambiente de inicialização ativo é usando o comando luactivate. Se a inicialização do ambiente ativo falha devido à uma instalação de patch incorreta ou a um erro de configuração, a única forma de inicializar a partir de outro ambiente é selecionando tal ambiente no momento da inicialização. É possível selecionar um BE alternativo no menu GRUB em um sistema com base em x86 ou inicializá-lo explicitamente a partir da PROM em um sistema com base em SPARC.

Devido a um erro no Oracle Solaris Live Upgrade na versão Solaris 10 10/08, o ambiente de inicialização que não estiver ativo pode falhar ao inicializar porque o conjunto de dados ZFS ou o conjunto de dados ZFS da região no ambiente de inicialização possuem um ponto de montagem inválido. O mesmo erro também impede que o BE seja montado se tiver um conjunto de dados /var diferente.

Se um conjunto de dados de região possui um ponto de montagem inválido, tal ponto de montagem pode ser corrigido realizando as etapas a seguir.

ProcedureComo resolver problemas de ponto de montagem ZFS

  1. Inicialize o sistema a partir de um arquivo à prova de falhas.

  2. Importe o pool.

    Por exemplo:


    # zpool import rpool
    
  3. Procure os pontos de montagem temporários incorretos.

    Por exemplo:


    # 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

    O ponto de montagem do BE raiz (rpool/ROOT/s10u6) deve ser /.

    Se a inicialização estiver falhando devido a problemas com o ponto de montagem /var, procure um ponto de montagem temporário similar do conjunto de dados /var.

  4. Redefina os pontos de montagem do BE do ZFS e seus conjuntos de dados.

    Por exemplo:


    # zfs inherit -r mountpoint rpool/ROOT/s10u6
    # zfs set mountpoint=/ rpool/ROOT/s10u6
    
  5. Reinicialize o sistema.

    Quando a opção para inicializar um ambiente de inicialização específico for apresentada, tanto no menu GRUB quanto no prompt do OpenBoot PROM, selecione o ambiente de inicialização cujos pontos de montagem acabam de ser corrigidos.

Inicializando com o propósito de recuperação em um ambiente raiz ZFS

Utilize o procedimento a seguir se necessita inicializar o sistema para que possa recuperar uma senha de raiz perdida ou problema semelhante.

Será necessário inicializar no modo à prova de falhas ou de uma mídia alternativa, dependendo da severidade do erro. No geral, é possível inicializar no modo à prova de falhas para recuperar uma senha de raiz perdida ou desconhecida.

Se desejar recuperar de um conjunto de raiz ou de uma captura de conjunto de raiz, consulte Recuperando o pool raiz ZFS ou instantâneos do pool raiz.

ProcedureComo inicializar o ZFS no modo à prova de falhas

  1. Inicialize o modo à prova de falhas.

    Em um sistema SPARC:


    ok boot -F failsafe
    

    Em um sistema x86, selecione o modo à prova de falhas no prompt do GRUB.

  2. Monte o BE do ZFS no /a quando solicitado:


    .
    .
    .
    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. Altere para o diretório /a/etc.


    # cd /a/etc
    
  4. Se necessário, defina o tipo TERM.


    # TERM=vt100
    # export TERM
  5. Corrija o arquivo passwd ou shadow.


    # vi shadow
    
  6. Reinicialize o sistema.


    # init 6
    

ProcedureComo inicializar o ZFS de uma mídia alternativa

Se um problema impede a inicialização com êxito do sistema ou algum outro problema severo ocorra, será necessário inicializar de um servidor de instalação de rede ou do CD de instalação do Solaris. Importe o conjunto raiz, monte o BE do ZFS e tente resolver o problema.

  1. Inicialize de um CD de instalação ou da rede.

    • SPARC:


      ok boot cdrom -s 
      ok boot net -s
      

      Se não utilizar a opção -s, será necessário sair do programa de instalação.

    • x86: selecione a opção de inicialização de rede ou de inicialização de um CD local.

  2. Importe o conjunto raiz e especifique um ponto de montagem alternativo. Por exemplo:


    # zpool import -R /a rpool
    
  3. Monte o BE do ZFS. Por exemplo:


    # zfs mount rpool/ROOT/zfsBE
    
  4. Acesse o conteúdo do BE do ZFS do diretório /a.


    # cd /a
    
  5. Reinicialize o sistema.


    # init 6
    

Recuperando o pool raiz ZFS ou instantâneos do pool raiz

As seções seguintes descrevem como realizar as tarefas abaixo:

ProcedureComo substituir um disco no pool raiz ZFS

Pode ser necessário substituir um disco no pool raiz pelas seguintes razões:

Em uma configuração de conjunto raiz espelhado, é possível tentar substituir um disco sem inicializar de uma mídia alternativa. É possível substituir um disco falho ao utilizar o comando zpool replace. Ou, se possuir um disco adicional, é possível utilizar o comando zpool attach. Consulte o procedimento nesta seção para um exemplo de anexação de um disco adicional e desanexação de um disco de conjunto raiz.

Alguns softwares necessitam que traga um disco off-line e desconfigure-o antes de tentar a operação zpool replace para substituir um disco falho. Por exemplo:


# zpool offline rpool c1t0d0s0
# cfgadm -c unconfigure c1::dsk/c1t0d0
<Physically remove failed disk c1t0d0>
<Physically insert replacement disk c1t0d0>
# cfgadm -c configure c1::dsk/c1t0d0
# zpool replace rpool c1t0d0s0
# zpool online rpool c1t0d0s0
# zpool status rpool
<Let disk resilver before installing the boot blocks>
SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0

Em alguns hardwares, não é necessário trazer o disco on-line ou reconfigurá-lo depois de ser inserido.

É necessário identificar os nomes de caminho do dispositivo de inicialização do disco atual e do disco novo para que seja possível testar uma inicialização de teste a partir do disco substituto e também uma inicialização manual a partir do disco existente, caso o disco substituto falhe. Neste exemplo no procedimento a seguir, o nome do caminho para o atual disco de conjunto raiz (c1t10d0s0) é:


/pci@8,700000/pci@3/scsi@5/sd@a,0

O nome do caminho para o disco de inicialização substituto (c1t9d0s0) é:


/pci@8,700000/pci@3/scsi@5/sd@9,0
  1. Conecte fisicamente o disco de substituição (ou novo).

  2. Confirme que o novo disco possui uma legenda SMI e um segmento 0.

    Para obter informações sobre como relegendar um disco reservado para o pool raiz, use o seguinte site:

    http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

  3. Anexe o novo disco ao pool raiz.

    Por exemplo:


    # zpool attach rpool c1t10d0s0 c1t9d0s0
    
  4. Confirme os status do pool raiz.

    Por exemplo:


    # zpool status rpool
      pool: rpool
     state: ONLINE
    status: One or more devices is currently being resilvered.  The pool will
            continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
     scrub: resilver in progress, 25.47% done, 0h4m to go
    config:
    
            NAME           STATE     READ WRITE CKSUM
            rpool          ONLINE       0     0     0
              mirror-0     ONLINE       0     0     0
                c1t10d0s0  ONLINE       0     0     0
                c1t9d0s0   ONLINE       0     0     0
    
    errors: No known data errors
  5. Depois da conclusão do resilvering, aplique os blocos de inicialização ao novo disco.

    Utilizando uma sintaxe semelhante à seguinte:

    • SPARC:


      # installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t9d0s0
      
    • x86:


      # installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0
      
  6. Verifique se é possível inicializar a partir do novo disco.

    Por exemplo, em um sistema com base em SPARC, seria utilizada uma sintaxe semelhante à seguinte:


    ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0
    
  7. Se o sistema se inicializa a partir do novo disco, desanexe o disco antigo.

    Por exemplo:


    # zpool detach rpool c1t10d0s0
    
  8. Configure o sistema para que se inicialize automaticamente a partir do disco novo, ou usando o comando eeprom , o comando setenv da PROM de inicialização do SPARC, ou reconfigurando a BIOS do PC.

ProcedureComo criar instantâneos do pool raiz

É possível criar instantâneos do conjunto raiz com propósito de recuperação. A melhor forma de criar instantâneos de conjunto raiz é efetuar um instantâneo recursivo do conjunto raiz.

O procedimento abaixo cria um instantâneo de conjunto raiz recursivo e armazena o instantâneo como um arquivo em um conjunto em um sistema remoto. No caso de uma falha no conjunto raiz, o conjunto de dados remoto não pode ser montado utilizando o NFS e o arquivo de instantâneo pode ser recebido no conjunto recriado. É possível também armazenar instantâneos de conjunto de raiz como os instantâneos reais em um conjunto em um sistema remoto. Enviar e receber os instantâneos de um sistema remoto é um pouco mais complicado, porque é preciso configurar ssh ou usar rsh enquanto o sistema a ser reparado é inicializado a partir da mini-raiz do SO Solaris.

Para informações sobre o armazenamento remoto e a recuperação de instantâneos de conjunto raiz e para as informações mais recentes sobre a recuperação do conjunto raiz, visite este site:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Validando remotamente instantâneos armazenados como arquivos ou instantâneos como um importante passo em uma recuperação de conjunto raiz. Com ambos os métodos, os instantâneos seriam recriados em uma base de rotina, como quando a configuração do conjunto é alterada ou quando o Solaris OS é atualizado.

No procedimento a seguir, o sistema é inicializado a partir do ambiente de inicialização BE.

  1. Crie um grupo e sistema de arquivos em um sistema remoto para armazenar os instantâneos.

    Por exemplo:


    remote# zfs create rpool/snaps
    
  2. Compartilhe o sistema de arquivos com o sistema local.

    Por exemplo:


    remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps
    # share
    -@rpool/snaps   /rpool/snaps   sec=sys,rw=local-system,root=local-system   "" 
  3. Crie um instantâneo recursivo do pool raiz.


    local# zfs snapshot -r rpool@0804
    local# zfs list
    NAME                        USED  AVAIL  REFER  MOUNTPOINT
    rpool                      6.17G  60.8G    98K  /rpool
    rpool@0804                     0      -    98K  -
    rpool/ROOT                 4.67G  60.8G    21K  /rpool/ROOT
    rpool/ROOT@0804                0      -    21K  -
    rpool/ROOT/zfsBE           4.67G  60.8G  4.67G  /
    rpool/ROOT/zfsBE@0804       386K      -  4.67G  -
    rpool/dump                 1.00G  60.8G  1.00G  -
    rpool/dump@0804                0      -  1.00G  -
    rpool/swap                  517M  61.3G    16K  -
    rpool/swap@0804                0      -    16K  -
  4. Envie os instantâneos do pool raiz ao sistema remoto.

    Por exemplo:


    local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804
    sending from @ to rpool@0804
    sending from @ to rpool/swap@0804
    sending from @ to rpool/ROOT@0804
    sending from @ to rpool/ROOT/zfsBE@0804
    sending from @ to rpool/dump@0804

ProcedureComo recriar um pool raiz ZFS e recuperar instantâneos do pool raiz

Neste procedimento, suponha as condições a seguir:

Todas as etapas são efetuadas no sistema local.

  1. Inicialize a partir de um CD/DVD ou da rede.

    • SPARC: selecione um dos seguintes métodos de inicialização:


      ok boot net -s
      ok boot cdrom -s
      

      Se não usar a opção -s, você terá que sair do programa de instalação.

    • x86: selecione a opção para inicializar a partir do DVD ou da rede. Em seguida, saia do programa de instalação.

  2. Monte o conjunto de dados remoto do instantâneo.

    Por exemplo:


    # mount -F nfs remote-system:/rpool/snaps /mnt
    

    Se seus serviços de rede não estão configurados, poderá ser necessário especificar o endereço IP do sistema remoto .

  3. Se o disco do conjunto raiz for substituído e não contiver uma legenda de disco que possa ser utilizada pelo ZFS, será necessário rotular o disco novamente.

    Para obter mais informações sobre como rotular um disco novamente, vá ao seguinte site:

    http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

  4. Recrie o pool raiz.

    Por exemplo:


    # zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=
    /etc/zfs/zpool.cache rpool c1t1d0s0
    
  5. Restaure os instantâneos do pool raiz

    Esta etapa pode levar algum tempo. Por exemplo:


    # cat /mnt/rpool.0804 | zfs receive -Fdu rpool
    

    O uso da opção -u significa que o arquivo restaurado não é montado quando a operação do zfs receive terminar.

  6. Verifique se os conjuntos de dados do pool raiz foram restaurados.

    Por exemplo:


    # zfs list
    NAME                        USED  AVAIL  REFER  MOUNTPOINT
    rpool                      6.17G  60.8G    98K  /a/rpool
    rpool@0804                     0      -    98K  -
    rpool/ROOT                 4.67G  60.8G    21K  /legacy
    rpool/ROOT@0804                0      -    21K  -
    rpool/ROOT/zfsBE           4.67G  60.8G  4.67G  /a
    rpool/ROOT/zfsBE@0804       398K      -  4.67G  -
    rpool/dump                 1.00G  60.8G  1.00G  -
    rpool/dump@0804                0      -  1.00G  -
    rpool/swap                  517M  61.3G    16K  -
    rpool/swap@0804                0      -    16K  -
  7. Defina a propriedade bootfs no BE do pool raiz.

    Por exemplo:


    # zpool set bootfs=rpool/ROOT/zfsBE rpool
    
  8. Instale os blocos de inicialização no novo disco.

    SPARC:


    # installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
    

    x86:


    # installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
    
  9. Reinicialize o sistema.


    # init 6
    

ProcedureComo reverter os instantâneos do pool raiz a partir da inicialização à prova de falhas

Este procedimento pressupõe que os instantâneos existentes do pool raiz estejam disponíveis. Neste exemplo, eles estão disponíveis no sistema local.


# zfs snapshot -r rpool@0804
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
rpool                      6.17G  60.8G    98K  /rpool
rpool@0804                     0      -    98K  -
rpool/ROOT                 4.67G  60.8G    21K  /rpool/ROOT
rpool/ROOT@0804                0      -    21K  -
rpool/ROOT/zfsBE           4.67G  60.8G  4.67G  /
rpool/ROOT/zfsBE@0804       398K      -  4.67G  -
rpool/dump                 1.00G  60.8G  1.00G  -
rpool/dump@0804                0      -  1.00G  -
rpool/swap                  517M  61.3G    16K  -
rpool/swap@0804                0      -    16K  -
  1. Desligue o sistema e inicialize no modo à prova de falhas.


    ok boot -F failsafe
    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.
  2. Reverta cada instantâneo do conjunto raiz.


    # zfs rollback rpool@0804
    # zfs rollback rpool/ROOT@0804
    # zfs rollback rpool/ROOT/zfsBE@0804
    
  3. Reinicialize no modo multiusuário.


    # init 6