GNU/Linux >> Tutoriels Linux >  >> Cent OS

Configurer le serveur d'installation PXE (démarrage réseau) sur CentOS 7.x

Le serveur PXE (Preboot eXecution Environment) permet l'installation automatique ou automatisée du système d'exploitation sur le réseau. dans un DVD ou un périphérique USB.

Une fois le serveur PXE configuré, nous pouvons installer des centaines de systèmes en même temps sur le réseau. Comme il fonctionne sur une architecture client-serveur, pour obtenir l'installation du système d'exploitation sur les clients, démarrez les clients via l'option PXE.

Dans cet article, je vais configurer le serveur PXE sur CentOS 7.x, puis j'essaierai d'installer le système d'exploitation sur le client à l'aide du démarrage pxe.

Voici les détails de ma configuration :

  • IP du serveur =172.168.1.11
  • Nom d'hôte =pxe.example.com
  • SE =CentOS 7.x
  • SELinux =activé
  • Pare-feu =activé

Étape 1 Installez les packages requis pour la configuration PXE

Pour installer et configurer le serveur pxe sur centos 7.x, nous avons besoin des packages suivants "dhcp, tftp-server, ftp server(vsftpd), xinted". Ouvrez le terminal exécutez sous la commande :

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

Étape 2 Configurer le serveur DHCP pour PXE

Lorsque nous installons le package dhcp, un exemple de fichier de configuration du serveur dhcp est créé à "/usr/share/doc/dhcp*/dhcpd.conf.example ", bien que le fichier de configuration de dhcp se trouve dans '/etc/dhcp/dhcpd.conf '.

Copiez les lignes suivantes dans le fichier "/etc/dhcp/dhcpd.conf", remplacez le sous-réseau IP et d'autres détails selon votre environnement.

[[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";
}

Étape : 3 Modifier et configurer le serveur tftp (/etc/xinetd.d/tftp)

TFTP (Trivial File Transfer Protocol) est utilisé pour transférer des fichiers du serveur de données à ses clients sans aucune sorte d'authentification. Dans le cas d'une configuration de serveur PXE, tftp est utilisé pour le chargement du bootstrap. Pour configurer le serveur tftp, éditez son fichier de configuration ' /etc/xinetd.d/tftp ', changez le paramètre 'disable =yes' en 'disable =no' et laissez les autres paramètres tels quels.

[[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
}

Tous les fichiers liés au démarrage réseau doivent être placés dans le répertoire racine tftp "/var/lib/tftpboot

Exécutez les commandes suivantes pour copier les fichiers de démarrage réseau requis dans '/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] ~]#

Étape :4 Montez le fichier ISO CentOS 7.x et copiez son contenu sur le serveur ftp local

Dans mon cas, j'ai déjà téléchargé le fichier iso CentOS 7.x sur mon serveur PXE. Exécutez les commandes ci-dessous pour monter le fichier iso, puis copiez son contenu dans le répertoire du serveur 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/

Copiez le fichier Kernel (vmlimz) et le fichier initrd du fichier iso monté vers '/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] ~]#

Vous pouvez maintenant démonter le fichier iso à l'aide de la commande "umount"

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

Étape : 5 Créer un fichier de menu kickStart et PXE.

Avant de créer le fichier kickstart, créons d'abord le mot de passe root dans une chaîne cryptée car nous utiliserons cette chaîne de mot de passe cryptée dans le fichier kickstart.

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

Le fichier de démarrage par défaut du système est placé sous /root avec le nom 'anaconda-ks.cfg '. Nous allons créer un nouveau kickstart sous le dossier /var/ftp/pub avec le nom ‘centos7.cfg '

Copiez le contenu suivant dans le nouveau fichier kickstart. Veuillez modifier le fichier kickstart selon vos besoins.

[[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

Créez un fichier de menu PXE (/var/lib/tftpboot/pxelinux.cfg/default ), copiez le contenu suivant dans le fichier de 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

Étape :6 Démarrez et activez les services xinetd, dhcp et vsftpd.

Utilisez les commandes ci-dessous pour démarrer et activer xinetd, dhcp et 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] ~]#

Dans le cas où SELinux est activé, définissez la règle selinux suivante pour le serveur ftp.

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

Ouvrez les ports dans le pare-feu du système d'exploitation à l'aide des commandes firewall-cmd suivantes

[[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] ~]#

Jusqu'à présent, l'installation et la configuration du serveur PXE sont maintenant terminées.

Étape :7 Démarrez les clients avec l'option de démarrage pxe.

Comme on peut le voir ci-dessus, l'installation a été lancée sans aucune interaction humaine. J'espère que vous apprécierez l'installation et la configuration du serveur PXE. Veuillez partager vos commentaires et commentaires.


Cent OS
  1. Comment configurer les paramètres réseau CentOS

  2. Étapes d'installation d'OpenCart 2.0 sur CentOS 7

  3. Comment démarrer le serveur Ubuntu 14.04 en réseau avec Pxe à l'aide de NFS?

  4. Configurer le serveur MariaDB sur CentOS

  5. Centos 7 :Configurer le serveur DNS

Comment installer et configurer OTRS (outil de billetterie) sur CentOS 7 / RHEL 7

Comment installer et configurer le serveur VNC sur Centos 8 / RHEL 8

Comment installer un serveur minimal CentOS 7.2

Erreur du serveur!

Installer le serveur PXE et configurer le client PXE sur CentOS 7

Centos 7 :Configurer le serveur NTP