Oracle Guia de instalação do Solaris 10 9/10: Solaris Live Upgrade e planejamento da atualização

Capítulo 8 Atualizando o Solaris OS em um sistema com regiões não globais instaladas

Este capítulo descreve o uso do Solaris Live Upgrade para atualizar um sistema que possui regiões não globais instaladas.


Observação –

Este capítulo descreve o Solaris Live Upgrade para sistemas de arquivos UFS. Para ver procedimentos de migração de um sistema de arquivos UFS com regiões não globais para um conjunto raiz ZFS, consulte Capítulo 14Solaris Live Upgrade para ZFS com regiões não-globais instaladas.


Este capítulo descreve as seções a seguir:

Atualizando com o Solaris Live Upgrade e regiões não globais instaladas (visão geral)

Iniciando com a versão Solaris Solaris 10 8/07, você pode atualizar ou efetuar o patch de um sistema que contém regiões não globais com o Solaris Live Upgrade. Se você possui um sistema que contém regiões não globais, o Solaris Live é o programa recomendado para atualizar ou adicionar patches. Outros programas de atualização talvez exijam um longo tempo de atualização, pois o tempo necessário para completar a atualização aumenta linearmente com o número de regiões não globais instaladas. Se você estiver atualizando um sistema com Solaris Live Upgrade, não é necessário colocar o sistema no modo de usuário único e, assim, o tempo de atividade do sistema pode ser maximizado. A lista a seguir resume as alterações para acomodar sistemas que possuem regiões não globais instaladas.

Entendendo o Solaris Zones e o Solaris Live Upgrade

A tecnologia de partição do Solaris Zones é utilizada para virtualizar serviços de sistemas operacionais e fornecer um ambiente seguro e isolado para executar aplicativos. Uma região não global é um ambiente de sistema operacional virtualizado criado dentro de uma instância única do Solaris OS, a região global. Ao criar uma região não global, você produz um ambiente de execução de aplicativo em que processos são isolados do resto do sistema.

O Solaris Live Upgrade é um mecanismo para copiar o sistema atualmente em execução para novos segmentos. Ao instalar regiões não globais, elas podem ser copiadas para o ambiente de inicialização inativo juntamente com os sistemas de arquivos da região global.

Figura 8–1 mostra uma região não global copiada para o ambiente de inicialização inativo juntamente com o sistema de arquivos da região global.

Figura 8–1 Criando um ambiente de inicialização: copiando regiões não globais

O contexto descreve a ilustração.

A Figura 8–2 mostra que uma região não global é copiada para o ambiente de inicialização inativo.

Figura 8–2 Criando um ambiente de inicialização: copiando um sistema de arquivos compartilhado a partir de uma região não global

O contexto descreve a ilustração.

Diretrizes para uso do Solaris Live Upgrade com regiões não globais (planejamento)

O planejamento para o uso de regiões não globais inclui as limitações descritas abaixo.

Tabela 8–1 Limitações ao atualizar com regiões não globais

Problema 

Descrição 

Considere essas questões ao utilizar o Solaris Live Upgrade em uma sistema com regiões instaladas. É fundamental evitar transições de estado de região durante operações com lucreate e lumount.

  • Ao utilizar o comando lucreate para criar um ambiente de inicialização inativo, se uma determinada região global não estiver em execução, a região não pode ser inicializada até que lucreate tenha sido concluído.

  • Ao utilizar o comando lucreate para criar um ambiente de inicialização inativo, se uma determinada região global estiver em execução, a região não pode ser inicializada até que lucreate tenha sido concluído.

  • Quando um ambiente de inicialização inativo é montado por lumount , você não pode inicializar ou reinicializar regiões não globais, embora as regiões em execução antes da operação lumount possam continuar sendo executadas.

  • Como uma região não global pode ser controlada por um administrador de região não global, assim como pelo administrador de região global, para evitar qualquer interação, interrompa todas as regiões durante as operações lucreate ou lumount .

Podem ocorrer problemas quando o administrador de região global não notifica o administrador de região não global sobre uma atualização com o Solaris Live Upgrade. 

