GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur boot PXE untuk perangkat keras UEFI

Menerapkan Red Hat Virtualization (RHV) di jaringan yang berbeda memerlukan semacam otomatisasi untuk menginstal host RHV baru. Sangat berguna untuk mengotomatisasi proses ketika ada sedikit perbedaan antara host yang berbeda dalam jaringan yang sama.

Dalam artikel ini, saya akan memandu Anda melalui proses mendesain dan menyiapkan Preboot Execute Environment (PXE) yang mencakup penyiapan server PXE, mengonfigurasi server DHCP, dan menginstal server TFTP. Menyiapkan lingkungan boot PXE tidak terlalu sulit tetapi membutuhkan beberapa langkah penting dan setiap langkah berisi banyak detail.

Desain

Menyiapkan satu server PXE untuk menyediakan server yang berbeda yang terletak di jaringan yang berbeda akan bermanfaat, terutama jika Anda akan mengotomatiskan penyediaan nanti.

Dalam pengaturan ini, kami mengonfigurasi satu server PXE dan dua server yang berbeda. Setiap jaringan pertanian server memiliki jaringan PXE khusus (disebut "Jaringan Penyedia" dalam artikel ini), sedangkan server PXE itu sendiri tidak ada di salah satu jaringan ini.

Di bawah ini adalah diagram jaringan dengan rentang IP sampel:

Desain ini mencapai hal berikut:

  1. Penyiapan ini lebih aman daripada menggunakan jaringan manajemen biasa (yaitu ovirtmgmt).
  2. Penyiapan ini melindungi jaringan manajemen dari badai siaran yang mungkin disebabkan oleh permintaan Dynamic Host Configuration Protocol (DHCP).
  3. Server PXE perlu menjangkau server Satelit atau Internet baik melalui antarmuka DMZ atau melalui server proxy untuk mengunduh paket yang diperlukan. Memiliki server PXE di luar Jaringan Penyedia akan melindungi jaringan ini agar tidak disusupi.

Asumsi

Artikel ini didasarkan pada asumsi berikut demi kesederhanaan:

1. Pengaturan PXE (DHCP, Trivial File Transfer Protocol (TFTP) dan Hypertext Transfer Protocol (HTTP)) di-host di satu server, meskipun ini tidak diperlukan.

Instalasi sistem operasi (OS) pada server mengikuti urutan pada gambar di bawah ini:

2. Server PXE dapat menjangkau internet melalui server proxy, dan jika tidak maka server Satelit digunakan.

3. Server PXE disiapkan di Red Hat Enterprise Linux (RHEL) 7.x.

OS Server PXE

Server PXE diinstal pada server dengan empat CPU inti dan memori empat GB, meskipun server dengan spesifikasi lebih rendah dapat bekerja.

Server memiliki satu kartu antarmuka jaringan (NIC) yang digunakan untuk semua jenis lalu lintas, meskipun Anda dapat memiliki antarmuka jaringan yang berbeda jika pemisahan jaringan diperlukan.

Gambar ISO RHEL7.6 digunakan untuk menginstal OS, dengan opsi instalasi minimal.

Setelah instalasi, pendaftaran OS dan mengaktifkan repositori yang relevan diperlukan:

1. Edit rhsm berkas:

# vi /etc/rhsm/rhsm.conf

2. Pada bagian di bawah ini tambahkan detail yang relevan dari server proxy:

#an http proxy server to use
proxy_hostname =

#port for http proxy server
proxy_port =

#user name for authenticating to an http proxy, if needed
proxy_user =

#password for basic http proxy auth, if needed
proxy_password =

3. Simpan file.

4. Daftar dan lampirkan sistem:

#subscription-manager register --auto-attach
username: your-rhsm-username
password: your-rhsm-password

5. Mengaktifkan repositori yang dibutuhkan:

# subscription-manager repos --enable=rhel-7-server-rh-common-rpms --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms

Pengaturan DHCP

Berikut adalah langkah-langkah untuk mengatur DHCP untuk mendukung boot PXE untuk server UEFI:

1. Instal server DHCP:

# yum install -y dhcp

2. Sesuaikan file konfigurasi DHCP(/etc/dhcp/dhcpd.conf ). Berikut adalah contoh file konfigurasi berdasarkan diagram jaringan di atas:

# DHCP Server Configuration File
#
#. see /usr/share/doc/dhcp*/dhcpd.conf.example
#
#. see dhcpd.conf(5) man page


option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.1.0 netmask 255.255.255.0 {
   option routers 192.168.1.0;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
   option routers 192.168.2.1;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.2.255;
   range 192.168.2.2 192.168.2.254;

   class "pxeclients" {
     match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
     next-server 192.168.1.10;
     if option architecture-type = 00:07 {
        filename "shim.efi";
        } else {
        filename "pxelinux/pxelinux.0";
     }
   }
}

