PXE简绍

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

 

PXE启动原理

当计算机引导时,BIOS把 PXE Client调入内存中执行,然后由PXE Client将放置在远端的文件通过网络下载到本地运行。

 

若要搭建 PXE网络体系,必须要满足以下条件:

  • 客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导
  • 网络中有一台 DHCP 服务器,以便为客户机分配地址、指定引导文件位置服务器通过 TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载。 
 

工作过程

工作站开机后, PXE BootROM(自启动芯片) 获得控制权之前先做自我测试,然后 以广播形式发出一个请求 FIND 帧。 如果服务器收到工作站所送出的要求, 就会送回 DHCP 回应, 内容包括用户端的 IP 地址, 预设通讯通道, 及开机映像文件。否则,服务器会忽略这个要求。工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。 之后,将有更多的讯息在工作站与服务器之间作应答, 用以决定启动参数。 BootROM 由 TFTP通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。 工作站使用 TFTP 协 
议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动

 

搭建6系统的PXE远程安装服务器

PXE用桌面模式,配置DHCP,配置TFTP 
- 准备CentOS6安装源 
使用FTP服务,将安装源放至/var/ftp/centos6/目录下

 
  1. [root@localhost yum.repos.d]# mount /dev/sr0 /media/cdrom/
  2. mount: block device /dev/sr0 is write-protected, mounting read-only
  3. [root@localhost yum.repos.d]# cd ~
  4. [root@localhost ~]# mkdir -p /var/ftp/centos6
  5. [root@localhost ~]# cd /var/ftp/centos6/
  6. [root@localhost centos6]# cp -rp /media/cdrom/* . //将光盘源放入/var/ftp/centos6 中。不懂的研究FTP

  • 安装并启用TFTP服务
 
  1. [root@localhost centos6]# yum -y install tftp-server
  2. [root@localhost centos6]# vim /etc/xinetd.d/tftp

  1. root@localhost centos6]# /etc/init.d/xinetd start //启动服务
  2. 正在启动 xinetd: [确定]
  3. [root@localhost centos6]# chkconfig tftp on //开机自启动
  • 准备Linux内核,初始化镜像文件 

    1. 准备PXE引导程序,启动菜单文件
  1. [root@localhost isolinux]# yum -y install syslinux
  2. [root@localhost isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  3. [root@localhost isolinux]# ls /var/lib/tftpboot/
  4. initrd.img pxelinux.0 vmlinuz
  5. [root@localhost isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/
  6. [root@localhost isolinux]# ls /var/lib/tftpboot/
  7. initrd.img isolinux.cfg pxelinux.0 vmlinuz
  8. [root@localhost isolinux]# chmod 644 /var/lib/tftpboot/isolinux.cfg
  9. [root@localhost isolinux]# cd /var/lib/tftpboot/
  10. [root@localhost tftpboot]# vim isolinux.cfg //内核启动文件

  • 安装并启动DHCP服务
 
  1. [root@localhost tftpboot]# yum -y install dhcp
  2. [root@localhost tftpboot]# cd /etc/dhcp/
  3. [root@localhost dhcp]# ls
  4. dhclient.d dhcpd6.conf dhcpd.conf
  5. [root@localhost dhcp]# vim dhcpd.conf
  6. [root@localhost dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample .
  7. [root@localhost dhcp]# ls
  8. dhclient.d dhcpd6.conf dhcpd.conf dhcpd.conf.sample
  9. [root@localhost dhcp]# cat dhcpd.conf.sample > dhcpd.conf
  10. [root@localhost dhcp]# vim dhcpd.conf

  • 安装ftp
 
  1. [root@localhost dhcp]# yum -y install vsftpd
  2. [root@localhost dhcp]# /etc/init.d/vsftpd start
  3. 为 vsftpd 启动 vsftpd: [确定]

我用的是NAT模式所以必须关了NAT否则DHCP没用 
客户端安装ftp就可以,然后试一下可不可以链接 

  • 新建虚拟机进行试验 
    新建一个空机器 

然后就OK,就和正常装机一样了 

 

实现 kickstart

  • 创建应答文件
 
  1. [root@localhost ~]# yum -y install system-config-kickstart

  • 修改配置

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

  • 这就是自动装机,不过有一个地方会卡一下,现在我们解决

    1. [root@localhost ~]# vim /var/ftp/ks.cfg

     
    最好重启下服务再实验

PXE高效能批量网络装机的更多相关文章

  1. 项目(三)PXE高效能批量网络装机

    PXE:预启动执行环境 PXE是由intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统. 若要搭建PXE网 ...

  2. Linux系统——PXE高效能批量网络装机

    PXE:Pre-boot Excution Environment,预启动执行环境,石油Intel公司开发的网络引导技术,工作在Client.Server模式,允许客户机通过网络从远程服务器下载阴道镜 ...

  3. Linux网络服务第六章PXE高效能批量网络装机

    1.IP地址配置 2.关闭防火墙以及selinux状态如下 systemctl  stop     firewalld Iptables -F Setenforce 0 三.部署FTP服务 1.安装F ...

  4. 教你 PXE高效批量网络装机

    PXE高效批量网络装机一.PXE概述① PXE (Preboot eXcution Environment)② PXE批量部署的优点③ 服务端④ 客户端二.部署PXE远程安装服务搭建PXE远程安装服务 ...

  5. PXE高效批量网络装机

    PXE高效批量网络装机               一.PXE概述                1)PXE (Preboot eXcution Environment)               ...

  6. SqlBulkCopy高效能批量插入SQL SERVER

    what SqlBulkCopy是.NET提供的用来批量插入数据的一个类,特别是将内存中的数据一次性插入到数据库,目前只能插入到SQL SERVER数据库,数据源可以是DataTable.IDataR ...

  7. Linux 搭建批量网络装机

  8. 网络装机pxe服务器的配置过程

    网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...

  9. Linux shell编写脚本部署pxe网络装机

    Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

随机推荐

  1. 颠覆区块链的钱包——AngelToken钱包

    币圈的玩家/大佬们的刚需产品Angel token钱包您有吗?    当前由法国凡赛公司技术团队研发的去中心化AngelToken智能钱包,它兼容比特币底层技术系列币种,同时也兼容以太坊底层技术系列币 ...

  2. java读取各种类型文件

    用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...

  3. 最大流 USTC1280

    挺有意思的一题,最小路径之后最大流 /************************************************************** 作者:陈新 邮箱:cx2pirate ...

  4. Python 的第一个小程序

    F盘   新建文本文档 hello.txt 内容为: print("hello world! hello 2018!"); 打开CMD cd c:\                 ...

  5. asp.net webAPI POST方法的CORS跨域问题

    端口不同会判断为不同域 Method Not Allowed . web.config中设定·customHeaders 错误变化为 原因‘ post方法使用前会有一次OPTION方法的请求’ 解决: ...

  6. redis应用--HyperLogLog

    如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页每天的 UV 数据,然后让你来开发这个统计模块,你会如何实现? 如果统计 PV 那非常好办,给每个网页一个独立的 Redis 计数器 ...

  7. JavaWeb项目三要素

  8. windows2012的服务器远程桌面提示内部错误的问题解决方法

    一.问题表象 我们在OpenStack安装了windows server2012r2版本的虚拟机,在本地通过远程桌面连接时,输入账号密码后,提示连接断开或者内部错误的问题 二.解决办法 1)windo ...

  9. 2018-2019-2 20175224 实验一《Java开发环境的熟悉》实验报告

    实验报告封面 实验内容与步骤 Java开发环境的熟悉-1 1.建立“自己学号exp1”的目录 2.在“自己学号exp1”目录下建立src,bin等目录 3.javac.java的执行在“自己学号exp ...

  10. linux启动流程的理解

    1.bios 2.grub 选择 3.内核自解压vmlinux 4.内核引导的模式与变量(引导期内存分页映射)设置 #汇编级 5.内核内存再分页(内存空间映射),宏定义与设置,初始化consol,启动 ...