Este artigo é uma extensão da minha configuração anterior do ambiente de inicialização PXE no RHEL/CentOS 7 e é focado em como você pode executar instalações automáticas do RHEL/CentOS 7, sem a necessidade de intervenção do usuário, em máquinas headless usando um arquivo Kickstart lido de um servidor FTP local.

A preparação do ambiente para este tipo de instalação já foi processada no tutorial anterior sobre configuração do PXE Server, a única chave que falta, um arquivo Kickstart, será discutida mais adiante neste tutorial.

Instalação múltipla de RHEL/CemtOS 7 usando Kickstart

A maneira mais simples de criar uma personalização Kickstart que você pode usá-lo ainda mais para várias instalações é executar manualmente uma instalação do RHEL/CentOS 7 e copiar, após a conclusão do processo de instalação, o arquivo chamado anaconda-ks.cfgque reside em /root caminho, para um local de rede acessível e especifique o initrd parâmetro de inicialização inst.ks=protocol://path/to/kickstart.fileto PXE Menu Configuration File.

Requisitos

  1. Configurar um servidor de inicialização de rede PXE no RHEL/CentOS 7

Este tutorial, e a configuração do arquivo Kickstart, cobre apenas a Instalação Mínima do RHEL/CentOS 7 sem uma Instalação Gráfica, basicamente o arquivo Kikstart resultante do procedimento de Instalação Mínima anterior do RHEL/CentOS 7.

  1. Procedimento de instalação mínima do CentOS 7
  2. Procedimento de Instalação Mínima do RHEL 7

Se você precisar de um arquivo Kickstart que cubra GUI Instalação e uma tabela de partição específica, sugiro que você execute primeiro um
Instalação gráfica do RHEL/CentOS 7 em ambiente virtualizado e uso desse arquivo Kickstart resultante para futuras instalações de GUI.

Etapa 1: criar e copiar o arquivo Kiskstart para o caminho do servidor FTP

1. Na primeira etapa, vá para sua máquina PXE /root e copie o arquivo chamado anaconda-ks.cfg para Vsftpd caminho do servidor padrão (/var/ftp/pub) – também o caminho para RHEL/CentOS 7 Local Mirror Installation Source configurado em PXE network Boot Server – Step 6 (consulte o artigo de configuração do servidor PXE acima).

# cp anaconda-ks.cfg  /var/ftp/pub/
# chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. Depois que o arquivo for copiado, abra-o com seu editor de texto favorito e faça as seguintes alterações mínimas.

# nano /var/ftp/pub/anaconda-ks.cfg
  1. Substituir –urld com o local de origem da instalação da rede: Ex: –url=ftp://192.168.1.25/pub/
  2. Substituir network –bootproto dhcp caso você tenha configurado manualmente as interfaces de rede no processo de instalação.

Um trecho sobre a aparência de um arquivo Kickstart é apresentado abaixo.

#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use network installation
url --url="ftp://192.168.1.25/pub/"
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts="us"
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Bucharest --isUtc
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end
Configuração de Kickstart CentOS
Configuração do Kickstart

Para opções de arquivo Kickstart e sintaxe mais avançadas, sinta-se à vontade para ler Documentação do Kickstart do RHEL 7.

3. Antes de tentar usar este arquivo para procedimentos de instalação, é importante que você verifique o arquivo usando ksvalidator incluído em Pykickstart, especialmente se personalizações manuais foram realizadas. Instalar Pykickstart e verifique seu arquivo Kickstart emitindo os seguintes comandos.

# yum install pykickstart
# ksvalidator /var/ftp/pub/anaconda-ks.cfg
Instale o Pykickstart no CentOS
Instale o pacote Pykickstart
Verifique a configuração do Kickstart
Verificar arquivos do Kickstart

4. A última verificação é garantir que o arquivo Kickstart esteja acessível a partir do local de rede especificado – neste caso FTP Local Mirror Installation Source definido pelo seguinte endereço de URL.

ftp://192.168.1.25/pub/
Verificar espelho de FTP
Verificar espelho de FTP

Etapa 2: adicionar o rótulo de instalação do Kikstart à configuração do servidor PXE

5. Para acessar Automatic Installation of RHEL/CentOS 7 a partir de PXE Menu adicione o seguinte rótulo à configuração de arquivo padrão PXE.

# nano /var/lib/tftpboot/pxelinux.cfg/default

Excerto da etiqueta do menu PXE.

Para RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Para CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Adicionar Kickstart ao menu PXE
Adicionar Kickstart ao menu PXE

Como você pode ver neste exemplo, a instalação automática pode ser supervisionada via VNC senha (substitua a senha VNC de acordo) e o arquivo Kickstart está localizado localmente no servidor PXE e é especificado pelo initrd parâmetro de inicialização inst.ks= Local de rede FTP (substitua o protocolo e o local de rede de acordo se você estiver usando outros métodos de instalação, como HTTP, HTTPS, NFS ou fontes de instalação remotas e arquivos Kickstart).

Etapa 3: configurar clientes para instalar automaticamente o RHEL/CentOS 7 usando o Kickstart

6. Para instalar automaticamente o RHEL/CentOS 7 e supervisionar todo o processo de instalação, especialmente em servidores headless, instrua sua máquina cliente a partir do BIOS
para inicializar a partir da rede, aguarde alguns segundos e pressione F8 e Enters, em seguida, selecione Kickstart do menu PXE.

Menu de inicialização PXE
Menu de inicialização PXE

7. Depois de kernel e ramdisk carrega e detecta o arquivo Kickstart, o processo de instalação inicia automaticamente sem qualquer intervenção do lado do usuário necessária. Se você quiser assistir ao processo de instalação, conecte-se a um VNC cliente de um computador diferente usando o endereço que o instalador fornece e aproveite a visualização.

Instalação automática do CentOS 7
Instalação automática do SO
Instalação do CentOs Remoto VNC
Conecte-se ao VNC
Instalação Automática do CentOS Kickstart
Instalação automática do sistema operacional Kickstart

8. Depois que o processo de instalação terminar, faça login no sistema recém-instalado com root conta e a senha usada na instalação anterior (a
um que você copiou o arquivo Kickstart) e altere sua senha de root do cliente executando passwd.

Conectar ao novo servidor instalado
Conectar ao novo servidor instalado

Isso é tudo! Automatic Kickstart As instalações oferecem muitos benefícios para administradores de sistemas em ambientes que precisam realizar instalações de sistemas em várias máquinas ao mesmo tempo, em um curto período de tempo, sem a necessidade de interferir manualmente no processo de instalação.