24.2. Instalação de Imagem de Disco Automática

A criação de imagens de disco e a instalação neles pode ser automatizada usando livemedia-criador . Para executar uma instalação automática, você precisará de um sistema Red Hat Enterprise Linux instalado e um arquivo de Kickstart. As próprias imagens de disco não precisam ser criadas manualmente. Para obter informações sobre como criar e usar arquivos de Kickstart, veja Capítulo 23, Instalações pelo Kickstart.

24.2.1. Visão geral do livemedia-creator

A criação de imagens personalizadas usando livemedia-criador é normalmente um processo de dois estágios. Na primeira etapa, um arquivo de imagem de disco temporário é criado e o programa de instalação do Red Hat Enterprise Linux Anaconda , instala um sistema nesta imagem com base nos parâmetros fornecidos em um arquivo de Kickstart. Em seguida, na segunda etapa, livemedia-criador usa este sistema temporário para criar a imagem final, de arranque.
Este comportamento pode ser alterado especificando opções adicionais. Por exemplo, é possível passar apenas a primeira etapa, com o resultado sendo um arquivo de imagem de disco, ou ignorar a primeira fase e usar uma imagem de disco ou sistema de arquivos existente para criar a imagem ISO inicializável final.

Importante

Criando imagens personalizadas usando livemedia-criador é suportado atualmente somente em sistemas AMD64 e Intel 64 (x86_64).
Além disso, o processo de criação só é suportado em Red Hat Enterprise Linux 7. Pode ser possível criar também imagens personalizadas de versões anteriores, mas não são suportadas pela Red Hat.
Exemplo de uso de livemedia-creator é descrito em Seção 24.2.4, “Criando imagens personalizadas ”. Em um sistema onde o pacote Lorax é instalado, poderá ser exibida uma lista de todas as opções disponíveis usando o livemedia-criador - help . Documentação adicional também é instalada junto com o pacote Lorax : o livemedia-creator(1) e a README.livemedia-creator localizado no diretório / usr/share/doc/lorax- versão / , onde versão é a versão do pacote Lorax que você instalou.

24.2.2. Instalando livemedia-creator

A ferramenta livemedia-creator é uma parte do pacote Lorax . Para instalar o pacote, execute o seguinte comando como root :
# yum install lorax 
Você também vai precisar instalar vários outros pacotes, além do próprio Lorax . Esses pacotes não são dependências do Lorax e, portanto, eles não são instalados automaticamente, mas você pode precisar deles, dependendo de para que exatamente você está usando o livemedia-creator . Entre esses pacotes são:
  • virt-install : um pacote que fornece ferramentas para construir novas máquinas virtuais, utilizadas na primeira fase de criação de mídia ao vivo a menos que a opção - no-virt seja especificada.
  • libvirt, qemu-kvm, virsh e outras ferramentas de virtualização: quando utilizar virt-install, seu sistema deve estar preparado para criar, executar e gerenciar uma máquina virtual. Consulte Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide para informações sobre virtualização em Red Hat Enterprise Linux e para documentação sobre como trabalhar e instalar utilizando ferramentas de virtualização.
  • anaconda : o programa de instalação do Red Hat Enterprise Linux , utilizado na primeira etapa, ao invés do virt-install, se a opção - no-virt for usada.
Podem ser necessários outros aplicativos que estão além do escopo deste capítulo. Se você tentar executar livemedia-creator e estiver faltando um pacote que você deseja com as opções que você especificou, o programa será interrompido e uma mensagem de erro será exibida informando sobre os pacotes que você precisa instalar antes de prosseguir.

24.2.3. Arquivos de exemplo Kickstart

Para criar com sucesso uma imagem personalizada ao vivo, você vai precisar de um arquivo de configuração Kickstart válido. Dois exemplos são instalados automaticamente junto com Lorax . Você pode usar esses exemplos como referência ao criar suas próprias imagens personalizadas, ou você pode copiá-los e modificá-los de acordo com seu uso pretendido. Ambas as amostras fornecidas estão localizados no diretório /usr/share/doc/lorax-version/ onde version é o número da versão do pacote Lorax instalado em seu sistema.
As amostras disponíveis são:
  • rhel7-minimal.ks : um arquivo de configuração que fornece apenas uma instalação mínima (o grupo @core) e outros itens essenciais, como o kernel e o carregador de inicialização GRUB2 ). Nenhum usuário além de root serão criados, e nenhuma interface gráfica ou pacotes adicionais serão instalados.
  • rhel7-livemedia.ks: a more advanced configuration file which creates a live system with a graphical interface. A user named liveuser is created along with root.
