使用PXE+Kickstart实现无人值守安装Linux系统

啥是PXE?

所谓的PXE是Preboot Execution Environment的缩写,字面上的意思是开机前的执行环境。

要达成PXE必须要有两个环节:

(1)一个是客户端的网卡必须要支持PXE用户端功能,并且开机时选择从网卡启动,这样系统才会以网卡进入PXE客户端的程序;

(2)一个是PXE服务器必须要提供至少含有DHCP以及TFTP的服务!

且其中:

 · DHCP服务必须要能够提供客户端的网络参数,还要告知客户端TFTP所在的位置;

 · TFTP则提供客户端的boot loader及kernel file下载路径。

还要加上NFS/FTP/HTTP(选择一样即可)等提供安装文件(安装镜像的解压文件),才算是比较完整的PXE服务器。一般TFTP和DHCP服务都由同一台服务器提供,且大多数时候还提供NFS/FTP/HTTP服务,所以PXE服务器一般是提供3合一的服务。

使用PXE+Kickstart实现无人值守安装Linux系统_第1张图片

以上内容来自网站:骏马金龙

使用PXE+Kickstart实现无人值守安装Linux系统的原理与流程

1、客户端开机启动项设置为PXE,BIOS中通常已设置了该选项。 

2、客户端开机后,自动查找DHCP服务端,获取网络参数(IP地址、子网掩码等)。

3、客户端获取IP地址后,从tftp服务器下载文件pxelinux.0和default等其他文件。

4、根据default指定的vmlinuz,initrd.img启动系统内核并下载ks.cfg文件。 

5、根据ks.cfg的设置信息从服务器(http/ftp/nfs)上下载RPM包安装系统,此时该服务器为yum服务器。

实验准备:

Linux:  rhel-server-7.4-x86_64-dvd

VM:15.0.0-10134415

服务器 IP地址及掩码:192.168.10.1 255.255.255.0, 新建自定义网卡vm10仅主机模式。

客户端:硬件配置与服务器相同,网络连接模式:新建自定义网卡vm10仅主机模式。 

使用PXE+Kickstart实现无人值守安装Linux系统_第2张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第3张图片

为防止VMware Workstation自带的DHCP功能影响,先关闭vmnet10网卡自带的DHCP功能

使用PXE+Kickstart实现无人值守安装Linux系统_第4张图片

设置服务端的网卡为新建的vmnet10

使用PXE+Kickstart实现无人值守安装Linux系统_第5张图片

客户端如下配置后先不开机

ctrl+N新建虚拟机

使用PXE+Kickstart实现无人值守安装Linux系统_第6张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第7张图片

系统为linux-red hat,根据实际情况选择

使用PXE+Kickstart实现无人值守安装Linux系统_第8张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第9张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第10张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第11张图片

删除不需要的硬件

使用PXE+Kickstart实现无人值守安装Linux系统_第12张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第13张图片

服务端 

安装无人值守所需的所有程序 SYSLinux是Linux系统的引导程序,SYSLinux安装完成后,在/usr/share/syslinux目录中,会产生大量的 引导文件。

 yum -y install dhcp vsftpd xinetd tftp-server syslinux

这遍如果是用yum外源,则需要先连接nat网卡或者桥接,等待服务安装完成后再换回vmnet10仅主机网卡

使用PXE+Kickstart实现无人值守安装Linux系统_第14张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第15张图片

配置DHCP服务

 

设置ip地址192.168.10.254 

使用PXE+Kickstart实现无人值守安装Linux系统_第16张图片

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

编辑dhcp配置文件

vim /etc/dhcp/dhcpd.conf

输入如下内容

 

filename:用于指定DHCP客户端访问的文件名。 

pxelinux.0:PXE引导文件,可以解释default文件中的每个配置项,并根据配置项做出不同的反应。如等 待时间、启动器背景、启动菜单、内核引导等等

 

subnet 192.168.10.0 netmask 255.255.255.0{

range  192.168.10.100 192.168.10.200;

option routers 192.168.10.254;

option domain-name-servers 192.168.10.254;

option  broadcast-address 192.168.10.255;

default-lease-time 21600;

max-lease-time 43200;

next-server 192.168.10.254;

filename "pxelinux.0";

}

