欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

运维自动化之系统部署 PXE(二)

程序员文章站 2023-04-05 21:34:07
PXE介绍 Preboot Excution Environment 预启动执行环境 Intel公司研发 基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统 PXE可以引导和安装Windows,linux等多种操作系统 所谓的PXE是P ......

 

  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的工作原理

运维自动化之系统部署 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";  客户端需要下载的引导文件的名称

        运维自动化之系统部署 PXE(二)

       

        配置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(二)

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

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

        运维自动化之系统部署 PXE(二)