首页 > 其他分享 >PXE一键装机

PXE一键装机

时间:2023-11-19 21:45:42浏览次数:24  
标签:ftp 一键 tftpboot PXE 装机 tftp root localhost usr

PXE一键装机

发邮件

[root@localhost ~]# echo "mial hello" | mail -s "test-6" [email protected]

修改qq邮箱的白名单

^ 表示高亮

裸机的内存必须2G以上,不然加载不了,会报错

pxelinux.cfg这个是文件夹,需要在该目录下创建vim default

PXE一键装机详细步骤

1. yum安装dhcp、tftp、sysllinux、vsftpd
软件名  dhcp	          服务名  dhcpd
软件名  tftp-server      服务名  tftp.socket
软件名  vsftpd           服务名  vsftpd
软件名  sysllinux  
# 安装软件
[root@localhost ~]# yum install -y dhcp  
[root@localhost ~]# yum install -y tftp-server.x86_64 
[root@localhost ~]# yum install -y vsftpd
[root@localhost ~]# yum install -y syslinux



2. 配置dhcp
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# cd /etc/dhcp
[root@localhost dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@localhost dhcp]# vim dhcpd.conf
# PXE一键装机
subnet 192.168.32.0 netmask 255.255.255.0 {
        # 地址池
        range 192.168.32.20 192.168.32.100;
        # 网关
        option routers 192.168.32.2;
        # 指明pxe的下一个服务器地址为tftp地址
        next-server 192.168.32.11;
        # 在tftp中找pxelinux.0这个文件
        filename "pxelinux.0";
}



3. 配置tftp
[root@localhost dhcp]# 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
[root@localhost dhcp]# vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no   # 默认是yes,改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}



4. 准备四大文件
# pxelinux.0、vmlinuz、initrd.img、pxelinux.cfg/default  放到tftp目录下

# pxelinux.0
[root@localhost dhcp]# 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
[root@localhost tftpboot]# cd /var/lib/tftpboot
[root@localhost tftpboot]# rpm -ql syslinux | grep linux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@localhost tftpboot]# ls
pxelinux.0


# 将光盘镜像中的内核(vmlinuz)、驱动(initrd.img)文件放到tftpboot目录下
[root@localhost tftpboot]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 40137576 5155184 34982392   13% /
devtmpfs                  917604       0   917604    0% /dev
tmpfs                     933524       0   933524    0% /dev/shm
tmpfs                     933524    9276   924248    1% /run
tmpfs                     933524       0   933524    0% /sys/fs/cgroup
/dev/mapper/centos-home 19593216   33052 19560164    1% /home
/dev/sda1                1038336  182372   855964   18% /boot
tmpfs                     186708       4   186704    1% /run/user/42
tmpfs                     186708      28   186680    1% /run/user/0
/dev/sr0                 4414592 4414592        0  100% /mnt
[root@localhost mnt]# cd /mnt/isolinux/
[root@localhost isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost isolinux]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost tftpboot]# 
// 目前已准备了三个文件,还剩一个isolinux.cfg需要自己手动写


# pxelinux.cfg/default
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pcelinux.cfg
[root@localhost pxelinux.cfg]# vim default
default linux
timeout 600

        #  标签
        label linux
                # 内核
                kernel vmlinuz
                # ftp,下面分隔符为tab键
                append initrd=initrd.img        method=ftp://192.168.32.11/centos7
                
                
# 使用ftp挂载yum仓库
[root@localhost tftpboot]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ls
centos7  pub
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 40137576 5200472 34937104   13% /
devtmpfs                  917604       0   917604    0% /dev
tmpfs                     933524       0   933524    0% /dev/shm
tmpfs                     933524    9368   924156    2% /run
tmpfs                     933524       0   933524    0% /sys/fs/cgroup
/dev/mapper/centos-home 19593216   33052 19560164    1% /home
/dev/sda1                1038336  182372   855964   18% /boot
tmpfs                     186708       4   186704    1% /run/user/42
tmpfs                     186708      28   186680    1% /run/user/0
/dev/sr0                 4414592 4414592        0  100% /mnt
[root@localhost ftp]# cd centos7/
[root@localhost 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@localhost centos7]# 


# 启动服务
[root@localhost tftpboot]# systemctl start dhcpd
[root@localhost tftpboot]# systemctl start tftp.socket
[root@localhost tftpboot]# systemctl start vsftpd
[root@localhost centos7]# ss -nl
// 查看dhcp(69)、tftp(67)、vsftp(21)端口是否开启



// 到这里已经完成了一半,可以开一台裸机查看结果
裸机
内存  必须2G及以上




5. 准备应答文件,自动安装操作系统
[root@localhost ~]# yum install -y system-config-kickstart   # 安装图形化工具,制作应答文件的工具

在“虚拟机” --> “应用程序” --> "系统工具" --> "kickstart"

kictstart图形化工具操作步骤

1. 基本配置

image-20231117195020928

2. 安装方法配置

image-20231117202050137

3. 引导装载程序配置

image-20231117195621402

4. 分区信息

image-20231117195938493

添加/boot分区,大小4G

image-20231117200203701

添加swap分区,swap大小=内存大小的2倍

image-20231117200636502

添加根分区,将剩余空间全部都给根分区

image-20231117200459910

分区信息完毕

image-20231117200910111

5. 防火墙配置

image-20231117201056235

6. 显示配置

不安装图形界面(init 5)

image-20231117201310139

7. 安装后脚本配置

image-20231117202412604

8. 保存文件

image-20231117202648779

保存路径为:/var/ftp/ks.cfg

image-20231117202830381

9. 继续修改服务端配置

# 查看ks.cfg 文件
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# ls
centos7  ks.cfg  pub
[root@localhost ftp]# 


