PXE介绍

    Preboot Excution Environment 预启动执行环境
    Intel公司研发
    基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统
    PXE可以引导和安装Windows,linux等多种操作系统

  

    所谓的PXE是Preboot Execution Environment的缩写,字面上的意思是开机前的执行环境。

    要达成PXE必须要有两个环节:

    (1)一个是客户端的网卡必须要支持PXE用户端功能,并且开机时选择从网卡启动,这样系统才会以网卡进入PXE客户端的程序;

    (2)一个是PXE服务器必须要提供至少含有DHCP以及TFTP的服务!

    (3)还要加上NFS/FTP/HTTP(选择一样即可)等提供安装文件

   

  PXE的工作原理

    (1) Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合      法 则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
      (2) Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探         Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
    (3) Client执行接收到的pxelinux.0文件
    (4) Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而       Client根据配置文件执行后续操作。
    (5) Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client
    (6) Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统
    (7) Client启动Linux内核
    (8) Client下载安装源文件,读取自动化安装脚本

  实验:PXE实现自动化安装系统

     安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

     安装软件包:

       yum install httpd
       yum install tftp-server

       yum install dhcp

       yum install syslinux

       yum install  system-config-kickstart

       yum install system-config-kickstart

   

  配置http服务

          创建挂载光盘的文件夹  

        mkdir /var/www/html/centos/7

       挂载
       mount /dev/sr0 /var/www/html/centos/7

       创建存放kickstart文件的目录,并将kickstart文件放入,应答文件的制作可以在【运维自动化之系统部署(一)博客中查看】

       mkdir /var/www/html/ks

       所有配置完成之后,启动服务

       systemctl enable httpd
       systemctl start httpd

         

配置DHCP服务

        cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf   模板文件覆盖源文件

        将配置文件修改:

          next-server 192.168.36.6  指的是tftp服务的地址

          filename "pxelinux.0";  客户端需要下载的引导文件的名称

        

       

配置TFTP服务

       启动

        systemctl start httpd
        systemctl enable httpd

      将需要提供的文件进行配置和修改

        TFTP提供下载的文件都存放在/var/lib/tftpboot目录下

        cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot  通过安装的syslinux包把里面的pxelinux.0引导文件复制到tftp目录下

        cp /usr/share/syslinux/menu.c32    /var/lib/tftpboot  简单的菜单风格

        cp /misc/cd/isolinux/vmlinuz  /var/lib/tftpboot/   将光盘下的内核复制到目录下

        cp /misc/cd/isolinux/initrd.img  /var/lib/tftpboot/  系统启动文件

        mkdir /var/lib/tftpboot/pxelinux.cfg/   建立pxelinux.cfg文件夹

        cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  将光盘下的带启动菜单的文件复制到/pxelinux.cfg下,并且改名为default

        vim /var/lib/tftpboot/pxelinux.cfg/default  修改启动菜单文件,

          menu.c32为菜单风格

          kernel 内核的路径

          可以把本地local 设为默认启动

        

     以上配置完成之后,就可以启动了

        选择网络引导 ,等待安装即可

        

    

      

      

运维自动化之系统部署 PXE(二)的更多相关文章

  1. 运维自动化之系统部署 cobbler(三)

    cobbler 介绍 Cobbler: 快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat.Fedora.CentOS.Debian.Ubuntu和SuSE,也可以支持网 ...

  2. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  3. 自动化运维工具——puppet详解(二)

    一.class 类 1)什么是类? 类是puppet中命名的代码模块,常用于定义一组通用目标的资源,可在puppet全局调用: 类可以被继承,也可以包含子类: 具体定义的语法如下: class NAM ...

  4. 自动化运维工具SaltStack详细部署【转】

    ==========================================================================================一.基础介绍==== ...

  5. 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客

    自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署

  6. 运维自动化之Cobbler系统安装详解

    原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...

  7. 运维自动化之SALTSTACK简单入门

    运维自动化之SaltStack简单入门 饱食终日而无所事事,是颓也,废也.但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣.故今日来缀一文以忏昨日之悔. Salt ...

  8. 魅族CMDB运维自动化实践

    一.简介 原创:梁鹏 本文是根据魅族系统架构师梁鹏10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日< 魅族CMDB运维自动化实践>演讲中的分享内容整理而成. ...

  9. Ansible 运维自动化 ( 配置管理工具 )

    背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...

随机推荐

  1. springmvc的ModelMap,前台取值

    利用 ${user.id}或者‘${user.id}’都是可以直接获取到的,不过前提是在jsp页面的script脚本中,而在引用的js文件中是不可以使用的,因为${}是jsp的el标签. 利用 ${u ...

  2. 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)

    LOJ 洛谷 最基本的思路同BZOJ2115 Xor,将图中所有环的异或和插入线性基,求一下线性基中数的异或最大值. 用bitset优化一下,暴力的复杂度是\(O(\frac{qmL^2}{w})\) ...

  3. Android应用程序后台加载数据

    从ContentProvider查询你需要显示的数据是比较耗时的.如果你在Activity中直接执行查询的操作,那么有可能导致Activity出现ANR的错误.即使没有发生ANR,用户也容易感知到一个 ...

  4. jquery for循环判断是否重复

    //使用for循环 判断是否有重名 var len=$("li").length;//获取页面中所有li的数量 for(var i=0; i<len; i++){ oldna ...

  5. Linux Supervisor的安装与使用入门

    在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...

  6. Java_图片切片

    package com.creditease.fetch.credit.util.similarity; import java.awt.image.BufferedImage; import jav ...

  7. python提取xml属性导入Mysql

    xml文档来自ganglia-gmond端telnet localhost 8649产生出来的文档,由于ganglia每隔一段时间就更新数据,为了永久保存数据到MySQL中,就用python写了最开始 ...

  8. Jmeter应用-接口测试

    1.BS架构应用性能 2.HTTP协议接口功能与性能 3.FTP协议接口功能与性能 4.Mysql数据库性能 5.MongoDB数据库性能 6.支持自定义Java组件开发 测试计划-右键-添加线程组 ...

  9. css样式兼容各个浏览器时的部分总结

    [本文基本是在网络转发过来的,网站就忘记了,这文本都是保存在自己电脑本地的,还有些自己添加了些内容,这内容还会有不断的完善和更行的] 什么是浏览器兼容:当我们使用不同的浏览器(Firefox IE7 ...

  10. Python自学知识点----Day02

    Linux基本操作命令: 命令                                    作用                                     英文释义 ls    ...