GNU/Linux >> Belajar Linux >  >> Cent OS

Konfigurasi Server instalasi PXE (Network Boot) di CentOS 7.x

Server PXE (Preboot eXecution Environment) memungkinkan instalasi OS tanpa pengawasan atau otomatis melalui Jaringan. Manfaat utama pxe adalah kita tidak memerlukan drive yang dapat di-boot untuk mem-boot OS (Sistem operasi) dan kita tidak perlu membakar file ISO apa pun ke dalam DVD atau perangkat usb.

Setelah server PXE dikonfigurasi, kita dapat menginstal ratusan Sistem secara bersamaan melalui jaringan. Karena ini bekerja pada arsitektur Client-Server, untuk mendapatkan instalasi OS pada klien, boot klien melalui opsi PXE.

Pada artikel ini saya akan mengatur Server PXE pada CentOS 7.x dan kemudian akan mencoba menginstal OS pada klien menggunakan boot pxe.

Di bawah ini adalah rincian Setup saya :

  • IP Server =172.168.1.11
  • Nama host =pxe.example.com
  • OS =CentOS 7.x
  • SELinux =diaktifkan
  • Firewall =diaktifkan

Langkah:1 Instal paket yang diperlukan untuk Pengaturan PXE

Untuk menginstal dan mengkonfigurasi server pxe pada centos 7.x kita memerlukan paket-paket berikut “dhcp, tftp-server, ftp server(vsftpd), xinted”. Buka terminal eksekusi di bawah perintah :

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

Langkah:2 Konfigurasi Server DHCP untuk PXE

Saat kita menginstal paket dhcp maka contoh file konfigurasi server dhcp dibuat di “/usr/share/doc/dhcp*/dhcpd.conf.example “, meskipun file konfigurasi dhcp ada di ‘/etc/dhcp/dhcpd.conf '.

Salin baris berikut ke dalam file ‘/etc/dhcp/dhcpd.conf’, ganti subnet ip dan detail lainnya sesuai lingkungan Anda.

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

Langkah:3 Edit dan Konfigurasi server tftp (/etc/xinetd.d/tftp)

TFTP (Trivial File Transfer Protocol) digunakan untuk mentransfer file dari server data ke kliennya tanpa otentikasi apa pun. Dalam hal penyiapan server PXE, tftp digunakan untuk memuat bootstrap. Untuk mengonfigurasi server tftp, edit file konfigurasinya ‘ /etc/xinetd.d/tftp ', ubah parameter 'disable =yes' menjadi 'disable =no' dan biarkan parameter lainnya apa adanya.

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

Semua file terkait boot jaringan harus ditempatkan di direktori root tftp “/var/lib/tftpboot

Jalankan perintah berikut untuk menyalin file boot jaringan yang diperlukan di '/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] ~]#

Langkah:4 Pasang file ISO CentOS 7.x dan salin isinya ke server ftp lokal

Dalam kasus saya, saya telah mengunduh file iso CentOS 7.x di Server PXE saya. Jalankan perintah di bawah untuk me-mount file iso dan kemudian salin isinya di direktori 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/

Salin file Kernel (vmlimz) dan file initrd dari file iso yang di-mount ke ‘/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] ~]#

Sekarang Anda dapat meng-unmount file iso menggunakan perintah 'umount'

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

Langkah:5 Buat file menu kickStart &PXE.

Sebelum membuat file kickstart, pertama-tama buat kata sandi root dalam string terenkripsi karena kita akan menggunakan string kata sandi terenkripsi itu di file kickstart.

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

File kickstart default sistem ditempatkan di bawah /root dengan nama 'anaconda-ks.cfg '. Kami akan membuat kickstart baru di bawah folder /var/ftp/pub dengan nama ‘centos7.cfg '

Salin konten berikut ke file kickstart baru. Harap ubah file kickstart sesuai kebutuhan Anda.

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

Buat file menu PXE (/var/lib/tftpboot/pxelinux.cfg/default ), salin konten berikut ke dalam file 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

Langkah:6 Mulai dan aktifkan layanan xinetd, dhcp, dan vsftpd.

Gunakan perintah di bawah untuk memulai dan mengaktifkan xinetd, dhcp, dan 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] ~]#

Jika SELinux diaktifkan, maka setel aturan selinux berikut untuk server ftp.

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

Buka port di firewall OS menggunakan perintah firewall-cmd berikut

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

Hingga saat ini, instalasi dan konfigurasi server PXE telah selesai sekarang.

Langkah:7 Boot klien dengan opsi boot pxe.

Seperti dapat dilihat di atas bahwa instalasi telah dimulai dengan interaksi manusia apa pun. Saya harap Anda menikmati instalasi dan konfigurasi server PXE. Silakan bagikan umpan balik dan komentar Anda.


Cent OS
  1. Bagaimana Cara Pxe Network Boot Ubuntu Server 14.04 Menggunakan Nfs?

  2. Konfigurasikan server MariaDB di CentOS

  3. Centos 7:Konfigurasi Server DNS

  1. Cara Mengonfigurasi Pengaturan Jaringan CentOS

  2. Langkah-langkah Instalasi OpenCart 2.0 pada CentOS 7

  3. Instal dan Konfigurasi Server VNC di CentOS 7 dan RHEL 7

  1. Cara Menginstal ownCloud di CentOS 7

  2. Cara Menginstal Drupal 8 Pada CentOS 7

  3. Konfigurasi Server instalasi PXE (Network Boot) di CentOS 7.x