# 修改/var/lib/tftpboot/pxelinux.cfg/default这个文件
[root@localhost ftp]# cd /var/lib/tftpboot/pxelinux.cfg
[root@localhost pxelinux.cfg]# ls
default
[root@localhost pxelinux.cfg]# vim default
default linux
timeout 600

        #  标签
        label linux
                # 内核
                kernel vmlinuz
                # ftp,tab键为分隔符
                append initrd=initrd.img        method=ftp://192.168.32.11/centos7      ks=ftp://192.168.32.11/ks.cfg
// 服务端配置 已全部完成,可以去裸机上自动安装操作系统了


# 启动服务
[root@localhost tftpboot]# systemctl start dhcpd
[root@localhost tftpboot]# systemctl start tftp.socket
[root@localhost tftpboot]# systemctl start vsftpd
[root@localhost centos7]# ss -nl
// 查看dhcp(69)、tftp(67)、vsftp(21)端口是否开启

报错

image-20231117165748273

pxelinux.cfg/default配置文件有问题

image-20231117191807834

dhcp获取IP地址有问题

image-20231117193027528

无法下载192.168.32.11/centos7里面的数据,有可能没有挂载

image-20231119202838852

tftp的四大文件有问题,发现pxelinux.cfg下面没有default这个文件

image-20231119203318377

vmliunz拼错了,vmlinuz

标签:ftp,一键,tftpboot,PXE,装机,tftp,root,localhost,usr
From: https://www.cnblogs.com/wuyao-bk/p/17842728.html

相关文章

  • PXE——高效批量网络装机
    什么是pxe?通过网络来引导安装操作系统网卡启动要和光盘启动拥有差不多的环境vmlinuz内核initrd.img驱动isolinux.cfg需要手写引导配置文件网络引导grub程序syslinux(软件集合)pxe原理: pxe实验1、环境准备:需要安装四个服务dhcptftpvsftpsyslinux2、关闭机器......
  • 生产力-准备篇-1、自己动手装机
    原来的笔记本电脑性能不太行了,趁着JD搞活动,自己组装了1台AMD芯片的台式机,具体配置如下:CPU:AMD7700X,淘宝入手,盒装1819内存:金百达银爵C32DDR56400,1277.85硬盘:TiPlus7100 1TB,409,自己加装了1块1TB的2.5寸SATA存数据主板:华硕TUFGAMINGB650M-PLUSWIFI,1196.75机箱:乔思伯(J......
  • Apipost 推出IDEA插件一键生成API文档
    今天给大家推荐一款IDEA插件:Apipost-Helper-2.0,写完代码IDEA内一键生成API文档,无需安装、打开任何其他软件;写完代码IDEA内一键调试,无需安装、打开任何其他软件;生成API目录树,双击即可快速定位API定义的代码…非常好用!而且完全免费!在IDEA编辑器插件中心输入Apipost搜索安装:Apipost-......
  • Apipost 推出IDEA插件一键生成API文档
    今天给大家推荐一款IDEA插件:Apipost-Helper-2.0,写完代码IDEA内一键生成API文档,无需安装、打开任何其他软件;写完代码IDEA内一键调试,无需安装、打开任何其他软件;生成API目录树,双击即可快速定位API定义的代码…非常好用!而且完全免费!在IDEA编辑器插件中心输入Apipost搜索安装:Apipost......
  • 一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)
    我们知道Python是一门解释型语言,项目运行时需要依赖Python解释器,并且有时候需要安装项目中对应的三方依赖库。对于专业的Python开发者来说,可以直接通过pip命令进行安装即可。但是如果是分发给其他的Windows用户,特别是不熟悉Python的人来说,这样过于繁琐。因此最好的办法是连同Pytho......
  • 苏宁API:一键搜索,海量商品任你选!
    使用苏宁API按关键字搜索商品,可以在API的搜索参数中设置关键字。例如,在搜索商品时,可以在API的请求参数中设置q=关键字。例如,要搜索“鞋子”,可以将q设置为“鞋子”。另外,还可以设置其他的搜索参数,例如start_price和end_price可以设置价格范围,cat可以设置商品分类ID,sort可以设置排序......
  • 用电子签章软件怎么给标书一键签章的小故事
    在这个数字化时代,电子签章已经成为了商务往来的重要一环。作为国内电子签章软件的佼佼者,微签凭借其19年的电子签研发应用经验,为中小企业提供了安全可靠的电子签章软件服务。从审批场景到合同签署,微签都展现出卓越的电子签章实力。通过严格的安全措施和高效的签署流程,为企业带来无忧......
  • 告别繁琐,ModelArts一键解决车牌号识别难题
    本文分享自华为云社区《基于ModelArts实现车辆车牌号的目标识别》,作者:屿山岛。前言车辆车牌是车辆的唯一身份标识,能够提供车辆的类型、颜色、归属地等信息,对于交通管理、安全监控、智能出行等领域具有重要的应用价值。随着计算机视觉技术的发展,车辆车牌的自动检测和识别成为了......
  • 免费的fast request,还能一键生成文档的idea插件
    01.UI焕新升级新版本对之前“简陋”的UI界面做了升级,好看又好用~没有对比就没有伤害,如                  02.发送记录查看点击左下角发送界面按钮,可查看接口的发送记录和发送03.新增保存、查看保存记录调试接口时某些接口返回数据需要......
  • 装机不再无聊了:Win11首次开机添加“冲浪”小游戏
    为了让大家装机过程不再无聊,微软居然在Win11的开机中加入了一个小游戏。据TheVerge报道,微软SurfaceLaptopStudio2首次开机配置时,如果有需要用户等待的流程,就弹出一个游戏窗口,点击就能直接玩小游戏。这个小游戏很多人并不陌生,早在2020年,微软便向基于Chromium内核的Edge浏览器......