zoukankan      html  css  js  c++  java
  • 搭建PXE实现自动化安装系统

    一、PXE工作原理

    Ø  ClientPXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回ClientIP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client

    Ø  ClientPXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0

    Ø  Client执行接收到的pxelinux.0文件

    Ø  ClientTFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

    Ø  ClientTFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client

    Ø  ClientTFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统

    Ø  Client启动Linux内核

     Ø  Client下载安装源文件,读取自动化安装脚本

    二、CentOS 7搭建PXE自动化系统

    通过CentOS 7搭建的PXE自动化系统安装CentOS 7

    ²  安装前准备:关闭防火墙和SELINUXDHCP服务器静态IP

    ²  安装软件包

      # yum -y install httpd tftp-server dhcp syslinux system-config-kickstart

    ²  配置http文件共享服务:

      # systemctl enable httpd

      # systemctl start httpd

      # mkdir -p /var/www/html/centos/7

      # mount /dev/sr0 /var/www/html/centos/7    #挂载centos7安装光盘到httpd服务的目录

    ²  准备kickstart文件

      将centos7的ks文件放置于 /var/www/html/ks/centos7.cfg

    ²  配置tftp服务

      # systemctl enable tftp.socket

       # systemctl start tftp.socket

    ²  配置DHCP服务

      #vim /etc/dhcp/dhcpd.conf

      option domain-name "example.com";

      default-lease-time 600;

      max-lease-time 7200;

      subnet 192.168.100.0 netmask 255.255.255.0 {

        range 192.168.100.1 192.168.100.200;

        filename "pxelinux.0";

        next-server 192.168.100.100;

      }

      # systemctl enable dhcpd

       # systemctl start dhcpd

     

    ²  准备相关文件

      # yum -y install syslinux

      # mkdir /var/lib/tftpboot/pxelinux.cfg/

      # cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

      # cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

       # cp /var/www/html/centos/7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    ²  准备启动菜单

     # vim /var/lib/tftpboot/pxelinux.cfg/default

    default menu.c32

    timeout 600

    menu title PXE INSTALL MENU

    label auto

      menu label Auto Install CentOS 7

      kernel vmlinuz

      append initrd=initrd.img ks=http://192.168.100.100/ks/centos7.cfg

    label manual

      menu label Manual Install CentOS 7

      kernel vmlinuz

      append initrd=initrd.img inst.repo=http://192.168.100.100/centos/7

    label local

      menu default

      menu label ^Boot from local drive

       localboot 0xffff

  • 相关阅读:
    【第五年-创业路】
    【工具与解决方案】从做项目中积累学习
    【原理篇】人工智能
    【原理】分布式系统
    攻克Spring
    工具篇集锦
    最好用的JQuery插件集合以及组合拳
    设计模式 之状态模式
    设计模式 之组合模式
    设计模式之 封装算法
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11711487.html
Copyright © 2011-2022 走看看