Quando as operações do Solaris Live Upgrade estão em andamento, o envolvimento do administrador de região não global é imprescindível. A atualização afeta o trabalho dos administradores, que lidarão com as alterações que decorrem como resultado da atualização. Os administradores de região devem garantir que quaisquer pacotes locais fiquem estáveis durante a sequência, manipulem quaisquer tarefas de pós-atualização como ajustes do arquivo de configuração e sejam agendados geralmente para próximo da interrupção do sistema.  

Por exemplo, se um administrador de região não global adiciona um pacote enquanto o administrador de zona global está copiando os sistemas de arquivos com o comando lucreate , o novo pacote não é copiado com os sistemas de arquivo e o administrador de região não global estará ciente do problema.

Criando um ambiente de inicialização quando uma região não global está em um sistema de arquivos separado

A criação de um novo ambiente de inicialização a partir do ambiente de inicialização atualmente em execução permanece igual às versões anteriores, com uma exceção. É possível especificar um segmento do disco de destino para um sistema de arquivos em uma região não global. Esse problema ocorre sob as condições a seguir:

Para evitar que esse sistema de arquivos separado seja compartilhado no novo ambiente de inicialização, o comando lucreate permite especificar um segmento de destino de um arquivo de sistemas separado para uma região não global. O argumento da opção -m apresenta um novo campo opcional, nome da região. Este novo campo coloca o sistema de arquivos separado da região não global em um segmento à parte no novo ambiente de inicialização. Para mais informações sobre como configurar uma região não global com um sistema de arquivos separado, consulte zonecfg(1M).


Observação –

Por padrão, qualquer sistema de arquivos diferente dos sistemas de arquivos críticos (raiz /), /usr e sistemas de arquivo /opt) é compartilhado entre o ambiente de inicialização atual e o novo. A atualização de arquivos compartilhados no ambiente de inicialização ativo também atualiza dados no ambiente de inicialização inativo. Por exemplo, o sistema de arquivos /export é um sistema de arquivos compartilhado. Se as opções -m e zonename forem utilizadas, o sistema de arquivos da região não global é copiado em um segmento separado e os dados não são compartilhados. Essa opção impede que os sistemas de arquivos de regiões não globais criados com o comando zonecfg add fs sejam compartilhados entre os ambientes de inicialização.


Criando e atualizando um ambiente de inicialização quando regiões não globais estão instaladas (tarefas)

As seções a seguir fornecem procedimentos passo-a-passo para atualizar quando regiões não globais estão instaladas.

ProcedureAtualizando com o Solaris Live Upgrade quando regiões não globais estão instaladas em um sistema (tarefas)

