ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PXE批量装机详细教程

2021-10-19 18:06:06  阅读:245  来源: 互联网

标签:ftp 教程 cfg PXE 装机 dhcp tftp root localhost


目录

一、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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有