Tuesday, March 31, 2020

PXE Boot server --- configuration and implementation

Building and Configuring a PXE Server for Automated, hands-free Linux installations

1. Install DHCP package

pqr57.us.company.com: /etc >
pqr57.us.company.com: /etc > yum install dhcp
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.1.1-38.P1.0.1.el6 will be installed
--> Processing Dependency: dhcp-common = 12:4.1.1-38.P1.0.1.el6 for package: 12:dhcp-4.1.1-38.P1.0.1.el6.x86_64
--> Running transaction check
---> Package dhcp-common.x86_64 12:4.1.1-34.P1.0.1.el6 will be updated
--> Processing Dependency: dhcp-common = 12:4.1.1-34.P1.0.1.el6 for package: 12:dhclient-4.1.1-34.P1.0.1.el6.x86_64
---> Package dhcp-common.x86_64 12:4.1.1-38.P1.0.1.el6 will be an update
--> Running transaction check
---> Package dhclient.x86_64 12:4.1.1-34.P1.0.1.el6 will be updated
---> Package dhclient.x86_64 12:4.1.1-38.P1.0.1.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================
 Package                             Arch                           Version                                          Repository                          Size
==============================================================================================================================================================
Installing:
 dhcp                                x86_64                         12:4.1.1-38.P1.0.1.el6                           ol6_latest                         817 k
Updating for dependencies:
 dhclient                            x86_64                         12:4.1.1-38.P1.0.1.el6                           ol6_latest                         317 k
 dhcp-common                         x86_64                         12:4.1.1-38.P1.0.1.el6                           ol6_latest                         141 k

Transaction Summary
==============================================================================================================================================================
Install       1 Package(s)
Upgrade       2 Package(s)

Total download size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): dhclient-4.1.1-38.P1.0.1.el6.x86_64.rpm                                                                                         | 317 kB     00:03
(2/3): dhcp-4.1.1-38.P1.0.1.el6.x86_64.rpm                                                                                             | 817 kB     00:10
(3/3): dhcp-common-4.1.1-38.P1.0.1.el6.x86_64.rpm                                                                                      | 141 kB     00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                          80 kB/s | 1.2 MB     00:15
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 12:dhcp-common-4.1.1-38.P1.0.1.el6.x86_64                                                                                                  1/5
  Updating   : 12:dhclient-4.1.1-38.P1.0.1.el6.x86_64                                                                                                     2/5
  Installing : 12:dhcp-4.1.1-38.P1.0.1.el6.x86_64                                                                                                         3/5
  Cleanup    : 12:dhclient-4.1.1-34.P1.0.1.el6.x86_64                                                                                                     4/5
  Cleanup    : 12:dhcp-common-4.1.1-34.P1.0.1.el6.x86_64                                                                                                  5/5
  Verifying  : 12:dhclient-4.1.1-38.P1.0.1.el6.x86_64                                                                                                     1/5
  Verifying  : 12:dhcp-common-4.1.1-38.P1.0.1.el6.x86_64                                                                                                  2/5
  Verifying  : 12:dhcp-4.1.1-38.P1.0.1.el6.x86_64                                                                                                         3/5
  Verifying  : 12:dhcp-common-4.1.1-34.P1.0.1.el6.x86_64                                                                                                  4/5
  Verifying  : 12:dhclient-4.1.1-34.P1.0.1.el6.x86_64                                                                                                     5/5

Installed:
  dhcp.x86_64 12:4.1.1-38.P1.0.1.el6

Dependency Updated:
  dhclient.x86_64 12:4.1.1-38.P1.0.1.el6                                       dhcp-common.x86_64 12:4.1.1-38.P1.0.1.el6

Complete!
pqr57.us.company.com: /etc >
pqr57.us.company.com: /etc >


2.           Ensure the dhcpd process gets activated in Run levels 3, 4 and 5.