Os procedimentos a seguir fornecem instruções detalhadas sobre a atualização com o Solaris Live Upgrade em um sistema com regiões não globais instaladas.

  1. Antes de executar o Solaris Live Upgrade pela primeira vez, é necessário instalar os últimos pacotes do Solaris Live Update a partir da mídia de instalação e instalar os patches relacionados no SunSolve Infodoc 206844. Pesquise o Infodoc 206844 (antigo 72099) no site SunSolve.

    Os últimos pacotes e patches garantem que você tenha todas as correções de erros mais recentes e novos recursos do versão. Certifique-se de ter instalado todos os patches relevantes para o seu sistema antes de continuar a criar um novo ambiente de inicialização.

    As subetapas a seguir descrevem as etapas no SunSolve Infodoc 206844.

    1. Torne-se superusuário ou assuma uma função equivalente.


      Observação –

      Funções contêm autorizações e comandos privilegiados. Para mais informações sobre funções, consulte Configuring RBAC (Task Map) no System Administration Guide: Security Services.


    2. A partir do site SunSolve, siga as instruções contidas no Infodoc 106844 para remover e adicionar pacotes Solaris Live Upgrade.

      As instruções a seguir resumem as etapas do Infodoc para remoção e adição dos pacotes.

      • Remova os pacotes Solaris Live Upgrade existentes.

        Os três pacotes do Solaris Live Upgrade, SUNWluu, SUNWlur e SUNWlucfg, contêm o software necessário para atualização ou patch utilizando o Solaris Live Upgrade. Estes pacotes incluem o software existente, novos recursos e correções de erros. Se os pacotes existentes não forem removidos e os novos pacotes forem instalados no seu sistema antes de utilizar o Solaris Live Upgrade, a atualização ou patch da versão alvo falha. O pacote SUMWlucfg é o novo iniciando com a versão 10 8/07 do Solaris. Se você está utilizando os pacotes do Solaris Live Upgrade a partir de uma versão anterior ao Solaris 10 8/07, não é necessário remover esse pacote.


        # pkgrm SUNWlucfg SUNWluu SUNWlur
        
      • Instale os novos pacotes do Solaris Live Upgrade.

        Os pacotes podem ser instalados utilizando o comando liveupgrade20 presente no DVD ou CD de instalação. O comando liveupgrade20 requer software Java. Se o sistema não possui o software Java instalado, será necessário utilizar o comando pkgadd para instalar os pacotes. Consulte o SunSolve Infodoc para mais informações.

        • Se você estiver utilizando o DVD do Solaris Operating System, altere os diretórios e execute o instalador:

          • Altere diretórios.


            # cd /cdrom/cdrom0/Solaris_10/Tools/Installers
            

            Observação –

            Para sistemas com base em SPARC, o caminho para o instalador é diferente para versões anteriores ao Solaris 10 10/08:


            # cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers
            

          • Execute o instalador


            # ./liveupgrade20
            

            O GUI do programa de instalação do Solaris é exibido. Se você estiver utilizando um script, pode-se impedir que o GUI seja exibido utilizando as opções -noconsole e - nodisplay.

        • Se você estiver utilizando o Solaris Software – 2 CD, pode-se executar o instalador sem alterar o caminho.


          % ./installer
          
        • Verifique se os pacotes foram instalados com sucesso.


          # pkgchk -v SUNWlucfg SUNWlur SUNWluu
          
    3. Se você estiver armazenando os pacotes em um disco local, crie um diretório como, /var/tmp/lupatches.

    4. Obtenha uma lista de patches a partir do site SunSolve.

    5. Altere para o diretório do patch como neste exemplo.


      # cd /var/tmp/lupatches
      
    6. Instale os patches.


      # patchadd -M  path-to-patchespatch-id  patch-id
      

      path-to-patches é o caminho para o diretório dos patches, bem como /var/tmp/lupatches. patch-id é o número ou os números do patch. Separe os vários nomes de patch com um espaço.


      Observação –

      É necessário que os patches sejam aplicados na ordem especificada no infodoc 206844.


    7. Reinicialize o sistema se necessário. Certos patches exigem reinicialização para que sejam efetuados.

      apenas x86: é necessário reinicializar o sistema. Do contrário, o Solaris Live Update falha.


      # init 6
      

      Agora você possui os pacotes e patches necessários para criar com sucesso um novo ambiente de inicialização.

  2. Crie o novo ambiente de inicialização.


    # lucreate [-A 'BE_description'] [-c BE_name] \
     -m mountpoint:device[,metadevice]:fs_options[:zonename] [-m ...] -n BE_name
    
    -nBE_name

    O nome do ambiente de inicialização a ser criado. BE_name deve ser único no sistema.

    -ABE_description

    (Opcional) Permite a criação de uma descrição de ambiente de inicialização associada ao nome do ambiente de inicialização (BE_name). A descrição pode ser longa e conter quaisquer caracteres.

    -cBE_name

    Atribui o nome BE_name ao ambiente de inicialização ativo. Essa opção não é exigida e é utilizada apenas na criação do primeiro ambiente de inicialização. Se você executar o lucreate pela primeira vez e a opção -c for omitida, o software cria um nome padrão.

    -m mountpoint:device[,metadevice]:fs_options [:zonename] [-m ...]

    Especifica a configuração dos sistemas de arquivos do novo ambiente de inicialização no vfstab. Os sistemas de arquivos especificados como argumentos em -m podem estar no mesmo disco ou podem estar distribuídos em vários discos. Utilize essa opção tantas vezes quanto o necessário para criar o número exigido de sistemas de arquivos.

    • mountpoint pode ser qualquer ponto de montagem válido ou - (hífen), indicando uma partição de permuta.

    • O campo dispositivo pode ser um dos seguintes:

      • O nome de um dispositivo de disco, do formulário /dev/dsk/c wtxdys z

      • O nome de um volume do Solaris Volume Manager, no formulário /dev/md/dsk/dnum

      • O nome de um volume do Veritas Volume Manager, no formulário /dev/md/vxfs/dsk/dnum

      • A palavra-chave merged, indicando que o sistema de arquivos no ponto de montagem específico será mesclado com o seu pai

    • O campo fs_options pode ser um dos seguintes:

      • ufs, indicando um sistema de arquivos UFS.

      • vxfs, indicando um sistema de arquivos Veritas.

      • swap, indicando um volume de permuta. O ponto de montagem de permuta deve ser um - (hífen).

      • Para sistemas de arquivos que forem dispositivos lógicos (espelhos), diversas palavras-chave especificam ações a serem aplicadas aos sistemas de arquivos. Essas palavras-chave podem criar um dispositivo lógico, alterar a configuração de um dispositivo lógico ou excluir um dispositivo lógico. Para obter uma descrição dessas palavras-chave, consulte Para criar um ambiente de inicialização com volumes RAID-1 (espelhos).

    • zonename especifica que um sistema de arquivos separado da região não global seja colocado em um segmento separado. Essa opção é utilizada quando o sistema de arquivos separado da região está em um sistema de arquivos compartilhado, tal como /zone1/root/export. Essa opção copia o sistema de arquivos separado da região para um novo segmento e evita que esse sistema de arquivos seja compartilhado. O sistema de arquivos separado foi criado com o comando zonecfg add fs.

    No exemplo a seguir, é criado um novo ambiente de inicialização denominado newbe. O sistema de arquivos (/) raiz é colocado em c0t1d0s4 . Todas as regiões não globais do atual ambiente de inicialização são copiadas no novo ambiente de inicialização. A região não global nomeada de zone1 é fornecida a um ponto de montagem separado em c0t1d0s1.


    Observação –

    Por padrão, qualquer sistema de arquivos diferente dos sistemas de arquivos críticos (raiz /), /usr e sistemas de arquivo /opt) é compartilhado entre o ambiente de inicialização atual e o novo. O sistema de arquivos /export é um sistema de arquivos compartilhado. Se a opção -m for usada, o sistema de arquivos da região não global é colocado em um segmento separado e os dados não são compartilhados. Essa opção impede que os sistemas de arquivos da região criados com o comando zonecfg add fs sejam compartilhados entre os ambientes de inicialização. Consulte zonecfg(1M) para obter detalhes.



    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  3. Atualize o ambiente de inicialização.

    A imagem do sistema operacional a ser utilizado na atualização é obtida a partir da rede.


    # luupgrade -u -n BE_name -s os_image_path
    
    -u

    Atualiza uma imagem de um sistema operacional em um ambiente de inicialização.

    -nBE_name

    Especifica o nome do ambiente de inicialização que será atualizado

    -sos_image_path

    Especifica o nome do caminho de um diretório que contém uma imagem de sistema operacional.

    Nesse exemplo, o novo ambiente de inicialização, newbe, é atualizado a partir de uma imagem de instalação da rede.


    # luupgrade -n newbe -u -s /net/server/export/Solaris_10/combined.solaris_wos
    
  4. (Opcional) Verifique se o ambiente de inicialização é inicializável.

    O comando lustatus relata se a criação do ambiente de inicialização está completa e inicializável.


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no      -
    newbe               yes       no       no       yes     -
  5. Ative o novo ambiente de inicialização.


    # luactivate BE_name
    

    BE_name especifica o nome do ambiente de inicialização que será ativado.


    Observação –

    Para um sistema com base em x86, o comando luactivate é necessário ao inicializar um ambiente de inicialização pela primeira vez. Ativações subsequentes podem ser feitas selecionando o ambiente de inicialização a partir do menu GRUB. Para obter instruções passo-a-passo, consulte x86: Ativando um ambiente de inicialização com o menu GRUB.


    Para ativar com sucesso um ambiente de inicialização, ele deve corresponder a várias condições. Para mais informações, consulte Ativando um ambiente de inicialização.

  6. Reinicialize.


    # init 6
    

    Cuidado – Cuidado –

    Utilize os comandos init ou shutdown para reinicializar. Se você utilizar o comando reboot, halt ou uadmin, o sistema não alterna ambientes de inicialização. O ambiente de inicialização mais recentemente ativo é inicializado novamente.


    Os ambientes de inicialização foram alternados e o novo ambiente de inicialização é o atual.

  7. (Opcional) Retorne a um ambiente de inicialização diferente.

    Se o novo ambiente de inicialização não for viável ou se você deseja alternar para outro ambiente de inicialização, consulte Capítulo 6Recuperação de falha: retrocesso para o ambiente de inicialização original (tarefas).

