首页 > 其他分享 >PXE装机

PXE装机

时间:2024-05-07 17:22:18浏览次数:24  
标签:ftp initrd PXE 装机 var tftp root localhost

PXE(Preboot eXecution Environment)是一种用于在计算机启动时通过网络加载操作系统的技术。在Linux中,PXE通常用于设置网络引导服务器,以便在网络上的其他计算机上无需本地存储介质(如硬盘或USB驱动器)即可启动Linux操作系统。

系统装机的三种引导方式:

1.硬盘

2.光驱(u盘)

3.网络启动 pxe

pxe是通过网卡引导启动

pxe实现的硬件条件

1.BIOS支持

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

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

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

5.服务器通过 tftp服务(简单文件传输协议使用过UDP协议)来提供系统内核和引导镜像的下载(网卡自带tftp不支持其他的远程共享服务)

pxe搭建过程中使用的服务

  • TFTP(简单文件传输协议):内核和引导文件

  是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

  • vsftp:安装系统镜像文件获取方式

  安装系统镜像文件获取方式,可以使用http ftp等方式,ftp文件传输的一种。

  • syslinux:引导加载程序

  syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。

  • DHCP

pex实现

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

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

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

4.bios执行引导程序

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

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

 pxefu服务器搭建

安装tftp-server、vsftp、syslinux、dhcp

[root@localhost ~]# yum install tftp-server vsftpd syslinux dhcp -y 

 修改dhcp配置文件

分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址,指明tftp 服务器的地址

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost ~]# cp -a /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf subnet 192.168.146.0 netmask 255.255.255.0 { range 192.168.146.10 192.168.146.20; option routers 192.168.146.150; next-server 192.168.146.150;    #指定tftp的服务器地址 filename"pxelinux.0";      #指定启动文件  }

[root@localhost ~]# systemctl restart dhcpd

修改tftp配置文件

[root@localhost ~]# rpm -ql tftp-server 
/etc/xinetd.d/tftp

[root@localhost ~]# vim /etc/xinetd.d/tftp 
[root@localhost ~]# systemctl restart tftp.socket 

 将第14行disable yes改为no,开启tftp服务。

挂载软件安装源

通过挂载光盘到/var/ftp/centos7,可以将光盘上的CentOS 7安装文件以FTP方式提供给PXE客户端。这样,PXE客户端在引导时就可以通过FTP协议从服务器上获取所需的安装文件,而不是依赖于本地光驱。