pqr57.us.company.com: /etc >
pqr57.us.company.com: /etc >
pqr57.us.company.com: /etc > /sbin/chkconfig --level 345 dhcpd on
pqr57.us.company.com: /etc >


3.           Edit the /etc/dhcp/dhcpd.conf and enter all pertinent information as given here.

pqr57.us.company.com: / >
pqr57.us.company.com: / > cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
ddns-update-style interim;
subnet 192.168.100.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.100.11 192.168.100.200;
default-lease-time 3600;
max-lease-time 4800;
option routers 192.168.100.1;
option domain-name-servers 192.168.100.1;
option subnet-mask 255.255.255.0;
option domain-name "cgbulab.net";
option time-offset -8;
}

host cgbu1 {
hardware ethernet 00:21:28:8E:0D:98;
fixed-address 192.168.100.25;
option host-name "cgbu1";
filename "pxelinux.0";
}

host cgbu2 {
hardware ethernet 00:10:E0:3B:B4:72;
fixed-address 192.168.100.27;
option host-name "cgbu2";
filename "pxelinux.0";
}
pqr57.us.company.com: / >
pqr57.us.company.com: / >

Note:
a.        The name given to a client machine is cgbu1
b.        The MAC address of its primary interface is 00:21:28:8E:0D:98
c.       It is being assigned an IP address 192.168.100.25 by the DHCP server


4.          Install the tftp package.

pqr57.us.company.com: / >
pqr57.us.company.com: / > yum install tftp
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tftp.x86_64 0:0.49-7.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================
 Package                           Arch                                Version                                  Repository                               Size
==============================================================================================================================================================
Installing:
 tftp                              x86_64                              0.49-7.el6                               ol6_latest                               31 k

Transaction Summary
==============================================================================================================================================================
Install       1 Package(s)

Total download size: 31 k
Installed size: 45 k
Is this ok [y/N]: y
Downloading Packages:
tftp-0.49-7.el6.x86_64.rpm                                                                                                             |  31 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : tftp-0.49-7.el6.x86_64                                                                                                                     1/1
  Verifying  : tftp-0.49-7.el6.x86_64                                                                                                                     1/1

Installed:
  tftp.x86_64 0:0.49-7.el6

Complete!
pqr57.us.company.com: / >
pqr57.us.company.com: / >
pqr57.us.company.com: / >
pqr57.us.company.com: / >
pqr57.us.company.com: / > yum install tftp-server
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tftp-server.x86_64 0:0.49-7.el6 will be installed
--> Processing Dependency: xinetd for package: tftp-server-0.49-7.el6.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.14-39.el6_4 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================
 Package                              Arch                            Version                                       Repository                           Size
==============================================================================================================================================================
Installing:
 tftp-server                          x86_64                          0.49-7.el6                                    ol6_latest                           39 k
Installing for dependencies:
 xinetd                               x86_64                          2:2.3.14-39.el6_4                             ol6_latest                          121 k

Transaction Summary
==============================================================================================================================================================
Install       2 Package(s)

Total download size: 160 k
Installed size: 317 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): tftp-server-0.49-7.el6.x86_64.rpm                                                                                               |  39 kB     00:00
(2/2): xinetd-2.3.14-39.el6_4.x86_64.rpm                                                                                               | 121 kB     00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                         275 kB/s | 160 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 2:xinetd-2.3.14-39.el6_4.x86_64                                                                                                            1/2
  Installing : tftp-server-0.49-7.el6.x86_64                                                                                                              2/2
  Verifying  : tftp-server-0.49-7.el6.x86_64                                                                                                              1/2
  Verifying  : 2:xinetd-2.3.14-39.el6_4.x86_64                                                                                                            2/2

Installed:
  tftp-server.x86_64 0:0.49-7.el6

Dependency Installed:
  xinetd.x86_64 2:2.3.14-39.el6_4

Complete!
pqr57.us.company.com: / >
pqr57.us.company.com: / >


