GNU/Linux >> Linux Esercitazione >  >> Cent OS

Configura server di installazione PXE (avvio di rete) su CentOS 7.x

Il server PXE (Preboot eXecution Environment) consente l'installazione automatica o automatica del sistema operativo sulla rete. Il vantaggio principale di pxe è che non è necessaria alcuna unità di avvio per avviare il sistema operativo (sistema operativo) e non è necessario masterizzare alcun file ISO nel DVD o nel dispositivo USB.

Una volta configurato il server PXE, possiamo installare centinaia di sistemi contemporaneamente sulla rete. Poiché funziona sull'architettura client-server, per ottenere l'installazione del sistema operativo sui client, avviare i client tramite l'opzione PXE.

In questo articolo installerò il server PXE su CentOS 7.x e quindi proverò a installare il sistema operativo sul client utilizzando l'avvio pxe.

Di seguito sono riportati i dettagli della mia configurazione:

  • IP server =172.168.1.11
  • Nome host =pxe.example.com
  • OS =CentOS 7.x
  • SELinux =abilitato
  • Firewall =abilitato

Passaggio:1 Installa i pacchetti richiesti per l'installazione di PXE

Per installare e configurare il server pxe su centos 7.x abbiamo bisogno dei seguenti pacchetti “dhcp, tftp-server, ftp server(vsftpd), xinted”. Apri il terminale esegui sotto il comando:

[[email protected] ~]# yum install dhcp tftp tftp-server syslinux vsftpd xinetd

Passaggio:2 Configura il server DHCP per PXE

Quando installiamo il pacchetto dhcp, viene creato un file di configurazione di esempio del server dhcp in "/usr/share/doc/dhcp*/dhcpd.conf.example “, sebbene il file di configurazione di dhcp sia in '/etc/dhcp/dhcpd.conf '.

Copia le seguenti righe nel file '/etc/dhcp/dhcpd.conf', sostituisci la sottorete IP e altri dettagli secondo il tuo ambiente.

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.

ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;

# internal subnet for my DHCP Server
subnet 172.168.1.0 netmask 255.255.255.0 {
range 172.168.1.21 172.168.1.151;
option domain-name-servers 172.168.1.11;
option domain-name "pxe.example.com";
option routers 172.168.1.11;
option broadcast-address 172.168.1.255;
default-lease-time 600;
max-lease-time 7200;

# IP of PXE Server
next-server 172.168.1.11;
filename "pxelinux.0";
}

Passaggio:3 Modifica e configurazione del server tftp (/etc/xinetd.d/tftp)

TFTP (Trivial File Transfer Protocol) viene utilizzato per trasferire file dal server di dati ai suoi client senza alcun tipo di autenticazione. In caso di configurazione del server PXE, tftp viene utilizzato per il caricamento bootstrap. Per configurare il server tftp, modifica il suo file di configurazione " /etc/xinetd.d/tftp ', cambia il parametro 'disable =yes' in 'disable =no' e lascia gli altri parametri così come sono.

[[email protected] ~]# vi /etc/xinetd.d/tftp
service tftp
{
 socket_type = dgram
 protocol    = udp
 wait        = yes
 user        = root
 server      = /usr/sbin/in.tftpd
 server_args = -s /var/lib/tftpboot
 disable     = no
 per_source  = 11
 cps         = 100 2
 flags       = IPv4
}

Tutti i file relativi all'avvio di rete devono essere collocati nella directory principale di tftp “/var/lib/tftpboot

Esegui i seguenti comandi per copiare i file di avvio di rete richiesti in '/var/lib/tftpboot/'

[[email protected] ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
[[email protected] ~]#
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# mkdir /var/lib/tftpboot/networkboot
[email protected] ~]#

Passaggio:4 Monta il file ISO di CentOS 7.x e copia il suo contenuto sul server ftp locale

Nel mio caso ho già scaricato il file iso CentOS 7.x sul mio server PXE. Esegui i comandi sottostanti per montare il file iso e quindi copia il suo contenuto nella directory del server ftp '/var/ftp/pub '