Ambas as configurações de amostra precisam ser modificadas para usar um local válido como fonte de instalação. Para fazer isso, abra o arquivo em um editor de texto simples, como vim , localize a url e altere o endereço fornecido para uma fonte de instalação válida. Não serão necessárias outras alterações para que essas amostras funcionem.

Importante

Não modifique as amostras em seu local original. Copie-os para outro diretório e modificar as cópias em seu lugar.

Nota

Ao especificar a fonte de instalação e repositórios adicionais no arquivo de Kickstart, tenha em mente que só oficialmente fornecida Red Hat repositórios são suportados. Repositórios personalizados podem funcionar, mas não são suportadas.

24.2.4. Criando imagens personalizadas

Esta seção descreve vários padrões de uso comum para livemedia-creator. Não é necessáriamente uma lista completa de opções disponíveis. Para visualizar todas as opções disponíveis, execute livemedia-creator- help ou veja a página man do livemedia-creator(1) .

24.2.4.1. Criando uma imagem ao vivo usando virt-install

Talvez o uso mais comum do livemedia-creator envolve o uso de virt-install para criar uma máquina virtual temporária a ser usada para o processo de criação de imagens ao vivo. Para criar um ISO ao vivo usando virt-install, você vai precisará de um uma imagem ISO inicializável que contenha o programa de instalação Anaconda do arquivo e Kickstart válido. Tais imagens são fornecidas pela Red Hat como "mídia de inicialização mínima"; veja Seção 2.2, “Criando mídia USB de instalação” para mais detalhes.
O comando a seguir é o mínimo que você precisa para criar uma imagem ao vivo usando virt-install :
# livemedia-creator --make-iso --iso=/path/to/boot.iso --ks=/path/to/valid/kickstart.ks 
Substitua /path/to/boot.iso pelo caminho /path/to/valid/kickstart.ks com um caminho para um arquivo Kickstart válido a ser utilizado no processo de criação da imagem..
As opções adicionais que você pode achar úteis neste caso de uso particular são:
  • --vnc vnc: esta opção permite que você assista o processo de instalação utilizando um cliente VNC como o TigerVNC. A opção é passada para a opção do virt-install --graphics. Veja Capítulo 22, Instalação com um VNC. para obter mais informações.
  • --ram x: permite que você especifique a quantidade de memória RAM para a máquina virtual temporária em megabytes.
  • --vcpus x: a quantidade de processadores de máquinas virtuais.

24.2.4.2. Criando um Imagem ao Vivo Utilizando a Instalação de Imagem do Anaconda.

Outra forma de criar uma imagem ao vivo é utilizar o recurso de instalação de imagem do Anaconda. Neste caso, não é necessária nenhuma imagem contendo o programa de instalação, mas o pacote anaconda precisa ser instalado no sistema. Novamente, o processo possui dois estágios: primeiro, uma imagem de disco temporária é criada e é instalado um sistema nele, depois esta imagem é utilizada para criar o ISO inicializável final.

Atenção

A imagem Live utilizando o Anaconda é muito perigoso, pois ele usa o programa de instalação no próprio sistema ao invés de dentro da máquina virtual. Embora não haja erros conhecidos neste momento, que poderia causar problemas, é possível que este processo torne todo o sistema inutilizável. Executar a opção livemedia-creator com o --no-virt é portanto recomendado somente em máquinas virtuais (convidadas) especificamente reservadas para este fim.

Importante

Defina Security Enhanced Linux (SELinux) para o modo permissivo (ou desabilitado)antes de criar imagens padronizadas com o Anaconda. Veja Red Hat Enterprise Linux 7 SELinux User's and Administrator's Guide para obter informações sobre configuração dos modos do SELinux.
Para criar uma imagem utilizando o Anaconda, use a opção --no-virt Por exemplo:
# livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --no-virt 

