其他分享
首页 > 其他分享> > PXE批量装机详细教程

PXE批量装机详细教程

作者:互联网

目录

一、PXE定义及条件

二、实验过程详解

三、搭建PXE远程安装服务器

1.添加双网卡,把第二网卡设为仅主机模式

2.虚拟机中设置第二网卡配置

3.安装dhcp并修改配置文件

4.安装并修改tftp服务

5.安装syslinux及ftp服务

6.创建一个虚拟机,不安装系统,充当客户机(设为仅主机模式)

四、实现Kickstart无人值守安装

1.安装图形化界面

2.设置kickstart

3.添加软件包

4.指明服务器位置

5.重新启动虚拟机


一、PXE定义及条件

定义:PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

pxe是通过网卡引导启动

1.1实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置

5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载

二、实验过程详解

1.网卡需要查找相关的dhcp服务器(获取地址时间)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

3.网卡使用tftp客户端吧引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

7.系统安装过程

三、搭建PXE远程安装服务器

1.添加双网卡,把第二网卡设为仅主机模式

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

2.虚拟机中设置第二网卡配置

[root@localhost pxelinux.cfg]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.85.100
NETMASK=255.255.255.0
GATEWAY=192.168.85.1
DNS1=114.114.114.114

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

3.安装dhcp并修改配置文件

[root@localhost ~]# yum install dhcp -y								//安装dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 12:dhcp-4.2.5-58.el7.centos.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y			    		//复制到/etc/dhcp/dhcpd.conf
[root@localhost ~]# cd /etc/dhcp
[root@localhost dhcp]# vim dhcpd.conf 						//修改配置文件

 27 subnet 192.168.85.0  netmask 255.255.255.0 {			//修改为第二网卡的网段
 28    range 192.168.85.10 192.168.85.120;					//分配ip的范围
 29    option routers 192.168.85.1;							//本网段的网关
 30    next-server 192.168.85.100;							//本台服务器的ip
 31    filename "pxelinux.0";								//指定文件夹名字
 32 }

在这里插入图片描述

4.安装并修改tftp服务

[root@localhost dhcp]# yum install tftp-server -y					//安装tftp服务
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 tftp-server-5.2-13.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost dhcp]# rpm -ql tftp-server				             //查询tftp配置文件位置
/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
[root@localhost dhcp]# vim /etc/xinetd.d/tftp						//修改tftp文件配置

  6 service tftp
  7 {
  8         socket_type             = dgram
  9         protocol                = udp
 10         wait                    = yes
 11         user                    = root
 12         server                  = /usr/sbin/in.tftpd
 13         server_args             = -s /var/lib/tftpboot
 14         disable                 = no                			//把yes改为no
 15         per_source              = 11
 16         cps                     = 100 2
 17         flags                   = IPv4
 18 }


在这里插入图片描述

5.安装syslinux及ftp服务

[root@localhost dhcp]# yum install syslinux -y					//安装syslinux
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 syslinux-4.05-13.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost dhcp]# yum install vsftpd -y					//安装ftp服务
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 vsftpd-3.0.2-22.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost dhcp]# cd /var/ftp								//进入文件夹/var/ftp下
[root@localhost ftp]# mkdir centos7								//添加挂载点
[root@localhost ftp]# mount /dev/sr0 centos7/					//挂载sr0
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# ls										//查看文件夹下所有文件
centos7  pub
[root@localhost ftp]# cd centos7/								//进入挂载点
[root@localhost centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost centos7]# cd images/
[root@localhost images]# cd pxeboot/							//进入文件夹pxeboot下
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
cp:是否覆盖"/var/lib/tftpboot/initrd.img"? y				//复制文件到/var/lib/tftpboot/
cp:是否覆盖"/var/lib/tftpboot/vmlinuz"? y
[root@localhost pxeboot]# cd /var/lib/tftpboot/				//进入文件夹/var/lib/tftpboot/
[root@localhost tftpboot]# mkdir pxelinux.cfg/				//创建文件pxelinux.cfg


[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default            //创建一个配置文件

default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.85.100/centos7 //ip指向服务器的ip地址
        
[root@localhost pxelinux.cfg]# systemctl stop firewalld.service    	//关闭防火墙
[root@localhost pxelinux.cfg]# systemctl start dhcpd				//启动dhcp
[root@localhost pxelinux.cfg]# systemctl start tftp					//启动tftp
[root@localhost pxelinux.cfg]# systemctl start vsftpd				//启动ftp
[root@localhost pxelinux.cfg]# setenforce 0

6.创建一个虚拟机,不安装系统,充当客户机(设为仅主机模式)

在这里插入图片描述

出现如图回车即可

在这里插入图片描述

四、实现Kickstart无人值守安装

1.安装图形化界面

[root@localhost pxelinux.cfg]# yum install system-config-kickstart -y   //安装图形化界面

在这里插入图片描述

2.设置kickstart

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

3.添加软件包

[root@localhost pxelinux.cfg]# cd /var/ftp					//进入文件夹/var/ftp
[root@localhost ftp]# ls
centos7  ks.cfg  pub
[root@localhost ftp]# vim ks.cfg							//修改配置文件
添加制式格式 复制软件包
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
kexec-tools

%end

4.指明服务器位置

[root@localhost ftp]# cd /var/lib/tftpboot/				//进入文件夹/var/lib/tftpboot/	
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default 				//修改配置文件

default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.85.100/centos7 ks=ftp://192.168.85.100/ks.cfg							//指明服务器位置

5.重新启动虚拟机

在这里插入图片描述

标签:ftp,教程,cfg,PXE,装机,dhcp,tftp,root,localhost
来源: https://blog.csdn.net/wulei_123456789/article/details/120851407