[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7
mount: /dev/sr0 写保护,将以只读方式挂载

将四大文件拷入 (/var/lib/tftpboot )

  • initrd.img 

  • pxelinux.0  (类似grub)

  • pxelinux.cfg/default (手写) 

  • vmlinuz

将挂载到var/ftp/centos7下的initrd.img(初始化镜像文件)、vmlinuz(内核文件)复制到/var/lib/tftpboot

[root@localhost ~]# cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/

将syslinux中的pxelinux.0(PXE引导程序文件)复制到/var/lib/tftpboot

[root@localhost ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/   #拷贝到站点文件里

手写pxelinux.cfg/default到/var/lib/tftpboot

[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# vim pxelinux.cfg/default
default auto prompt 1 label auto  #auto进去后要敲回车,可以改为linux不需要回车 kernel vmlinuz append initrd=initrd.img method=ftp://192.168.146.150/centos7 label linux text kernel vmlinuz append text initrd =initrd.img method=ftp://192.168.146.150/centos7 label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.146.150/centos7

关闭防火墙开启服务

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start dhcpd vsftpd tftp

新建虚拟机

将内存改为至少2G,自动装机成功:

kickstart 无人值守安装

 CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用。

[root@localhost ~]# yum install system-config-kickstart -y
#安装图形化工具

进入图形化界面:

 回到xshell 添加配置文件

[root@localhost ftp]# vim /var/lib/tftpboot/pxelinux.cfg/default 

default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.146.150/centos7
ks=ftp://192.168.146.150/ks.cfg

label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.146.150/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.146.150/centos7

新建虚拟机,系统安装成功:

 

 

 

 

 

 

 

 

 

 

 

标签:ftp,initrd,PXE,装机,var,tftp,root,localhost
From: https://www.cnblogs.com/hxqwe/p/18177619

相关文章

  • PXE高效批量网络装机
    目录1.PXE概述2.部署PXE远程安装服务(1)安装并启用TFTP服务(2)安装并启用DHCP服务(3)准备Linux内核、初始化镜像文件(4)准备PXE引导程序(5)安装FTP服务,准备CentOS7安装源(6)配置启动菜单文件(7)验证PXE网络安装3.实现Kickstart无人值守安装(1)安装tftp-serverxinetddhcpvsftpd......
  • PXE批量安装服务器
    PXEPXE的全称是prebootexecuteenvironment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。pxe是通过网卡引导启动1.实现的硬件条件1.BIOS支持2.网卡支持(现在基本都已......
  • 记录一下给win+ubuntu双系统的ubuntu加装机械硬盘作为/home挂载的折腾过程
    由于我的双系统电脑是:1T固态的win11系统盘+4T的机械盘,1T的另一个单独固态作为Ubuntu的系统盘;其中/home大约是900G,跑程序的缘故,有点不太够用,因此,决定给Ubuntu加装一个4T的机械硬盘。经过调研,发现可以将新加装的机械硬盘单独作为/home挂载,这样就做到了数据和系统分离;参考的......
  • 7、yum 仓库服务与 PXE 网络装机
    1.部署yum软件仓库1.1.使用本地yum挂载umount/dev/sr0mount/dev/sr0/media/mkdir/root/yum.bakmv/etc/yum.repos.d/root/yum.bakvim/etc/yum.repos.d/test.repo[local-yum]#定义名称name=local-yum#定义使用的yumbaseurl=file:///media/#定义挂......
  • WDS+MDT网络启动自动部署windows(三)UEFI & BIOS 双PXE引导
    简介:我们可以通过调整启动文件来兼容不同的硬件(UEFI&BIOS),能否不手动调整呢?自动调整也是可以的。本来是是想将DHCP放在H3C5500上的,但是咨询过H3C的售前顾问后,没有任何一个型号支持这个功能,前面已经折腾过自动识别客户端类型,发送不同的启动文件了。为了更好的完成这个系列文章......
  • 折腾PXE网络启动 pxe 双引导bios&uefi模式 WDS windows deployment server
    简介:这才是最终章。折腾这么多,其实还是为了WDS。折腾TFTPD引导bios,是为了确认引导文件可以引导maxdos。折腾TFTPD引导uefi,也是为了确认可以引导grub。折腾OPENWRT双引导bios和UEFI,是为了确认DHCPoption93。现在我们有了可以双引导的TFTP-ROOT目录,虽然只有4个文件,这足够我......
  • 折腾PXE网络启动 pxe 双引导bios&uefi模式 OPENWRT
    简介:前两篇已经折腾了pxe引导bios和uefi,甭管启动的是啥,已经可以网络引导了。但是同时面对这两种系统的时候怎么办?需要通过dhcp的参数来控制谁启动什么。核心内容RFC4578:DynamicHostConfigurationProtocol(DHCP)OptionsfortheIntelPrebooteXecutionEnvironment(......
  • 折腾PXE网络启动 pxe 引导uefi模式 GRUB Shell (TFTPD64 OPENWRT)
    简介:上一篇折腾了maxdos,但是uefi是不支持dos的,openwrt的闪存又决定了只能启动命令行界面的系统,只有UEFIShell适合了。一:所需软件提取BOOTX64.EFIgrub4dos(chenall.net)这次下载grub4dos-for_UEFI下载以后,解压,只需要根目录BOOTX64.EFI文件。配置TFTP文件#创建一个文件夹......
  • Linux新系统装机一键配置
    最近经常帮人装双系统,每次都要搞很多配置,搜很多博客很麻烦,所以写一个随笔做个总结在desktop系统采用minimum安装完后修改系统时间timedatectlset-local-rtc1然后卸载snap为可选项。修改apt源图形化修改,在software&updates,选择阿里源安装一点工具sudoaptinstallbuil......
  • ubuntu server安装机房环境以及摄像头部署
    PS:客户安装环境是ubuntu的16.04.5LTS,一般客户都是centos7左右,所以单独写一篇文章本文所需的账号也是root,切换root账号是su需要所需附件的可以打赏后联系我查看ubuntu的版本传输文件到把文件传到/home/sk下安装node:cd/home/sk/tooltar-xvfnode-v8.11.3-lin......