24.2.4.3. Criando um Disco ou Imagem de Sistema de Arquivo

Você também pode usar livemedia-creator para criar uma imagem de disco ou sistema de arquivos. Isto significa executar apenas a primeira fase do processo de criação da imagem. A ISO final não será criada, o programa irá parar depois de terminar o processo de instalação no disco temporário ou arquivo de imagem do sistema de arquivos. Você pode, em seguida, montar e inspecionar esta imagem para erros, o que pode ser útil ao realizar o troubleshooting de um arquivo Kickstart modificado, e você também pode mantê-lo para uso futuro para economizar tempo ao criar imagens no futuro.
Existem diversas formas de parar o processo de ciração após o primeiro estágio. Você pode usar a opção --image-onlycomo ilustrado neste exemplo a seguir:
# livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso --image-only 
Como forma alternativa, você pode usar a opção --make-disk ao invés da --make-iso:
# livemedia-creator --make-disk --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
Você também pode criar uma imagem de sistema de arquivo ao invés da imagem de disco particionada utilizando a opção --make-fsimage:
# livemedia-creator --make-fsimage --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 

Nota

Também é possível usar a opção --no-virt em todos os exemplos nesta seção.
Em todos os casos, o resultado será uma imagem de disco particionada ou uma imagem de sistema de arquivo, localizada no diretório /var/tmp/ por padrão. Para mudar o local do resultado, use a opção --tmp /path/to/temporary/directory/ onde /path/to/temporary/directory/ é o caminho para o diretório alvo.

24.2.4.4. Usando um Disco Criado Anteriormente ou uma Imagem de Sistema de Arquivo

Se você já possui um disco ou uma imagem de sistema de arquivo (veja Seção 24.2.4.3, “Criando um Disco ou Imagem de Sistema de Arquivo”), você poderá fornecê-la ao livemedia-creator para produzir a imagem ISO inicializável final. Neste caso o Arquivo Kickstart ou a imagem de instalação do Anaconda será necessária. Estes são necessários somente no primeiro estágio do processo de criação da imagem, o que é pulado neste caso.
Para criar uma imagem final de um arquivo de imagem de disco particionado existente, use a opção --disk-image. Por exemplo:
# livemedia-creator --make-iso --disk-image=/path/to/disk/image.img 
Se você precisar usar uma imagem de sistema de arquivo de uma imagem de disco, use a opção --fs-image ao invés de:
# livemedia-creator --make-iso --fs-image=/path/to/filesystem/image.img 

24.2.4.5. Criando um Appliance

Outro uso para livemedia-creator é a criação de uma imagem do appliance (uma imagem de disco particionado), incluindo um arquivo XML contendo a sua descrição, gerado usando um modelo. Instalações de máquinas virtuais, bem como instalações de imagem são suportados neste caso. Para criar uma imagem do aparelho e descrição, use a opção --make-appliance ao invés da opção --make-iso . Por exemplo:
# livemedia-creator --make-appliance --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
Ambas as imagens e arquivo XML de descrição serão armazenados no diretório /var/tmp/ a menos que seja especificado um, usando a opção --resultdir.
Opções adicionais específicas para a criação do appliance são:
  • --app-name name: especifica o nome do appliance, que irá aparecer no arquivo de descrição do XML marcado pela <name>. O valor padrão é None.
  • --app-template /path/to/template.tmpl: especifica o modelo a ser utilizando. O padrão é /usr/share/lorax/appliance/libvirt.tmpl.
  • --app-file /path/to/app/file.xml: especifica o nome do arquivo XML de descrição gerado. O valor padrão é appliance.xml.

24.2.4.6. Criação de uma Imagem de Máquina Amazon (AMI)

Para criar um Imagem de Máquina Amazon (AMI) para usar dentro de um Amazon Elastic Compute Cloud (EC2), use a opção --make-ami. Instalações de imagem e virtualizadas são suportadas.
# livemedia-creator --make-ami --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
O resultado será um arquivo de imagem chamado ami-root.img, localizado no diretório /var/tmp/ a menos que você tenha usado a opção --resultdir para especificar um outro diretório.