5.           Install the httpd package

pqr57.us.company.com: / >
pqr57.us.company.com: / > yum install httpd
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-31.0.1.el6_5 will be installed
--> Processing Dependency: httpd-tools = 2.2.15-31.0.1.el6_5 for package: httpd-2.2.15-31.0.1.el6_5.x86_64
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-31.0.1.el6_5.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-31.0.1.el6_5.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-31.0.1.el6_5.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package httpd-tools.x86_64 0:2.2.15-31.0.1.el6_5 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================
 Package                              Arch                          Version                                      Repository                         Size
=========================================================================================================================================================
Installing:
 httpd                                x86_64                        2.2.15-31.0.1.el6_5                          ol6_latest                        823 k
Installing for dependencies:
 apr                                  x86_64                        1.3.9-5.el6_2                                ol6_latest                        122 k
 apr-util                             x86_64                        1.3.9-3.el6_0.1                              ol6_latest                         87 k
 apr-util-ldap                        x86_64                        1.3.9-3.el6_0.1                              ol6_latest                         15 k
 httpd-tools                          x86_64                        2.2.15-31.0.1.el6_5                          ol6_latest                         73 k

Transaction Summary
=========================================================================================================================================================
Install       5 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): apr-1.3.9-5.el6_2.x86_64.rpm                                                                                               | 122 kB     00:01
(2/5): apr-util-1.3.9-3.el6_0.1.x86_64.rpm                                                                                        |  87 kB     00:02
(3/5): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                                                                                   |  15 kB     00:00
(4/5): httpd-2.2.15-31.0.1.el6_5.x86_64.rpm                                                                                       | 823 kB     00:18
(5/5): httpd-tools-2.2.15-31.0.1.el6_5.x86_64.rpm                                                                                 |  73 kB     00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                     48 kB/s | 1.1 MB     00:23
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : apr-1.3.9-5.el6_2.x86_64                                                                                                              1/5
  Installing : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                       2/5
  Installing : httpd-tools-2.2.15-31.0.1.el6_5.x86_64                                                                                                3/5
  Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                  4/5
  Installing : httpd-2.2.15-31.0.1.el6_5.x86_64                                                                                                      5/5
  Verifying  : httpd-tools-2.2.15-31.0.1.el6_5.x86_64                                                                                                1/5
  Verifying  : httpd-2.2.15-31.0.1.el6_5.x86_64                                                                                                      2/5
  Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                  3/5
  Verifying  : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                       4/5
  Verifying  : apr-1.3.9-5.el6_2.x86_64                                                                                                              5/5

Installed:
  httpd.x86_64 0:2.2.15-31.0.1.el6_5

Dependency Installed:
  apr.x86_64 0:1.3.9-5.el6_2   apr-util.x86_64 0:1.3.9-3.el6_0.1   apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1   httpd-tools.x86_64 0:2.2.15-31.0.1.el6_5

Complete!
pqr57.us.company.com: / >
pqr57.us.company.com: / >


6.           Install the syslinux package

pqr57.us.company.com: / >
pqr57.us.company.com: / > yum install syslinux
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package syslinux.x86_64 0:4.02-16.el6_5 will be installed
--> Processing Dependency: mtools for package: syslinux-4.02-16.el6_5.x86_64
--> Processing Dependency: syslinux-nonlinux for package: syslinux-4.02-16.el6_5.x86_64
--> Running transaction check
---> Package mtools.x86_64 0:4.0.12-1.el6 will be installed
---> Package syslinux-nonlinux.i686 0:4.02-16.el6_5 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================
 Package                             Arch                     Version                          Repository                    Size
==================================================================================================================================
Installing:
 syslinux                            x86_64                   4.02-16.el6_5                    ol6_latest                   330 k
Installing for dependencies:
 mtools                              x86_64                   4.0.12-1.el6                     ol6_latest                   194 k
 syslinux-nonlinux                   i686                     4.02-16.el6_5                    ol6_latest                   513 k