subnet 192.168.3.0 netmask 255.255.255.0 {
   option routers 192.168.3.1;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.3.255;
   range 192.168.3.2 192.168.3.254;

   class "pxeclients" {
     match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
     next-server 192.168.1.10;
     if option architecture-type = 00:07 {
        filename "shim.efi";
        } else {
        filename "pxelinux/pxelinux.0";
     }
   }
}

3. Aktifkan dan mulai dhcpd layanan:

# systemctl enable dhcpd; systemctl start dhcpd

Pengaturan TFTP

Server TFTP diperlukan untuk menyediakan:

  1. initrd.img - "boot loader" yang akan dimuat ke disk RAM
  2. vmlinuz - Kernel Linux bootable terkompresi

Penyiapan server TFTP untuk mendukung boot PXE untuk server UEFI sedikit berbeda dari penyiapan untuk mendukung server BIOS.

Berikut adalah langkah-langkah untuk menyiapkan server TFTP untuk mendukung boot PXE untuk server UEFI:

1. Instal server TFTP:

# yum install -y tftp-server

2. Unduh paket yang dibutuhkan dari repositori RHEL:

# mkdir /root/packages

# cd /root/packages

# yumdownloader shim-version-architecture

# yumdownloader grub2-efi- version-architecture

3. Ekstrak binari yang dibutuhkan:

# rpm2cpio shim-version-architecture.rpm | cpio -dimv

# rpm2cpio grub2-efi- version-architecture.rpm | cpio -dimv

# cp boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/

# cp boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/

4. Unduh citra ISO dan pindahkan ke server PXE.

5. Pasang Gambar ISO:

# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro

6. Buat subdirektori untuk menyimpan file image booting dalam /var/lib/tftpboot :

# mkdir -p /var/lib/tftp/images/rhv-4.3

7. Salin file gambar boot:

# cp /mnt/pxeboot/{vmlinuz,initrd.img} /var/lib/tftp/images/rhv-4.3/

8. Buat file konfigurasi bernama grub.cfg di /var/lib/tftpboot . Berikut adalah contoh file konfigurasi di /var/lib/tftpboot/grub.cfg :

set default=0
set timeout=60
menuentry  'Install RHVH 4.3' --class fedora --class gnu-linux --class gnu --class os {
   linuxefi images/rhv-4.3/vmlinuz inst.ks=http://192.168.1.10/kickstarts/ks.cfg inst.stage2=http:// 192.168.1.10/rhv4.3/ISO quiet
   initrdefi images/rhv-4.3/initrd.img
}

9. Aktifkan dan mulai tftp layanan:

#systemctl enable tftp; systemctl start tftp

Tips tentang membuat grub.cfg

Membuat grub.cfg mungkin memerlukan beberapa parameter tambahan tergantung pada jaringan. Berikut adalah beberapa parameter yang umum digunakan yang mungkin diperlukan di grub.cfg :

rd.net.timeout.carrier=60

Jika opsi ini disetel, dhclient dipanggil dengan -timeout , jadi berguna jika balasan server DHCP tertunda:

ip=device-name:dhcp

Ini berguna jika server yang akan diinstal memiliki banyak antarmuka dan hanya satu yang didedikasikan untuk boot PXE.

Untuk opsi lainnya, Anda dapat merujuk ke halaman manual untuk Dracut Command Line.

Menutup

Ini adalah proses yang agak panjang untuk menyiapkan sistem PXE, jadi kami akan melanjutkan minggu depan dengan bagian dua. Pada titik ini, Anda akan memiliki server PXE yang berfungsi, server DHCP yang dikonfigurasi untuk mengirimkan alamat IP ke sistem boot PXE, dan server TFTP untuk mengirimkan sistem yang dapat di-boot dan image ISO.

Di bagian kedua, saya akan melanjutkan penyiapan PXE dengan menunjukkan cara menyiapkan server HTTP, file Kickstart, firewall berbasis host, dan jaringan. Saya juga membahas pemecahan masalah penyiapan PXE Anda dan saya membahas beberapa opsi otomatisasi.

[ Perlu mempelajari lebih lanjut tentang administrasi sistem Linux? Ikuti kursus administrasi sistem Red Hat. ]


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

  2. Cara Menyiapkan DomainKeys untuk Email di Server Khusus

  3. Cara Mengatur VSFTPD di CentOS 8

  1. Cara Mendaftar dan Mengatur Konteks SELinux untuk Server MySQL

  2. Bagaimana cara mengatur nick default untuk koneksi irssi baru?

  3. Cara mengatur jalur untuk perintah sudo

  1. Cara Mengatur Raspberry Pi Sebagai Server DNS

  2. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  3. Bagaimana cara mengatur umask untuk pengguna sistem?