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:
Instalando e inicializando um sistema de arquivos ZFS do Oracle Solaris (visão geral)
Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS
Instalando um sistema de arquivos raiz ZFS (Instalação inicial)
Instalando um sistema de arquivos raiz ZFS (instalação de arquivo do Oracle Solaris Flash)
Instalando um sistema de arquivos raiz ZFS (instalação Oracle Solaris JumpStart)
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
A partir do Solaris 10 10/08, é possível instalar e inicializar a partir de um sistema de arquivos raiz ZFS das seguintes formas:
É possível efetuar uma instalação inicial na qual o ZFS seja selecionado como sistema de arquivos raiz.
É possível utilizar o recurso do Oracle Solaris Live Upgrade para migrar um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS. Além disso, é possível utilizar o Oracle Solaris Live Upgrade para efetuar as seguintes tarefas:
Criar um novo ambiente de inicialização em um pool raiz ZFS existente.
Criar um novo ambiente de inicialização em um novo pool raiz ZFS.
É possível criar um perfil JumpStart do Oracle Solaris para instalar automaticamente um sistema com um sistema de arquivos raiz ZFS.
Começando na versão do Solaris 10 10/09, é possível criar um perfil JumpStart para instalar automaticamente um sistema com um arquivo Flash do ZFS.
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.
São oferecidos os seguintes recursos de instalação do ZFS nesta versão do Solaris:
Com o instalador de texto interativo do Solaris, é possível instalar um sistema de arquivos raiz UFS ou ZFS. O sistema de arquivos padrão ainda é o UFS nesta versão do Solaris. Você pode acessar a opção de instalação com o instalador de texto interativo das seguintes maneiras:
SPARC: utilize a sintaxe a seguir do DVD de instalação do Solaris:
ok boot cdrom - text |
SPARC: utilize a sintaxe a seguir quando for inicializar a partir da rede:
ok boot net - text |
x86: selecione a opção de instalação no modo de texto.
Um perfil JumpStart personalizado oferece os recursos a seguir:
Você pode definir um perfil para criar um pool de armazenamento do ZFS e designar um sistema de arquivos ZFS inicializável.
É possível configurar um perfil para identificar um arquivo Flash de um pool raiz ZFS.
Utilizando o Oracle Solaris Live Upgrade, é possível migrar um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS. Os comandos lucreate e luactivate foram melhorados para suportar pools e sistemas de arquivos ZFS.
É possível configurar um pool raiz ZFS espelhado selecionando dois discos durante a instalação. Ou, é possível anexar discos adicionais depois da instalação para criar um pool raiz ZFS espelhado.
Os dispositivos de intercâmbio e dump são criados automaticamente nos volumes ZFS do pool raiz ZFS.
São oferecidos nesta versão os seguintes recursos de instalação:
O recurso de instalação IGU para instalação de sistemas de arquivos raiz ZFS não está disponível no momento.
O recurso de instalação Oracle Solaris Flash para instalação de sistemas de arquivos raiz ZFS não está disponível ao selecionar a opção de instalação do Flash a partir da opção de instalação inicial. No entanto, é possível criar um perfil JumpStart para identificar um arquivo Flash de um conjunto raiz ZFS. Para mais informações, consulte Instalando um sistema de arquivos raiz ZFS (instalação de arquivo do Oracle Solaris Flash).
Não é possível usar o programa de atualização padrão a fim de atualizar o sistema de arquivos raiz UFS para um sistema de arquivos raiz 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.
É possível instalar e inicializar um sistema de arquivos raiz ZFS ou migrar para tal sistema das seguintes formas:
Instalar um sistema de arquivos raiz ZFS – Disponível a partir do Solaris 10 10/08.
Migrar de um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS com o Oracle Solaris Live Upgrade – É necessário ter no mínimo a versão Solaris 10 10/08 instalada ou ter realizado a atualização para o Solaris 10 10/08.
As seções a seguir descrevem o espaço e os requisitos de configuração do conjunto raiz 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:
768 MB é a quantidade de memória mínima necessária para instalar um sistema de arquivos raiz ZFS.
Recomenda-se 1 GB de memória para um melhor desempenho geral do ZFS.
É recomendado como mínimo 16 GB de espaço em disco. O espaço de disco é consumido da seguinte forma:
Área de permute e dispositivo de dump – Os tamanhos padrão dos volumes de permute e dump criados por programas de instalação do Solaris são:
Instalação inicial do Solaris – no novo ambiente de inicialização ZFS, o tamanho do volume de permuta padrão é calculado como metade do tamanho da memória física, geralmente na média de 512 MB até 2 GB. Você pode ajustar o tamanho da intercâmbio durante uma instalação inicial.
O tamanho padrão do volume de dump é calculado pelo kernel com base nas informações de dumpadm e no tamanho da memória física. Você pode ajustar o tamanho do dump durante uma instalação inicial.
Oracle Solaris Live Upgrade – quando um sistema de arquivos raiz UFS é migrado para um sistema de arquivos raiz ZFS, o tamanho padrão do volume de permuta do ambiente de inicialização do BE do ZFS é calculado de acordo com o tamanho do dispositivo de permuta do BE do UFS. O cálculo do tamanho padrão do volume de permuta adiciona os tamanhos de todos os dispositivos de permuta do BE do UFS e cria um volume ZFS de tal tamanho no BE do ZFS. Se nenhum dispositivo de permuta estiver definido no BE do UFS, então o tamanho padrão do volume de permuta é definido em 512 MB.
No BE do ZFS, o tamanho do volume de despejo padrão é configurado como metade do tamanho da memória física, entre 512 MB e 2 GB.
É possível ajustar o tamanho dos volumes de permuta e despejo com o tamanho da sua preferência, contanto que os novos tamanhos suportem as operações do sistema. Para mais informações, consulte Ajustando os tamanhos dos dispositivos de permuta e despejo ZFS.
Ambiente de inicialização (BE): além dos novos requisitos de espaço de permuta e despejo ou ajuste dos tamanhos dos dispositivos de permuta e despejo, um BE do ZFS que é migrado de um BE do UFS precisa de 6 GB aproximadamente. Cada BE do ZFS clonado de outro BE do ZFS não requer espaço adicional em disco, mas considere que o tamanho do BE aumentará quando os patches forem aplicados. Todos os BEs do ZFS do mesmo pool raiz usam os mesmos dispositivos de intercâmbio e dump.
Componentes do Solaris OS: todos os subdiretórios do sistema de arquivos raiz que são parte da imagem do sistema operacional, com exceção de /var, devem estar no mesmo conjunto de dados que o sistema de arquivos raiz. Além disso, todos os componentes do Solaris OS devem residir no conjunto raiz, com exceção dos dispositivos de permuta e despejo.
Outra restrição é que o diretório ou conjunto de dados /var deve ser um conjunto de dados único. Por exemplo, não é possível criar um conjunto de dados descendente /var, como /var/tmp, se deseja utilizar também o Oracle Solaris Live Upgrade para migrar ou instalar patch em um BE do ZFS ou criar um arquivo Flash ZFS deste conjunto.
Por exemplo, um sistema com 12 GB de espaço em disco pode ser muito pequeno para um ambiente ZFS inicializável, porque são necessários 2 GB de espaço em disco para cada dispositivo de permuta e despejo e aproximadamente 6 GB para o BE do ZFS migrado de um BE do UFS.
Reveja os seguintes requisitos de configuração do pool de armazenamento ZFS:
O conjunto que está dirigido para o conjunto raiz precisa ter uma legenda SMI. Este requisito é cumprido caso o conjunto seja criado com segmentos de disco.
O pool deve existir tanto em uma faixa de disco quanto em faixas de disco espelhadas. Se tentar utilizar uma configuração de conjunto não suportada durante a migração do Oracle Solaris Live Upgrade, será exibida uma mensagem semelhante à seguinte:
ERROR: ZFS pool name does not support boot environments |
Para obter uma descrição detalhada das configurações suportadas do pool raiz ZFS, consulte Criando um pool raiz ZFS.
x86: o disco deve conter uma partição fdisk do Solaris. É criada uma partição fdisk do Solaris quando o ssietma com base no x86 é instalado. Para obter mais informações sobre as partições fdisk do Solaris, consulte Guidelines for Creating an fdisk Partition no System Administration Guide: Devices and File Systems .
Os discos destinados à inicialização em um pool raiz ZFS devem estar limitados a um tamanho de 1 TB em sistemas baseados em SPARC e em x86.
A compressão pode ser habilitada no pool raiz, mas somente após o pool raiz tiver sido instalado. Não existe forma de habilitar a compressão em um pool raiz durante a instalação. O algoritmo de compressão gzip não é suportado em pool raiz.
Não renomeie o conjunto raiz depois dele ter sido criado como uma instalação inicial ou depois da migração do Oracle Solaris Live Upgrade para um sistema de arquivos raiz ZFS. Renomear o conjunto raiz pode causar em um sistema não inicializável.
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. |
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.
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:
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).
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 |
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.
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).
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 |
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 |
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.
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).
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 - |
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.
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.
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 |
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. |
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 |
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 |
Verifique se é possível inicializar com êxito a partir do segundo disco.
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.
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:
Gere um arquivo Flash que possa ser utilizado para instalar e inicializar um sistema com um sistema de arquivos raiz ZFS.
Efetue uma instalação JumpStart de um sistema utilizando um arquivo Flash ZFS. A criação de um arquivo Flash ZFS clona todo um conjunto raiz, não dos ambientes de inicialização individuais. É possível excluir os conjuntos de dados individuais dentro do grupo utilizando o comando flarcreate e a opção D do comando -flar.
Revise as seguintes limitações antes de considerar a instalação de um sistema com um arquivo Flash ZFS:
Apenas uma instalação JumpStart de um arquivo Flash ZFS é suportada. Você não pode usar a opção de instalação interativa de um arquivo Flash para instalar um sistema com um sistema de arquivos raiz ZFS. Não é possível utilizar um arquivo Flash para instalar um BE do ZFS com o Oracle Solaris Live Upgrade.
Só é possível instalar um arquivo Flash em um sistema que possui a mesma arquitetura que o sistema no qual foi criado o arquivo Flash ZFS. Por exemplo, um arquivo que é criado em um sistema sun4u não pode ser instalado em um sistema sun4v .
Apenas uma instalação inicial completa de um arquivo Flash ZFS é suportada. Não é possível instalar um arquivo Flash diferencial de um sistema de arquivos raiz ZFS nem é possível instalar um arquivo UFS/ZFS híbrido.
Os arquivos Flash do UFS existentes ainda podem ser utilizados para instalar um sistema de arquivos raiz UFS. O arquivo Flash do ZFS somente pode ser usado para instalar um sistema de arquivos raiz do ZFS.
Embora todo o conjunto raiz, menos quaisquer conjuntos de dados explicitamente excluídos, é arquivado e instalado, apenas o BE do ZFS que é inicializado quando o arquivo é criado é utilizável depois da instalação do arquivo Flash. Entretanto, os conjuntos que são arquivados com o comando flar ou flarcreate com a opção - R do comando, a opção rootdir pode ser utilizadas para arquivar o conjunto raiz que não seja o que está sendo inicializado no momento.
Um nome de conjunto raiz ZFS que é criado com um arquivo Flash precisa corresponder ao nome do conjunto raiz mestre. O nome do conjunto raiz que é utilizado para criar o arquivo Flash é o nome que está atribuído ao novo grupo criado. A alteração do nome do pool não é suportada.
As opções do comando flarcreate e flar para incluir e excluir arquivos individuais não são suportadas em um arquivo Flash ZFS. É possível excluir apenas o conjunto completo de dados de um arquivo Flash ZFS.
O comando flar info não é suportado para um arquivo Flash ZFS. Por exemplo:
# flar info -l zfs10u8flar ERROR: archive content listing not supported for zfs archives. |
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 é:
Instale ou atualize para pelo menos a versão do Solaris 10 10/09 no sistema mestre. Adicione quaisquer personalizações que desejar.
Crie o arquivo Flash ZFS com o comando flarcreate no sistema mestre. Todos os conjuntos de dados no conjunto raiz, exceto para os volumes de permuta e despejo, são incluídos no arquivo Flash ZFS.
Crie um perfil JumpStart para incluir as informações do arquivo flash no servidor de instalação.
Instale o arquivo Flash ZFS no sistema de destino.
As opções de arquivamento a seguir são suportadas para a instalação do conjunto raiz ZFS com um arquivo Flash:
Utilize o comando flarcreate ou flar para criar um arquivo Flash do conjunto raiz ZFS especificado. Se não for especificado, um arquivo Flash do conjunto raiz padrão é criado.
Utilize flarcreate -D dataset para excluir os conjuntos de dados especificados do arquivo Flash. Esta opção pode ser usada múltiplas vezes para excluir múltiplos conjuntos de dados.
Após a instalação de uma arquivo Flash ZFS, o sistema é configurado como segue:
Toda a hierarquia do conjunto de dados que existia no sistema onde o arquivo Flash foi criado é recriada no sistema destino, menos quaisquer conjuntos de dados que foram especificamente excluídos no momento da criação do arquivo. Os volumes de permuta e despejo não estão incluídos no arquivo Flash.
O pool raiz tem o mesmo nome do pool que foi usado para criar o arquivo.
O ambiente de inicialização que estava ativo quando o arquivo Flash foi criado é o BE ativo e padrão nos sistemas implementados.
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 |
É 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).
Em um perfil específico do ZFS são permitidas as seguintes palavras-chave:
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.
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]
Cria um novo BE identificado pela opção bename e pela entrada nome-do-BE e o instala.
Identifica o nome-do-BE a ser instalado.
Se bename não for usado com a palavra-chave pool, é criado um BE padrão.
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 |
Define o novo pool raiz que será criado. Deve ser fornecida a seguinte sintaxe da palavra-chave:
pool poolname poolsize swapsize dumpsize vdevlist |
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.
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).
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).
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).
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.
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.
Considere os problemas a seguir antes de iniciar uma instalação JumpStart de um sistema de arquivos raiz ZFS inicializável.
Não é possível usar um pool de armazenamento do ZFS existente em uma instalação JumpStart para criar um sistema de arquivos raiz ZFS inicializável. Você deve criar um novo pool de armazenamento do ZFS com uma sintaxe semelhante à seguinte:
pool rpool 20G 4G 4G c0t0d0s0 |
É necessário criar o conjunto com segmentos de disco e não com o disco inteiro, conforme descrito em Requisitos de instalação do Oracle Solaris e Oracle Solaris Live Upgrade para suporte ZFS. Por exemplo, a sintaxe em negrito no exemplo a seguir não é aceitável:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0 c0t1d0 bootenv installbe bename newBE |
A sintaxe em negrito no exemplo a seguir é aceitável:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename newBE |
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:
Ao migrar o sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS, você deve designar um pool de armazenamento do ZFS existente com a opção -p.
Se o sistema de arquivos raiz UFS tiver componentes em diferentes faixas, eles são migrados para o pool raiz ZFS.
É possível migrar um sistema com regiões, mas as configurações suportadas são limitadas no Solaris 10 10/08. Mais configurações de regiões são suportadas a partir da versão do Solaris 10 5/09. Para obter mais informações, consulte as seguintes seções:
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).
O Oracle Solaris Live Upgrade pode utilizar os recursos de clone e instantâneo ZFS ao criar um BE do ZFS no mesmo conjunto. Conseqüentemente, a criação do BE é muito mais rápida do que nas versões anteriores do Solaris.
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:
Instale Solaris 10 10/08, Solaris 10 5/09, Solaris 10 10/09 ou o Solaris 10 9/10, ou utilize o programa de atualização padrão para atualizar de uma versão anterior do Solaris 10 em qualquer sistema suportado com base em SPARC ou x 86.
Quando estiver executando o Solaris 10 10/08, crie um conjunto de armazenamento ZFS para o sistema de arquivos raiz ZFS.
Utilize o Oracle Solaris Live Upgrade para migrar o sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS.
Ative o BE do ZFS com o comando luactivate.
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.
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:
A opção de atualização padrão da GUI de instalação do Oracle Solaris não está disponível para migração de um sistema de arquivos raiz UFS para ZFS. Para migrar de um sistema de arquivos UFS, você deve utilizar o Oracle Solaris Live Upgrade.
É necessário criar o conjunto de armazenamento ZFS que será utilizado para a inicialização antes da operação com o Oracle Solaris Live Upgrade. Além disso, devido às limitações atuais da inicialização, o pool raiz ZFS deve ser criado com faixas em vez de discos inteiros. Por exemplo:
# zpool create rpool mirror c1t0d0s0 c1t1d0s0 |
Antes de criar o novo conjunto, 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.
Não é possível utilizar o Oracle Solaris Live Upgrade para criar um BE do UFS a partir de um BE do ZFS. Se migrar o BE do UFS para um BE do ZFS e reter o BE do UFS, você pode inicializar tanto do BE do UFS quanto do BE do ZFS.
Não renomeie os BEs do ZFS com o comando zfs rename, porque o recurso do Oracle Solaris Live Upgrade não pode detectar a alteração de nome. Os comando subseqüentes, como ludelete, falharão. De fato, não renomeie os pools ou sistemas de arquivos ZFS se tiver BEs que deseja continuar usando.
Ao criar um BE alternativo que é um clone do BE principal, você não pode usar as opções -f, -x, -y, - Y e -z para incluir ou excluir arquivos de tal BE principal. É possível usar as opções de inclusão e exclusão definidas nos seguintes casos:
UFS -> UFS UFS -> ZFS ZFS -> ZFS (different pool) |
Embora seja possível utilizar o Oracle Solaris Live Upgrade para atualizar um sistema de arquivos raiz UFS para um ZFS, não é possível utilizá-lo para atualizar sistemas de arquivos não raiz ou compartilhados.
Não é possível usar o comando lu para criar e migrar um sistema de arquivos raiz ZFS.
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:
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.
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:
SPARC: você pode utilizar o comando boot-L para identificar os BEs disponíveis e selecionar um BE o qual deseja inicializar utilizando o comando boot-Z.
x86: você pode selecionar um BE do menu GRUB.
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. |
Você pode atualizar o BE do ZFS com correções ou pacotes adicionais.
O processo básico é:
Crie um BE alternativo com o comando lucreate.
Ative e inicialize a partir do BE alternativo.
Atualize o BE principal do ZFS com o comando luupgrade para adicionar pacotes ou correções.
# 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. |
É 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.
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*.
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.
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.
Comprove que as regiões do ambiente do UFS estejam inicializadas.
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.
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.
Reinicialize o sistema.
# init 6 |
Migre as regiões para um BE do ZFS.
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.
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 /.
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 |
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.
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.
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).
Inicialize o sistema a partir do conjunto raiz recém-criado.
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.
Monte o conjunto de dados de regiões recém-criado.
# zfs mount rpool/ROOT/s10BE/zones |
O conjunto de dados é montado em /zones.
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 |
Defina as permissões apropriadas no diretório raiz da região.
# chmod 700 /zones/zonerootA |
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 |
Instale a região.
# zoneadm -z zoneA install |
Inicialize a região.
# zoneadm -z zoneA boot |
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.
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.
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 |
Ative o novo ambiente de inicialização.
# luactivate newBE |
Inicialize a partir do ambiente de inicialização recém ativado.
# init 6 |
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.
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 /.
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 |
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.
É 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:
Para utilizar o Oracle Solaris Live Upgrade com configurações de regiões que são suportadas, começando com, no mínimo, a última versão Solaris 10 5/09, é necessário primeiro atualizar o sistema para a versão Solaris 10 5/09 pelo menos, ao utilizar o programa de atualização padrão.
Logo, com o Oracle Solaris Live Upgrade, é possível tanto migrar o sistema de arquivos raiz UFS com raízes de região para o sistema de arquivos raiz ZFS quanto atualizar ou instalar patches no sistema de arquivos raiz ZFS e raízes de região.
Não é possível migrar diretamente configurações de regiões não suportadas de uma versão Solaris 10 anterior à versão Solaris 10 5/09, no mínimo.
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:
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.
Migrar um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS – São suportadas as seguintes configurações de raízes de região:
Em um diretório no sistema de arquivos raiz UFS
Em um subdiretório de um ponto de montagem no sistema de arquivos raiz UFS
Sistema de arquivos raiz UFS com uma raiz de região em um diretório de sistema de arquivos UFS ou em um subdiretório de um ponto de montagem de sistema de arquivos raiz UFS e um grupo não raiz ZFS com uma raiz de região
A seguinte configuração de região UFS não é suportada: sistema de arquivos raiz UFS que tem uma raiz de região como ponto de montagem.
Migrar ou atualizar um sistema de arquivos raiz ZFS – São suportadas as seguintes configurações de raízes de região:
Em um conjunto de dados no pool raiz ZFS. Em alguns casos, se um conjunto de dados não for fornecido à raiz de região de raiz antes da operação do Oracle Solaris Live Upgrade, um conjunto de dados para a raiz de região (zoneds) será criado pelo Oracle Solaris Live Upgrade.
Em um subdiretório do sistema de arquivos raiz ZFS
Em um conjunto de dados fora do sistema de arquivos raiz ZFS
Em um subdiretório de um conjunto de dados fora do sistema de arquivos raiz ZFS
Em um conjunto de dados em um pool não-raiz. No exemplo a seguir, zonepool/zones é um conjunto de dados que contém as raízes da região e rpool contém o BE do ZFS:
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
A operação do Oracle Solaris Live Upgrade faz instantâneos e clones das regiões em zonepool e do BE em rpool se for utilizada esta sintaxe:
# lucreate -n newBE |
O BE newBE no rpool/ROOT/newBE é criado. Quando ativado, newBE fornece acesso aos componentes zonepool.
No exemplo acima, se /zonepool/zones era um subdiretório e não um conjunto de dados separado, então o Live Upgrade iria migrá-las como componentes do conjunto raiz, rpool.
Migração de regiões ou informações de atualização com regiões para UFS e ZFS: observe os fatores a seguir que podem afetar tanto a migração quanto a atualização de ambientes UFS e ZFS:
Se tiver configurado as regiões conforme descrito em Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com regiões (Solaris 10 10/08) na versão do Solaris 10 10/08 e atualizado para pelo menos o Solaris 10 5/09, você deve poder migrar para um sistema de arquivos raiz ZFS ou utilizar o Oracle Solaris Live Upgrade a fim de atualizar para no mínimo a versão Solaris 10 5/09.
Não crie raízes de regiões em diretórios aninhados, por exemplo zones/zone1 e zones/zone1/zone2. Caso contrário, a montagem poderá falhar no momento de inicialização.
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.
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 |
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 |
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. |
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 |
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 |
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.
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 - |
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 |
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. |
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 |
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>. . . . |
Inicialize a partir do ambiente de inicialização recém ativado.
# init 6 |
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 |
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 .
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.
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.
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 |
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.
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>. . . . |
Reinicialize o sistema.
# init 6 |
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 |
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 |
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:
Volumes ZFS separados devem ser utilizados para área de permuta e os dispositivos de despejo.
Atualmente, o uso de um arquivo de intercâmbio em um sistema de arquivos ZFS não é suportado.
Se precisar alterar a área de intercâmbio ou o dispositivo de dump após a instalação ou atualização do sistema, use os comandos swap e dumpadm como nas versões anteriores do Solaris. Para obter mais informações, consulte o Capítulo 20, Configuring Additional Swap Space (Tasks), no System Administration Guide: Devices and File Systems e o Capítulo 17, Managing System Crash Information (Tasks), no System Administration Guide: Advanced Administration.
Consulte as seções a seguir para mais informações:
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.
Você pode ajustar o tamanho dos volumes de intercâmbio e dump durante uma instalação inicial. Para obter mais informações, consulte o Exemplo 5–1.
É possível criar e dimensionar os volumes de permuta e despejo antes de efetuar a operação com o Oracle Solaris Live Upgrade. Por exemplo:
Crie o pool de armazenamento.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
Crie o dispositivo de dump.
# zfs create -V 2G rpool/dump |
Ative o dispositivo de despejo.
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Selecione um dos procedimentos seguintes para criar uma área de intercâmbio:
SPARC: crie sua área de permuta. Defina o tamanho do bloco em 8 KB.
# zfs create -V 2G -b 8k rpool/swap |
x86: crie a área de permuta. Defina o tamanho do bloco em 4 KB.
# zfs create -V 2G -b 4k rpool/swap |
É preciso ativar a área de permuta quando um novo dispositivo de permuta é adicionado ou alterado.
Adicione uma entrada para o volume de permuta para o arquivo /etc/vfstab.
O Oracle Solaris Live Upgrade não redimensiona os volumes de permuta e despejo existentes.
Você pode redefinir a propriedade volsize do dispositivo de dump após a instalação de um sistema. Por exemplo:
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
Você pode redimensionar o volume de intercâmbio, mas até que o CR 6765386 esteja integrado, é melhor remover primeiro o dispositivo de intercâmbio. Em seguida, recrie-lo. Por exemplo:
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
Para obter mais informações sobre como remover um dispositivo de permuta em um sistema ativo, consulte este site:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Você pode ajustar o tamanho dos volumes de intercâmbio e dump em um perfil do JumpStart usando a sintaxe de perfil semelhante à seguinte:
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
Neste perfil, duas entradas 2g configuram o tamanho do volume de permuta e volume de despejo como 2 GB cada.
Caso precise de mais espaço de intercâmbio em um sistema que já está instalado, basta adicionar outro volume de intercâmbio. Por exemplo:
# zfs create -V 2G rpool/swap2 |
Então, ative o novo volume de intercâmbio. Por exemplo:
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
Finalmente, adicione uma entrada para o segundo volume de permuta para o arquivo /etc/vfstab.
Revise os itens a seguir se tiver problemas em capturar um despejo de memória de sistema ou em redimensionar o dispositivo de despejo.
Se um despejo de memória não foi criado automaticamente, é possível utilizar o comando savecore para salvar o despejo de memória.
Um volume de despejo é criado automaticamente ao instalar inicialmente um sistema de arquivos raiz ZFS ou migrar para um sistema de arquivos raiz ZFS. Na maioria dos casos, será necessário apenas ajustar o tamanho do volume de despejo se o tamanho do volume padrão for muito pequeno. Por exemplo, em um sistema de memória grande, o tamanho do volume de despejo é aumentado para 40 GB, como a seguir:
# zfs set volsize=40G rpool/dump |
Redimensionando um volume de despejo grande pode ser um processo demorado.
Se, por qualquer razão, é necessário ativar um dispositivo de despejo depois de criar um dispositivo de despejo manualmente, utilize a sintaxe semelhante à seguinte:
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Um sistema com memória de 128 GB ou maior precisará de um dispositivo de despejo maior que o dispositivo de despejo que foi criado por padrão. Se o dispositivo de despejo for muito pequeno para capturar um despejo de memória existente, uma mensagem semelhante à seguinte é exibida:
# dumpadm -d /dev/zvol/dsk/rpool/dump dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump dump size 36255432704 bytes, device size 34359738368 bytes |
Para informações sobre dimensionar os dispositivos de permuta e despejo, consulte Planning for Swap Space no System Administration Guide: Devices and File Systems.
Não é possível, atualmente, adicionar um dispositivo de despejo a um grupo com vários dispositivos de primeiro nível. Você verá uma mensagem semelhante a esta:
# dumpadm -d /dev/zvol/dsk/datapool/dump dump is not supported on device '/dev/zvol/dsk/datapool/dump': 'datapool' has multiple top level vdevs |
Adicione o dispositivo de despejo ao conjunto raiz, que não pode possuir vários dispositivos de primeiro nível.
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.
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:
CR 6668666: é necessário instalar as informações de inicialização nos discos anexados adicionais utilizando os comandos installboot ou installgrub para ativar a inicialização em outros discos no espelho. Se criar um pool raiz ZFS espelhado com o método de instalação inicial, esta etapa não necessária. Por exemplo, se c0t1d0s0 foi o segundo disco adicionado ao espelho, então os comandos de sintaxe installboot ou installgrub devem ser:
SPARC:
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
x86:
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
Você pode inicializar de outros dispositivos em um pool raiz espelhado. Dependendo da configuração de hardware, pode ser necessário atualizar o PROM ou o BIOS para especificar outro dispositivo de inicialização.
Por exemplo, é possível inicializar a partir de ambos os discos (c1t0d0s0 ou c1t1d0s0) no conjunto a seguir.
# 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 |
SPARC: insira o disco alternativo no prompt ok.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 |
Após reinicializar o sistema, comprove o dispositivo de inicialização ativo. Por exemplo:
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a' |
x86: selecione um disco alternativo no conjunto raiz ZFS espelhado do menu apropriado da BIOS.
Então, utilize sintaxe semelhante à seguinte para confirmar que está sendo inicializado do disco alternativo:
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a' |
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:
Depois que o BE é ativado, é possível utilizar o comando de inicialização -L para exibir uma lista dos conjuntos de dados inicializáveis de um conjunto ZFS. Em seguida, pode selecionar um dos conjuntos de dados inicializáveis da lista. São exibidas as instruções para a inicialização de tal conjunto de dados. É possível inicializar o conjunto de dados selecionado seguindo tais instruções.
É possível utilizar o comando de inicialização -Z dataset para inicializar um conjunto de dados 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 |
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 |
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 |
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 |
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 |
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.
Inicialize o sistema a partir de um arquivo à prova de falhas.
Importe o pool.
Por exemplo:
# zpool import rpool |
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.
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 |
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.
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.
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.
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. |
Altere para o diretório /a/etc.
# cd /a/etc |
Se necessário, defina o tipo TERM.
# TERM=vt100 # export TERM |
Corrija o arquivo passwd ou shadow.
# vi shadow |
Reinicialize o sistema.
# init 6 |
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.
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.
Importe o conjunto raiz e especifique um ponto de montagem alternativo. Por exemplo:
# zpool import -R /a rpool |
Monte o BE do ZFS. Por exemplo:
# zfs mount rpool/ROOT/zfsBE |
Acesse o conteúdo do BE do ZFS do diretório /a.
# cd /a |
Reinicialize o sistema.
# init 6 |
As seções seguintes descrevem como realizar as tarefas abaixo:
Como recriar um pool raiz ZFS e recuperar instantâneos do pool raiz
Como reverter os instantâneos do pool raiz a partir da inicialização à prova de falhas
Pode ser necessário substituir um disco no pool raiz pelas seguintes razões:
O conjunto raiz é muito pequeno e deseja substituir o disco menor por um disco maior.
O disco do conjunto raiz apresenta falhas. Em um grupo não redundante, se o disco estiver falhando de modo que o sistema não inicializa, será necessário realizar a inicialização a partir de uma mídia alternativa, como um CD ou a rede, antes de substituir o disco do conjunto raiz.
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 |
Conecte fisicamente o disco de substituição (ou novo).
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
Anexe o novo disco ao pool raiz.
Por exemplo:
# zpool attach rpool c1t10d0s0 c1t9d0s0 |
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 |
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 |
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 |
Se o sistema se inicializa a partir do novo disco, desanexe o disco antigo.
Por exemplo:
# zpool detach rpool c1t10d0s0 |
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.
É 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.
Crie um grupo e sistema de arquivos em um sistema remoto para armazenar os instantâneos.
Por exemplo:
remote# zfs create rpool/snaps |
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 "" |
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 - |
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 |
Neste procedimento, suponha as condições a seguir:
O conjunto raiz ZFS não pode ser recuperado.
Os instantâneos do conjunto raiz ZFS estão armazenados em um sistema remoto e são compartilhados no NFS.
Todas as etapas são efetuadas no sistema local.
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.
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 .
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
Recrie o pool raiz.
Por exemplo:
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0 |
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.
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 - |
Defina a propriedade bootfs no BE do pool raiz.
Por exemplo:
# zpool set bootfs=rpool/ROOT/zfsBE rpool |
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 |
Reinicialize o sistema.
# init 6 |
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 - |
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. |
Reverta cada instantâneo do conjunto raiz.
# zfs rollback rpool@0804 # zfs rollback rpool/ROOT@0804 # zfs rollback rpool/ROOT/zfsBE@0804 |
Reinicialize no modo multiusuário.
# init 6 |