24.2.4.7. Argumentos Adicionais

Estas opções a seguir podem ser usadas com todos os casos de uso listados acima (instalações virtuais, instalações de imagem do Anaconda entre outras.)
  • --keep-image: quando você especificar esta opção, o arquivo de imagem de disco temporário usado na primeira etapa da instalação não serão apagados. Ele será localizado no / var / tmp / e ele vai ter um nome gerado aleatoriamente como diskgU42Cq.img .
  • --image-only: ao usar essa opção significa que apenas a primeira etapa do processo de criação da imagem será executada. Em vez de produzir a imagem ISO inicializável final, livemedia-creator criará somente o arquivo de imagem de disco temporário executará uma instalação nele. Esta opção permite-lhe poupar tempo ao testar modificações no seu arquivo Kickstart, porque você pode pular a segunda etapa demorada e inspecionar o arquivo de imagem de disco temporário.
  • --image-name name: permite que você especifique um nome padronizado para o arquivo de imagem de disco temporário (por exemplo, disk1Fac8G.img).
  • --tmp /path/to/temporary/directory/: especifica o diretório temporário de alto nível . O valor padrão é /var/tmp/. Ao usar esta opção, você precisa especificar um diretório que já exista.
  • --resultdir /path/to/results/directory/: especifica o diretório onde o resultado (a imagem ISO inicializável) aparecerá após livemedia-creator finalizar. Um diretório já existente não pode ser especificado. O valor padrão é /var/tmp/. Esta opção somente se aplica à imagem ISO final. Se você estiver criando um disco ou imagem de sistema de arquivo e quiser salvá-la em um local especifico, use a opção --tmp.
  • --logfile /path/to/log/file/: especifica o local do arquivo de log do programa.

24.2.5. Problemas com o Troubleshooting livemedia-creator

Esta seção oferece sugestões sobre resolução de vários problemas comuns encontrados ao usar livemedia-creator. Se você encontrar um problema não descrito aqui, você poderá procurar nos arquivos de log do programa, que são gerados automaticamente durante cada execução e salvos no diretório do qual você executou a ferramenta, a menos que você especifique um diretório diferente usando o - logfile . Os arquivos de log serão diferentes dependendo das opções que você usou. Por exemplo, virt-install.log não será gerado quando você usar o - no-virt (em vez disso, você terá arquivos de log Anaconda , localizados no diretório anaconda/ ). Outros arquivos, ou seja, livemedia.log e program.log , são gerados todas as vezes.
Outra forma de encontrar e resolver problemas é usando o --image-only ao executar o utilitário. Esta opção irá parar o programa após a primeira fase, portanto, apenas um arquivo de imagem de disco será gerada em vez da ISO inicializável final. Você pode, em seguida, montar o arquivo de imagem de disco e examinar seu conteúdo sem ter que esperar que a segunda etapa para termine. Alternativamente, você pode usar o --keep-image , que irá executar as duas etapas, mas manterá a imagem de disco temporário para posterior análise.
Recomenda-se usar a opção --vnc quando testar as alterações no arquivo Kickstart. Esta opção permite que você use um cliente VNC para se conectar à máquina virtual e ver o progresso da instalação. Veja Capítulo 22, Instalação com um VNC. para mais detalhes.

24.2.5.1. Instalação de Máquina Virtual Travada

Se o programa de instalação ficar travado por qualquer motivo durante a primeira fase de uma instalação virtual, o livemedia-creator também ficará travado, à espera de que a instalação seja concluída. Você pode interromper o programa diretamente, ou você pode resolver este problema interrompendo a máquina virtual temporária. O Livemedia-creator irá detectar se o sistema operacional convidado foi parado, apagará todos os arquivos temporários e sairá.
Para interromper a máquina virtual temporária, siga este procedimento:

