• PXE高效批量网络装机


    目录

    一.PXE

    1. 系统装机的三种引导方式

    2. 系统安装过程

    3. 光盘安装相关文件

    4. PXE简介

    5. 实现过程

    6. PXE优点

    二.PXE实现过程

    1. 实验准备

    2. 搭建DHCP服务器

    3. 配置TFTP服务器

    4. 准备pxelinu.0文件

    5. 挂载镜像准备内核、驱动文件

    6. 手写配置文件

    7. 准备yum仓库

    8. 重启服务效验

    9. 制作应答文件ks.cfg

    10. 为ks.cfg文件添加启动路径

    11. 新建虚拟机效验自动化结果

    12. 完整实验代码


    一.PXE

    1. 系统装机的三种引导方式

    启动操作系统方式:

    • 1.硬盘
    • 2.光驱(u盘)
    • 3.网络启动(pxe)

    2. 系统安装过程

    • 加载boot loader

    • 加载启动安装菜单

    • 加载内核和initrd系统(文件才能使用文件)

    • 加载根系统

    • 运行anaconda的安装向导

    3. 光盘安装相关文件

    • boot.cat: 相当于grub的第一阶段

    • isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目

    • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

    • vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单

    • memtest:内存检测程序

    • splash.png:光盘启动菜单界面的背景图

    • vmlinuz:是内核映像

    • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)

    4. PXE简介

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

    pxe是通过网卡引导启动

    实现的硬件条件

    • BIOS支持
    • 网卡支持
    • 需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
    • 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址
    • 服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp协议,网卡自带这个功能(不支持其他的远程共享服务)

    5. 实现过程

    • 网卡需要查找相关的dhcp服务器(获取地址时间)
    • 找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
    • 网卡使用tftp客户端吧引导程序加载到内存中来
    • bios执行引导程序
    • 引导程序会去TFTP去查找配置文件
    • 根据配置文件去引导安装系统
    • 系统安装过程

    6. PXE优点

    规模化:同时装配多台服务器

    自动化:安装系统、配置各种服务

    远程实现:不需要光盘、U盘等安装介质

    二.PXE实现过程

    1. 实验准备

    准备一台虚拟服务器,当做DHCP、FTP、TFTP服务器,安装相应程序。

    yum install tftp-server.x86_64  dhcp syslinux vsftpd -y

    2. 搭建DHCP服务器

    3. 配置TFTP服务器

    4. 准备pxelinu.0文件

    5. 挂载镜像准备内核、驱动文件

    6. 手写配置文件

    7. 准备yum仓库

    8. 重启服务效验

    9. 制作应答文件ks.cfg

    10. 为ks.cfg文件添加启动路径

    11. 新建虚拟机效验自动化结果

    12. 完整实验代码

    1. yum install tftp-server.x86_64 dhcp syslinux vsftpd -y
    2. //安装软件
    3. cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    4. //生成dhcp 配置文件
    5. vim /etc/dhcp/dhcpd.conf
    6. //修改配置文件
    7. subnet 192.168.91.0 netmask 255.255.255.0 {
    8. range 192.168.91.20 192.168.91.50;
    9. option routers 192.168.91.100;
    10. next-server 192.168.91.100;
    11. filename "pxelinux.0";
    12. }
    13. vim /etc/xinetd.d/tftp
    14. //修改 tftp 配置文件 将yes 改为no
    15. disable = no
    16. 准备四大文件
    17. pxelinu.0
    18. cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    19. 准备内核 驱动文件
    20. mount /dev/sr0 /mnt
    21. cd /mnt/isolinux/
    22. cp vmlinuz initrd.img /var/lib/tftpboot/
    23. 准备手写配置文件
    24. cd /var/lib/tftpboot/
    25. mkdir pxelinux.cfg
    26. vim pxelinux.cfg/default
    27. default linux
    28. timeout 600
    29. label linux
    30. kernel vmlinuz
    31. append initrd=initrd.img method=ftp://172.16.233.11/centos7
    32. label linux text
    33. kernel vmlinuz
    34. append text initrd =initrd.img method=ftp://172.16.233.11/centos7
    35. 准备yum仓库
    36. mkdir /var/ftp/centos7
    37. mount /dev/sr0 /var/ftp/centos7/
    38. systemctl start dhcpd
    39. systemctl start tftp.socket
    40. systemctl start vsftpd
    41. 准备应答文件 自动安装操作系统
    42. yum install system-config-kickstart -y
    43. // 安装图形化界面 制作应答文件的工具
    44. 手动去添加应答文件过程 略
    45. cd /var/lib/tftpboot/
    46. vim pxelinux.cfg/default
    47. default linux
    48. timeout 600
    49. label linux
    50. kernel vmlinuz
    51. append initrd=initrd.img method=ftp://172.16.233.11/centos7 ks=ftp://172.16.233.11/centos7
    52. label linux text
    53. kernel vmlinuz
    54. append text initrd =initrd.img method=ftp://172.16.233.11/centos7

  • 相关阅读:
    Session 和 Cookie 使用
    AtomicInteger原理
    钟珊珊:被爆锤后的工程师会起飞|OneFlow U
    【无标题】
    MindSpore反向传播配置关键字参数
    赛后补题L - Non-Prime Factors
    手把手带你学python—牛客网python 机器学习 使用梯度下降对逻辑回归进行训练
    <图像处理> 图像插值算法
    【web-攻击会话管理】(4.3.1)会话令牌处理中的薄弱:在网络上泄露令牌、在日志中泄漏令牌
    面试复盘四
  • 原文地址:https://blog.csdn.net/qq_27349729/article/details/134483357