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. 实现过程

PXE高效批量网络装机_第1张图片

  • 网卡需要查找相关的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服务器

PXE高效批量网络装机_第2张图片

3. 配置TFTP服务器

PXE高效批量网络装机_第3张图片

4. 准备pxelinu.0文件

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

PXE高效批量网络装机_第4张图片

6. 手写配置文件

PXE高效批量网络装机_第5张图片

7. 准备yum仓库

PXE高效批量网络装机_第6张图片

8. 重启服务效验

PXE高效批量网络装机_第7张图片

9. 制作应答文件ks.cfg

PXE高效批量网络装机_第8张图片

PXE高效批量网络装机_第9张图片

PXE高效批量网络装机_第10张图片

PXE高效批量网络装机_第11张图片

PXE高效批量网络装机_第12张图片

PXE高效批量网络装机_第13张图片

PXE高效批量网络装机_第14张图片

PXE高效批量网络装机_第15张图片

PXE高效批量网络装机_第16张图片

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

PXE高效批量网络装机_第17张图片

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

PXE高效批量网络装机_第18张图片

PXE高效批量网络装机_第19张图片

12. 完整实验代码

yum install tftp-server.x86_64  dhcp syslinux vsftpd -y    
//安装软件    

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example   /etc/dhcp/dhcpd.conf    
//生成dhcp 配置文件

vim   /etc/dhcp/dhcpd.conf                       
//修改配置文件
subnet 192.168.91.0 netmask 255.255.255.0 {
  range 192.168.91.20 192.168.91.50;
  option routers 192.168.91.100;
  next-server 192.168.91.100;
  filename "pxelinux.0";
}


 
vim /etc/xinetd.d/tftp                                     
//修改  tftp  配置文件  将yes 改为no
disable                 = no


准备四大文件
pxelinu.0
cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/


准备内核  驱动文件  
mount  /dev/sr0    /mnt
cd /mnt/isolinux/
cp vmlinuz  initrd.img    /var/lib/tftpboot/


准备手写配置文件
cd  /var/lib/tftpboot/
mkdir pxelinux.cfg
vim  pxelinux.cfg/default
default linux
timeout 600

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

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


准备yum仓库
mkdir /var/ftp/centos7
mount /dev/sr0  /var/ftp/centos7/

systemctl start dhcpd
systemctl start tftp.socket
systemctl start vsftpd




准备应答文件 自动安装操作系统
yum install system-config-kickstart -y      
// 安装图形化界面  制作应答文件的工具


手动去添加应答文件过程  略


cd  /var/lib/tftpboot/
vim  pxelinux.cfg/default
default linux
timeout 600

   label  linux
          kernel vmlinuz
          append initrd=initrd.img   method=ftp://172.16.233.11/centos7  ks=ftp://172.16.233.11/centos7 

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

你可能感兴趣的:(网络,linux,运维,服务器)