Linux--PXE高效批量网络装机部署!

Posted handsomeboy-东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux--PXE高效批量网络装机部署!相关的知识,希望对你有一定的参考价值。

一、PXE概述

(Preboot execute environment,预启动执行环境,在操作系统之前运行)是由 Intel 公司开发的网络引导技术,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

二、PXE高效批量网络装机模拟部署

2.1设备准备:

  • 一台linux系统作为服务器,一台linux系统作为客户端

2.2基本步骤:

  • 在服务器上设置DHCP服务让其自动分配IP地址,提供tftp服务器IP地址,指引客户端去tftp服务器取得系统所需的引导文件
  • 设置tftp服务,提供引导程序的下载,提供内核文件及驱动文件,pxelinux.0(内核文件和驱动文件通过复制dentos7的光盘里的讷河和驱动文件,pxelinux.0通过yum下载)
  • 设置ftp服务,提供客户端一些软件包

2.3PXE安装部署

2.3.1设置DHCP

(1)准备一台linux系统作服务器,网络适配器为VMnet8

[root@handsomeboy1 ~]# systemctl stop firewalld.service 
[root@handsomeboy1 ~]# setenforce 0
[root@handsomeboy1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@handsomeboy1 ~]# systemctl restart network
[root@handsomeboy1 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.43.200  netmask 255.255.255.0  broadcast 192.168.43.255
        inet6 fe80::792f:d024:3150:cf1d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:39:c8:59  txqueuelen 1000  (Ethernet)
        RX packets 596057  bytes 853487321 (813.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 284198  bytes 17469492 (16.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0       

在这里插入图片描述

[root@handsomeboy1 ~]# yum install -y dhcp       
[root@handsomeboy1 ~]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@handsomeboy1 ~]# vim /etc/dhcp/dhcpd.conf 
[root@handsomeboy1 ~]# systemctl start dhcpd

在这里插入图片描述

2.3.2设置tftp

[root@handsomeboy1 ~]# yum install -y tftp-server.x86_64    //下载tftp服务
[root@handsomeboy1 ~]# rpm -ql tftp-server   
/etc/xinetd.d/tftp                      //配置文件
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd 
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot                         //tftp家目录
[root@handsomeboy1 ~]# yum install -y syslinux     //下载pxelinux.0它依赖于syslinux
[root@handsomeboy1 ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@handsomeboy1 ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot 
#### 将pxelinux.0放在tftp服务家目录下
[root@handsomeboy1 ~]# vim /etc/xinetd.d/tftp    //修改配置文件

在这里插入图片描述

[root@handsomeboy1 ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@handsomeboy1 ~]# cd /mnt
[root@handsomeboy1 mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@handsomeboy1 mnt]# cd images
[root@handsomeboy1 images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@handsomeboy1 images]# cd pxeboot
[root@handsomeboy1 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@handsomeboy1 pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
将光盘中的内核文件和驱动文件复制到tftp家目录中  
[root@handsomeboy1 pxeboot]# cd /var/lib/tftpboot
[root@handsomeboy1 tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@handsomeboy1 tftpboot]# yum install -y vsftpd    //下载ftp
[root@handsomeboy1 tftpboot]# mkdir /var/ftp/centos7     //在ftp家目录中创建一个目录用于挂载
[root@handsomeboy1 tftpboot]# cp -rf /mnt/* /var/ftp/centos7/
[root@handsomeboy1 centos7]# umount /mnt
[root@handsomeboy1 centos7]# mount /dev/sr0 /var/ftp/centos7
mount: /dev/sr0 写保护,将以只读方式挂载
[root@handsomeboy1 centos7]# cd /var/lib/tftpboot
[root@handsomeboy1 tftpboot]# mkdir pxelinux.cfg        //创建一个目录来放置开机菜单文件
[root@handsomeboy1 tftpboot]# cd pxelinux.cfg
[root@handsomeboy1 pxelinux.cfg]# vim default          //设置开机菜单文件
#### 这里有两种方式,第一中复制光盘中iso文件到default中,这种方式还要将光盘中isolinux
     底下的splash.png和vesamenu.c32复制到tftp家目录下,第二种方式自己手写default,这里
     先用第一种方式
[root@handsomeboy1 mnt]# cd /var/ftp/centos7
[root@handsomeboy1 centos7]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@handsomeboy1 centos7]# cd isolinux
[root@handsomeboy1 isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@handsomeboy1 isolinux]# cp -p splash.png vesamenu.c32 /var/lib/tftpboot
[root@handsomeboy1 isolinux]# cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 
[root@handsomeboy1 isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default 
[root@handsomeboy1 isolinux]# systemctl start dhcpd
[root@handsomeboy1 isolinux]# systemctl start vsftpd
[root@handsomeboy1 isolinux]# systemctl start tftp

在这里插入图片描述

2.3.3新建客户端测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4Kickstart无人值守安装

  • 创建好应答文件,预先定义好各自安装设置
  • 免去交互设置过程,实现全自动化安装
    在服务器上:
[root@handsomeboy1 isolinux]# yum install -y system-config-kickstart.noarch 
#### 安装无人装机技术

在这里插入图片描述

  • 第一步

在这里插入图片描述

  • 第二步
    在这里插入图片描述
  • 第三步
    在这里插入图片描述
  • 第四步
    在这里插入图片描述
  • 第五步
    在这里插入图片描述
  • 第六步
    在这里插入图片描述
  • 第七步
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

[root@handsomeboy1 ~]# cd /var/ftp 
[root@handsomeboy1 ftp]# ls
centos7  pub
[root@handsomeboy1 ftp]# cp ~/ks.cfg ./          //将文件复制到ftp家目录中  
[root@handsomeboy1 ftp]# ls
centos7  ks.cfg  pub
[root@handsomeboy1 ftp]# vim ks.cfg

在这里插入图片描述

[root@handsomeboy1 centos7]# cd /var/lib/tftpboot/pxelinux.cfg
[root@handsomeboy1 pxelinux.cfg]# vim default

在这里插入图片描述

[root@handsomeboy1 ftp]# systemctl restart dhcpd        //重启服务
[root@handsomeboy1 ftp]# systemctl restart vsftpd
[root@handsomeboy1 ftp]# systemctl restart tftp

在这里插入图片描述

以上是关于Linux--PXE高效批量网络装机部署!的主要内容,如果未能解决你的问题,请参考以下文章

效率太高! 批量装机用哪个? PXE高效批量网络装机

部署PXE高效批量网络装机并实现Kickstart无人值守自动安装

PXE高效批量网络装机

PXE高效批量网络装机实现Kickstart无人值守安装

PXE高效批量网络装机

PXE高效批量网络装机