Procedimento 24.1. Interrompendo a Máquina Virtual Temporária

  1. Use virsh para listar todas as máquinas virtuais (convidadas) disponíveis atualmente no sistema. O resultado será semelhante à este:
    # virsh list --all Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off 
    Identifique a máquina virtual temporária. Seu nome iniciará sempre com LiveOS, seguido de uma faixa de números aleatórios e caracteres.
  2. Depois que você identificar a máquina virtual temporária, pare-a utilizando o comando virsh destroy name onde name é o nome da máquina virtual:
    # virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed 

24.2.5.2. Instalação de Máquina Virtual Abortada

Se você fosse fazer uma instalação virtual e o processo houvesse sido interrompido por qualquer motivo (por exemplo, falha de hardware, falta de energia ou de uma interrupção de teclado), durante a primeira etapa, virt-install não seria capaz de começar de novo, até a imagem de disco temporária criada anteriormente e máquina virtual ter sido removida. O procedimento a seguir explica como fazer isso.
Nem todos os passos podem ser necessários todas as vezes. Por exemplo, se você estiver se recuperando depois de uma falha no sistema, você não terá que parar a máquina virtual temporária, apenas cancele-a. Você também pode usar as etapas 4 e 5, se você só quiser limpar arquivos temporários criados pelo livemedia-creator e nada mais.

Procedimento 24.2. Removendo Convidados Temporários e Arquivos de Imagem de Disco

  1. Use virsh para listar todas as máquinas virtuais (convidadas) disponíveis atualmente no sistema. O resultado será semelhante à este:
    # virsh list --all Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off 
    Identifique a máquina virtual temporária. Seu nome iniciará sempre com LiveOS, seguido de uma faixa de números aleatórios e caracteres.
  2. Depois que você identificar a máquina virtual temporária, pare-a utilizando o comando virsh destroy name onde name é o nome da máquina virtual:
    # virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed 
  3. Remova a máquina virtual temporária utilizando o virsh undefine name, usando o mesmo nome name que o passo anterior.
    # virsh undefine LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 has been undefined 
  4. Encontre a montagem do sistema de arquivo temporário. Ele será destinado ao diretório /var/tmp/ e seus nomes serão lorax.imgutils seguido por seis números aleatórios ou caracteres.
    # findmnt -T /var/tmp/lorax.imgutils* TARGET SOURCE FSTYPE OPTIONS /var/tmp/lorax.imgutils.bg6iPJ /dev/loop1 iso9660 ro,relatime 
    Depois desmonte-o usando o comando umount:
     # umount /var/tmp/lorax.imgutils.bg6iPJ 
  5. Encontre a imagem de disco temporário criado pelo virt-install no / var / tmp . O nome desse arquivo é impresso em linha de comando no início do processo de instalação e é gerado aleatoriamente, a menos que você especifique um nome usando a opção - nome imagem . Por exemplo:
     2013-10-30 09:53:03,161: disk_size = 5GB 2013-10-30 09:53:03,161: disk_img = /var/tmp/diskQBkzRz.img 2013-10-30 09:53:03,161: install_log = /home/pbokoc/lorax/virt-install.log mount: /dev/loop1 is write-protected, mounting read-only 
    Acima, a imagem de disco temporário é /var/tmp/diskQBkzRz.img.
    Se você não consegue encontrar mensagens iniciais, você pode identificar os arquivos temporários manualmente. Liste todo o conteúdo do diretório /var/tmp usando o comando ls e filtre o resultado por arquivos contendo disk em seus nomes:
    # ls /var/tmp/ | grep disk diskQBkzRz.img 
    Depois, remova a imagem de disco temporária:
    # rm -f /var/tmp/diskQBkzRz.img 
Se você seguiu todos os passos deste procedimento, você agora está apto a iniciar uma nova instalação com o virt-install.

24.2.5.3. Falha na instalação utilizando o --no-virt.

Recuperação de uma instalação interrompida usando o recurso de instalação de imagem Anaconda (a opção - no-virt ) pode ser alcançado por meio da execução do script do anaconda-cleanup que é instalado junto com o anaconda pacote anaconda . Este script está localizado no / usr / bin / .
Use o seguinte comando para executar o script de limpeza. Você irá precisar de previlégios do usuário root para fazer isto.
# anaconda-cleanup