Transaction Summary
==================================================================================================================================
Install       3 Package(s)

Total download size: 1.0 M
Installed size: 2.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): mtools-4.0.12-1.el6.x86_64.rpm                                                                      | 194 kB     00:01
(2/3): syslinux-4.02-16.el6_5.x86_64.rpm                                                                   | 330 kB     00:00
(3/3): syslinux-nonlinux-4.02-16.el6_5.i686.rpm                                                            | 513 kB     00:05
----------------------------------------------------------------------------------------------------------------------------------
Total                                                                                             117 kB/s | 1.0 MB     00:08
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : mtools-4.0.12-1.el6.x86_64                                                                                     1/3
  Installing : syslinux-4.02-16.el6_5.x86_64                                                                                  2/3
  Installing : syslinux-nonlinux-4.02-16.el6_5.i686                                                                           3/3
  Verifying  : syslinux-nonlinux-4.02-16.el6_5.i686                                                                           1/3
  Verifying  : syslinux-4.02-16.el6_5.x86_64                                                                                  2/3
  Verifying  : mtools-4.0.12-1.el6.x86_64                                                                                     3/3

Installed:
  syslinux.x86_64 0:4.02-16.el6_5

Dependency Installed:
  mtools.x86_64 0:4.0.12-1.el6                               syslinux-nonlinux.i686 0:4.02-16.el6_5

Complete!
pqr57.us.company.com: / >
pqr57.us.company.com: / >


7.           Ensure the following contents in the ks.cfg file.

pqr57.us.company.com: / >
pqr57.us.company.com: / >
pqr57.us.company.com: / > cat /tftpboot/ks.cfg
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
nfs --server=192.168.100.175 --dir=/tftpboot/OEL6dot4/media
lang en_US.UTF-8
keyboard us
network --onboot yes --device 00:21:28:8e:0d:98 --bootproto static --ip 192.168.100.25 --netmask 255.255.255.0 --gateway 192.168.100.1 --noipv6 --hostname pxe-original
network --onboot no --device eth1 --bootproto dhcp --noipv6
network --onboot no --device eth2 --bootproto dhcp --noipv6
network --onboot no --device eth3 --bootproto dhcp --noipv6
network --onboot no --device eth4 --bootproto dhcp --noipv6
network --onboot no --device eth5 --bootproto dhcp --noipv6
rootpw  --iscrypted $6$jm/33wKyNVkcBuLl$5kNucLGKyYPsMR/mj3uvV0hO9RO4nVufmF/I/MBAJprCuNM9SwdGaWcAPuKrdfXfRcsUFluFIZNWuAuq/pQ4Q1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone America/Los_Angeles
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --all --drives=sda
#part /boot --fstype=ext4 --size=500
#part pv.008002 --grow --size=1
#volgroup vg_pqr57 --pesize=4096 pv.008002
#logvol /home --fstype=ext4 --name=lv_home --vgname=vg_pqr57 --grow --size=100
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_pqr57 --grow --size=1024 --maxsize=51200
#logvol swap --name=lv_swap --vgname=vg_pqr57 --grow --size=4096 --maxsize=4096

%packages
@base
@client-mgmt-tools
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
pax
python-dmidecode
oddjob
sgpio
device-mapper-persistent-data
samba-winbind
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end
pqr57.us.company.com: / >
pqr57.us.company.com: / >
pqr57.us.company.com: / >


That completes the installation and configuration on the PXE server.

Now to the client:

Reboot the client machine.  Press F2 to interrupt the Boot sequence and go to the BIOS Setup.  Under Boot Device Priority, ensure NET0 interface to be the primary device.  Save and Exit.  Reboot the client again.  The reboot should ensure that the client picks up the IP address from the PXE server, and the installation of Oracle Enterprise Linux goes through if the setup is working well.

No comments:

Post a Comment