Atualizando um sistema com regiões não globais instaladas (exemplo)

O procedimento a seguir dá um exemplo com instruções abreviadas para atualização com o Solaris Live Upgrade.

Para explicações detalhadas das etapas, consulte Atualizando com o Solaris Live Upgrade quando regiões não globais estão instaladas em um sistema (tarefas)

Atualizando com o Solaris Live Upgrade quando regiões não globais estão instaladas em um sistema (tarefas)

O exemplo a seguir fornece descrições abreviadas das etapas para atualizar um sistema com regiões não globais instaladas. Neste exemplo, um novo ambiente de inicialização é criado utilizando o comando lucreate em um sistema que está executando a versão Solaris 10. Esse sistema possui regiões não globais e uma região não global com um sistema de arquivos separado em um sistema de arquivos compartilhado, zone1/root/export. O novo ambiente de inicialização é atualizado para a versão Solaris 10 9/10 utilizando o comando luupgrade. O ambiente de inicialização atualizado é ativado utilizando o comando luactive.


Observação –

Esse procedimento presume que o sistema está executando o Gerenciador de volumes. Para obter informações detalhadas sobre o gerenciamento de mídias removíveis com o Gerenciador de volumes, consulte o System Administration Guide: Devices and File Systems.


  1. A instalação exigiu patches.

    Assegure-se de possuir uma relação de patches atualizados recentemente consultando http://sunsolve.sun.com. Pesquise por Infodoc 206844 (antigo 72099) no site SunSolve. Neste exemplo, /net/server/export/patches é o caminho para os patches.


    # patchadd /net/server/export/patches
    # init 6
    
  2. Remova os pacotes do Solaris Live Upgrade do ambiente de inicialização atual.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Insira o CD ou DVD Solaris. Em seguida, instale os pacotes Solaris Live Upgrade de substituição a partir da versão alvo.


    # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
    
  4. Crie um ambiente de inicialização.

    No exemplo a seguir, é criado um novo ambiente de inicialização denominado newbe. O sistema de arquivos (/) raiz é colocado em c0t1d0s4 . Todas as regiões não globais do atual ambiente de inicialização são copiadas no novo ambiente de inicialização. Um sistema de arquivos separado foi criado com o comando zonecfg add fs para a zone1. Esse sistema de arquivos separado /zone/root/export é colocado em um sistema de arquivos separado, c0t1d0s1. Essa opção evita que o sistema de arquivos separado seja compartilhado entre o ambiente de inicialização atual e o novo.


    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  5. Atualize o novo ambiente de inicialização.

    Neste exemplo, /net/server/export/Solaris_10/combined.solaris_wos é o caminho para a imagem de instalação da rede.


    # luupgrade -n newbe -u -s  /net/server/export/Solaris_10/combined.solaris_wos
    
  6. (Opcional) Verifique se o ambiente de inicialização é inicializável.

    O comando lustatus relata se a criação do ambiente de inicialização está completa.


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no           -
    newbe               yes       no       no       yes          -
  7. Ative o novo ambiente de inicialização.


    # luactivate newbe
    # init 6
    

    O ambiente de inicialização newbe é ativado.

  8. (Opcional) Retorne a um ambiente de inicialização diferente. Se o novo ambiente de inicialização não for viável ou se você deseja alternar para outro ambiente de inicialização, consulte Capítulo 6Recuperação de falha: retrocesso para o ambiente de inicialização original (tarefas).