使用PXE+Kickstart实现无人值守安装Linux系统_第17张图片

重启DHCP服务

systemctl restart dhcpd  //如果报错就是命令写错了,回去对下

测试DHCP

 

随便再打开别的一台linux主机网卡设置为服务端同网卡vmnet10

使用PXE+Kickstart实现无人值守安装Linux系统_第18张图片

 

设置自动获取即可获取ip并ping网关可以ping通

使用PXE+Kickstart实现无人值守安装Linux系统_第19张图片

服务端配置TFTP服务

vim /etc/xinetd.d/tftp

将disable改为no

使用PXE+Kickstart实现无人值守安装Linux系统_第20张图片

重启服务

systemctl restart tftp

复制引导文件到tftp的主目录中

cd /var/lib/tftpboot/ 

cp /usr/share/syslinux/pxelinux.0 ./ 

查看cdrom挂载目录

我的red hat的cdrom镜像是挂载在 /run/media/root/RHEL-7.4 Server.x86_65 (centos挂载路径可能不同,自行df -h查看)

使用PXE+Kickstart实现无人值守安装Linux系统_第21张图片

cd /var/lib/tftpboot/ 

cp  /run/media/root/RHEL-7.4\ Server.x86_64/images/pxeboot/vmlinuz ./

cp /run/media/root/RHEL-7.4\ Server.x86_64/images/pxeboot/initrd.img ./ 

cp /run/media/root/RHEL-7.4\ Server.x86_64/isolinux/vesamenu.c32 ./ 

cp  /run/media/root/RHEL-7.4\ Server.x86_64/isolinux/boot.msg ./

mkdir pxelinux.cfg

cp /run/media/root/RHEL-7.4\ Server.x86_64/isolinux/isolinux.cfg pxelinux.cfg/default

使用PXE+Kickstart实现无人值守安装Linux系统_第22张图片

确保复制进去

image.png

vim pxelinux.cfg/default

把第1行default vesamenu.c32修改为default linux 

image.png

把第64行append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.4\x20Server.x86_64 rd.live.check quiet

修改为append initrd=initrd.img ks=ftp://192.168.10.254/ks.cfg

使用PXE+Kickstart实现无人值守安装Linux系统_第23张图片

复制应答文件模版(anaconda-ks.cfg)到ftp服务的主目录中并修改权限。

cd /var/ftp/

cp /root/anaconda-ks.cfg ks.cfg

chmod 644 ks.cfg

vim ks.cfg

image.png

把第7行cdrom修改为url --url="ftp://192.168.10.254/pub"

把第33行clearpart --none --initlabel修改为clearpart --all --initlabel(擦除系统上原有所有分区)

在第34行添加reboot(系统安装好后自动重启)

使用PXE+Kickstart实现无人值守安装Linux系统_第24张图片

挂载光驱(光驱可以同时挂载多个目录)

mount /dev/cdrom /var/ftp/pub/

image.png

重启dhcp、xinetd、ftp的服务进程并加入开机启动项。

systemctl restart dhcpd

systemctl enable dhcpd

systemctl restart xinetd 

systemctl enable xinetd

systemctl restart vsftpd 

systemctl enable vsftpd 

使用PXE+Kickstart实现无人值守安装Linux系统_第25张图片

设置防火墙和安全布尔值

firewall-cmd --permanent --add-service=tftp

firewall-cmd --permanent --add-service=ftp

firewall-cmd --reload

使用PXE+Kickstart实现无人值守安装Linux系统_第26张图片

setsebool -P ftpd_full_access=on

image.png

 

打开前面设置好的另一台虚拟机

使用PXE+Kickstart实现无人值守安装Linux系统_第27张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第28张图片

使用PXE+Kickstart实现无人值守安装Linux系统_第29张图片

 
 

你可能感兴趣的:(PXE+Kickstart,Linux,PXE+Kickstart,linux无人值守安装系统)