Instalação automática em lote PXE

A implantação em lote PXE tem as três vantagens a seguir:

  • Escala: instale vários servidores ao mesmo tempo;
  • Automação: instalar o sistema, configurar vários serviços;
  • Realização remota: nenhum CD, disco U e outras mídias de instalação são necessários.
    Insira a descrição da imagem aqui

PXE é uma tecnologia de inicialização de rede desenvolvida pela Intel que funciona no modo Cliente / Servidor, permitindo que os clientes baixem imagens de inicialização de servidores remotos através da rede e carreguem arquivos de instalação ou todo o sistema operacional. Para construir um sistema de rede PXE, os seguintes pré-requisitos devem ser atendidos.

  • A placa de rede do cliente suporta o protocolo PXE (chip BOOTROM integrado) e a placa-mãe suporta inicialização de rede.
  • Há um servidor DHCP na rede para atribuir endereços automaticamente aos clientes e especificar a localização do arquivo de inicialização.
  • O servidor fornece o download do arquivo de imagem de inicialização por meio do TFTP (Trivial File Transfer Protocol).

Processo básico de implantação

  1. Prepare a fonte de instalação do CentOS7
  2. Instale e ative os serviços TFTP e FTP
  3. Fornece kernel Linux, programa de inicialização PXE, etc.
  4. Instale e habilite o serviço DHCP
  5. Configurar o menu de inicialização

Planejamento:
um sistema Linux para construir um serviço ------------- 20.0.0.15

Um sistema Linux para teste PXE ------------- aquisição de DHCP

Versão do software: Centos 7.6

A seguir estão as etapas completas para iniciar a instalação:

Construa o serviço primeiro

vi /etc/sysconfig/network-scripts/ifcfg-ens33 
BOOTPROTO=static
.......
ONBOOT=yes
IPADDR=20.0.0.15
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS1=8.8.8.8
DNS2=114.114.114.114 

 systemctl restart network				##重启网卡
  vi /etc/selinux/config					##关闭核心防火墙
  ......
  SELINUX=disabled
  ......
  systemctl stop firewalld				##关闭防火墙
  systemctl disable firewalld			##开机自动关闭防火墙  
  最小化

A instalação precisa compilar e instalar o yum
yum list --------- Verifique se há instalação do yum

1. Prepare a fonte de instalação do CentOS7

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

2. Instale e ative os serviços TFTP e FTP

[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
......
protocol = udp                             ###TFTP 采用 UDP 传输协议
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot             ###指定 TFTP 根目录
disable = no
......
}
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp

3. Fornece kernel Linux, programa de inicialização PXE, etc.

[root@localhost ~]#   cd /mnt/images/pxeboot/          ####切换到挂载目录/mntimages/pxeboot/   
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/  ###两个文件并将其复制到 tftp 服务的根目录下[root@localhost ~]# yum -y install syslinux
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

4. Instale e ative o serviço DHCP

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
......
subnet 20.0.0.0 netmask 255.255.255.0 {
option routers 20.0.0.15;
option subnet-mask 255.255.255.0;
option domain-name "bdqn.com";
option domain-name-servers 20.0.0.254,202.106.0.20;
default-lease-time 21600;
max-lease-time 43200;
range 20.0.0.100 20.0.0.200;
next-server 20.0.0.15;				#####指定 TFTP 服务器的地址
filename "pxelinux.0";				####指定 PXE 引导程序的文件名
}

 [root@localhost ~]# systemctl start dhcpd
 [root@localhost ~]# systemctl enable dhcpd
 Created symlink from
 /etc/systemd/system/multi-user.target.wants/dhcpd.service to
 /usr/lib/systemd/system/dhcpd.service.

5. Configure o menu de inicialização

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
	kernel vmlinuz	
	append initrd=initrd.img method=ftp://20.0.0.15/centos7
label linux text
	kernel vmlinuz
	append text initrd=initrd.img method=ftp://20.0.0.15/centos7
label linux rescue
	kernel vmlinuz
	append rescue initrd=initrd.img method=ftp://20.0.0.15/centos7

Três entradas de inicialização são definidas no registro de configuração acima, ou seja, instalação gráfica (padrão), instalação de texto e modo de recuperação. Entre eles, prompt é usado para definir se deve aguardar a seleção do usuário; rótulo é usado para definir e separar itens de inicialização; kernel e append são usados ​​para definir parâmetros de inicialização. O número e o conteúdo das entradas do guia são definidos por eles próprios. Por exemplo, apenas uma entrada é necessária para instalação autônoma.

Implementar instalação autônoma do Kickstart

[root@localhost ~]# yum -y install  system-config-kickstart

######### Configuração básica ########## Configuração
básica:

  • Idioma padrão: Chinês (RP da China) -Chinês (Simplificado)
  • Teclado: inglês americano
  • Fuso horário: Ásia / Xangai
  • Senha root: Abc123
  • Senha padrão: Abc123
  • Verifique √: Criptografar a senha de root

Configuração avançada:

  • Arquitetura de destino: X86, AMD64 ou IntelEm64T
  • Verifique √: reiniciar após a instalação
  • Desmarque: instalar em modo de texto (o padrão é o modo gráfico)

######### Método de
instalação ########## Método de instalação:

  • Verifique √: execute uma instalação limpa
    Método de instalação:
  • Verifique √: FTP
  • Servidor FTP: ftp://20.0.0.254
  • Diretório FTP: centos

######### Opções do carregador de boot ######
Tipo de instalação:

  • Verifique √: instalar novo carregador de inicialização

######### Informações da partição ##########
Na interface "Informações da partição", você precisa planejar o esquema de partição do disco rígido corretamente. Por exemplo, você pode dividir uma partição de 500 MB / boot, partição de 4 GB / home, partição de troca de 2 GB e dividir o espaço restante na partição raiz
/ boot ----- xfs ----- is ----- 500
/ home ----- xfs ----- Sim ----- 4096
swap ----- swap ----- Sim ----- 2048
/ ----- xfs ----- Sim ----- toda a memória restante

### Outras informações ###
Se não houver nenhum requisito especial, basta manter as configurações padrão na interface "Verificar" e na interface "Configuração do display".

#### Depois de instalar o script ####
Verifique √: Use o interpretador: / bin / bash
Digite seu script% post abaixo:

  rm -rf /etc/yum.repos.d/*
  echo -e'[base]\nname=CentOS7.6\nbaseurl=ftp://20.0.0.15/centos7\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/centos7.repo

#### Salvar arquivo de resposta automática ####
[root @ localhost ~] # vi /ks.cfg

Corte para o fundo e adicione:

%packages
@^minimal
%end

#### Realize a instalação automática em lote ####

Assim que tiver o arquivo de resposta para a instalação automática, basta colocá-lo no diretório FTP do servidor de instalação PXE e modificar o menu de inicialização apropriadamente para realizar a instalação automática em lote baseada na rede.

1. Habilite o arquivo de resposta automática No servidor de instalação remota PXE, copie o arquivo de resposta criado na seção anterior para o diretório / var / ftp / centos7, para que o cliente possa usar ftp://20.0.0.254/centos7/ks.cfg Acesse e edite o arquivo padrão do menu de inicialização e adicione o parâmetro de inicialização ks para especificar o caminho da URL do arquivo de resposta ks.cfg.

[root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto        
	kernel vmlinuz
        append initrd=initrd.img method=ftp://20.0.0.15/centos7 ks=ftp://20.0.0.15/ks.cfg

Acho que você gosta

Origin blog.csdn.net/weixin_48190875/article/details/107822484
Recomendado
Clasificación