Administrando ambientes de inicialização que contêm regiões não globais

As seções a seguir fornecem informações sobre administração de ambientes de inicialização que contêm regiões não globais.

ProcedurePara visualizar a configuração de sistemas de arquivos de regiões não globais de um ambiente de inicialização

Utilize esse procedimento para exibir uma lista de sistemas de arquivos para as regiões global e não global.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para maiores informações sobre funções, consulte Configuring RBAC (Task Map) no System Administration Guide: Security Services .

  2. Exibir a lista de sistemas de arquivos.


    # lufslist -n BE_name
    
    BE_name

    Especifica o nome do ambiente de inicialização para visualizar especificações do sistema de arquivos


Exemplo 8–1 Listar sistemas de arquivos com regiões não globais

O exemplo a seguir exibe uma lista de sistemas de arquivos que incluem regiões não globais.


# lufslist -n s3
boot environment name: s3
This boot environent is currently active.
This boot environment will be active on next system boot.

Filesystem              fstype    device size Mounted on Mount Options
------------------------------------------------------------------
/dev/dsk/c0t0d0s1         swap     2151776256   -        -
/dev/dsk/c0t0d0s3         ufs     10738040832   /        -
/dev/dsk/c0t0d0s7         ufs     10487955456   /export  -
                zone <zone1> within boot environment <s3>