[[email protected] ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# cp -av * /var/ftp/pub/

Copia il file del kernel (vmlimz) e il file initrd dal file iso montato in '/var/lib/tftpboot/networkboot/ '

[[email protected] ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/
[[email protected] ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
[[email protected] ~]#

Ora puoi smontare il file iso usando il comando "umount"

[[email protected] ~]# umount /mnt/
[[email protected] ~]#

Passo:5 Crea file di menu kickStart e PXE.

Prima di creare il file kickstart, creiamo prima la password di root in una stringa crittografata perché utilizzeremo quella stringa di password crittografata nel file kickstart.

[[email protected] ~]# openssl passwd -1 [email protected]#
$1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
[[email protected] ~]#

Il file kickstart predefinito del sistema è posizionato in /root con il nome 'anaconda-ks.cfg '. Creeremo un nuovo kickstart nella cartella /var/ftp/pub con il nome "centos7.cfg '

Copia il seguente contenuto nel nuovo file kickstart. Si prega di modificare il file kickstart secondo le proprie esigenze.

[[email protected] ~]# vi /var/ftp/pub/centos7.cfg

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use FTP installation media
url --url="ftp://172.168.1.11/pub/"
# Root password
rootpw --iscrypted $1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Europe/Amsterdam
# System bootloader configuration
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=300
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages
@^minimal
@core
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end

Crea un file di menu PXE (/var/lib/tftpboot/pxelinux.cfg/default ), copia i seguenti contenuti nel file del menu pxe.

[[email protected] ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32
prompt 0
timeout 30
MENU TITLE LinuxTechi.com PXE Menu
LABEL centos7_x64
MENU LABEL CentOS 7_X64
KERNEL /networkboot/vmlinuz
APPEND initrd=/networkboot/initrd.img inst.repo=ftp://172.168.1.11/pub ks=ftp://172.168.1.11/pub/centos7.cfg

Passaggio:6 Avvia e abilita il servizio xinetd, dhcp e vsftpd.

Usa i comandi sottostanti per avviare e abilitare xinetd, dhcp e vsftpd.

[[email protected] ~]# systemctl start xinetd
[[email protected] ~]# systemctl enable xinetd
[[email protected] ~]# systemctl start dhcpd.service
[[email protected] ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[[email protected] ~]# 
[[email protected] ~]# systemctl start vsftpd
[[email protected] ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[[email protected] ~]#

Nel caso in cui SELinux sia abilitato, impostare la seguente regola selinux per il server ftp.

[[email protected] ~]# setsebool -P allow_ftpd_full_access 1
[[email protected] ~]#

Apri le porte nel firewall del sistema operativo utilizzando i seguenti comandi firewall-cmd

[[email protected] ~]# firewall-cmd --add-service=ftp --permanent
success
[[email protected] ~]# firewall-cmd --add-service=dhcp --permanent
success
[[email protected] ~]# firewall-cmd --add-port=69/tcp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=69/udp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=4011/udp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Fino a questo punto, l'installazione e la configurazione del server PXE sono state completate.

Passaggio:7 Avvia i client con l'opzione di avvio pxe.

Come si può vedere sopra, l'installazione è stata avviata con qualsiasi interazione umana. Spero che ti piaccia l'installazione e la configurazione del server PXE. Si prega di condividere feedback e commenti.


Cent OS
  1. Come configurare le impostazioni di rete CentOS

  2. Passaggi di installazione di OpenCart 2.0 su CentOS 7

  3. Come avviare in rete Pxe Ubuntu Server 14.04 utilizzando Nfs?

  4. Configura il server MariaDB su CentOS

  5. Centos 7 :Configura il server DNS

Come installare e configurare OTRS (Ticketing Tool) su CentOS 7 / RHEL 7

Come installare e configurare il server VNC su Centos 8 / RHEL 8

Come installare un server minimo CentOS 7.2

Errore del server!

Installa il server PXE e configura il client PXE su CentOS 7

Centos 7 :Configura il server NTP