/dev/dsk/c0t0d0s5         ufs      5116329984   /export  -

ProcedureComparar ambientes de inicialização para um sistema com regiões não globais instaladas

O comando lucompare gera agora uma comparação de ambientes de inicialização que incluem o conteúdo de qualquer região não global.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para maiores informações sobre funções, consulte Configuring RBAC (Task Map) no System Administration Guide: Security Services .

  2. Compare o ambiente de inicialização atual com o novo.


    # /usr/sbin/lucompare -i  infile (or) -t -o  outfile BE_name
    
    -i  infile

    Compara arquivos que estão listados em infile. Os arquivos a serem comparados devem possuir nomes de arquivo absolutos. Se a entrada no arquivo for um diretório, a comparação é recursiva no diretório. Utilize essa opção ou -t, e não ambas.

    -t

    Compara apenas arquivos não binários. Essa comparação utiliza o comando file (1) em cada arquivo para determinar se o arquivo é um arquivo de texto. Utilize essa opção ou -i, e não ambas.

    -o  outfile

    Redirecione a saída das diferenças para outfile.

    BE_name

    Especifica o nome do ambiente de inicialização que é comparado ao ambiente de inicialização ativo.


Exemplo 8–2 Comparando ambientes de inicialização

Neste exemplo, o ambiente de inicialização atual (fonte) é comparado com o ambiente de inicialização second_disk e os resultados são enviados para um arquivo.


# /usr/sbin/lucompare -i  /etc/lu/compare/ -o /var/tmp/compare.out second_disk

Utilizando o comando lumount em um sistema que contém regiões não globais

O comando lumount fornece às regiões não globais o acesso a seus sistemas de arquivos correspondentes existentes em ambientes de inicialização inativos. Quando o administrador de região global usa o comando lumount para montar um ambiente de inicialização inativo, o ambiente de inicialização também é montado para as regiões não globais.

No exemplo a seguir, os sistemas de arquivos apropriados são montados para o ambiente de inicialização, newbw em /mnt na região global. Para as regiões não globais em execução, montadas ou prontas, seus sistemas de arquivos correspondentes em newbe também estão disponíveis em /mnt dentro de cada região.


# lumount -n newbe /mnt

Para mais informações sobre montagem, consulte a página do manual lumount(1M).