批量装机环境 配置PXE引导 kickstart自动应答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量装机环境 配置PXE引导 kickstart自动应答相关的知识,希望对你有一定的参考价值。

 
    虚拟机A
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

    虚拟机B
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

    /etc/selinux/config (永久状态配置文件)

########################################################

    完成虚拟机访问外网    

1.在真机实现,桥设备的创建(br0)
[[email protected] /]# systemctl  status  NetworkManager(图形的)
[[email protected] /]# systemctl  status  network (命令行)
[[email protected] /]# systemctl  stop    NetworkManager(图形的)
[[email protected] /]# systemctl  status  network (命令行)

    vim /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0              #设备名
    TYPE=Bridge             #设备类型
    BOOTPROTO=none          #手工配置IP地址    
    ONBOOT=yes              #开机自起动
    IPADDR=172.40.50.114
    NETMASK=255.255.255.0
    GATEWAY=172.40.50.1

2.让真机的enp2s0真实网卡,连接br0,追加写入
    vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
        BRIDGE=br0


3.重起network

4.虚拟机有一张网卡,选择br0桥设备

######################################################

 部署DHCP服务器

? Dynamic Host Configuration Protocol
   – 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理

? 主要分配以下入网参数
   –IP地址/子网掩码/广播地址
     – 默认网关地址、DNS服务器地址
 
? DHCP地址分配的四次会话
 – DISCOVERY --> OFFER --> REQUEST -->ACK
 

 前提,虚拟机不要桥接真实网络

虚拟机A:
 1.装软件包 dhcp
 2.配置文件 /etc/dhcp/dhcpd.conf
[[email protected] /]# vim /etc/dhcp/dhcpd.conf
     :r  /usr/share/doc/dhcp*/dhcpd.conf.example  #读入其他文件

  subnet  192.168.4.0 netmask 255.255.255.0  {    #分配的网段
    range 192.168.4.100  192.168.4.200;       #分配的IP地址范围
    option domain-name-servers  8.8.8.8;      #分配DNS
    option routers  192.168.4.254;            #分配网关
    default-lease-time 600;                #IP地址默认租用时间
    max-lease-time 7200;                   #IP地址租用最大时间
   }

 3.起服务 dhcpd
[[email protected] /]# systemctl  restart   dhcpd
[[email protected] /]# systemctl  enable   dhcpd


#####################################################
虚拟机A上:

 杀死KVM虚拟化中的dnsmasq,dnsmasq会提供DHCP服务,会有冲突

[[email protected] /]# netstat -anptu | grep :67
 udp        0      0 0.0.0.0:67               0.0.0.0:*                           8051/dhcpd          
 udp        0      0 0.0.0.0:67              0.0.0.0:*                           2392/dnsmasq
       
[[email protected] /]# killall dnsmasq
[[email protected] /]# netstat -anptu | grep :67

########################################################
? PXE,Pre-boot eXecution Environment
  – 预启动执行环境,在操作系统之前运行
  – 可用于远程安装
? 工作模式
  – PXE client 集成在网卡的启动芯片中
    – 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

#######################################################

  PXE网络装机服务器

一、构建DHCP服务

1.指定下一个服务器IP的地址

[[email protected] /]# vim /etc/dhcp/dhcpd.conf

 subnet 192.168.4.0 netmask 255.255.255.0 {
   range 192.168.4.100 192.168.4.200;
   option domain-name-servers 8.8.8.8;
   option routers 192.168.4.254;
   default-lease-time 600;
   max-lease-time 7200;
   next-server 192.168.4.7;  #指定下一个服务器IP地址
   filename "pxelinux.0";   #指定网卡引导文件,文件名称
}

2.重起dhcpd服务
 

   pxelinux.0(网卡引导文件):安装说明书,二进制文件
   
      安装一个软件,就可以生成pxelinux.0
#####################################################
二、搭建TFTP服务

      TFTP:简单的文件传输协议     端口:69

           服务端程序:tftp-server

           服务名:tftp
           默认共享路径: /var/lib/tftpboot

  1.安装tftp-server
  2.启动tftp服务,并设置为开机自起
 
  3.部署pxelinux.0文件
  # yum   provides  */pxelinux.0    #查询仓库中哪一个包产生该文件
  # yum  -y install syslinux

  # rpm -ql syslinux                #查询软件包,安装清单

  # rpm -ql syslinux | grep pxelinux.0

  # cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/

  # ls /var/lib/tftpboot/
########################################################
  pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default

  4.部署default默认的菜单文件
  # mkdir  /var/lib/tftpboot/pxelinux.cfg

  # mount /dev/cdrom /mnt/

  # cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

  # chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

  5.部署 图形的模块 vesamenu.c32
  # ls /mnt/isolinux/

  # cp /mnt/isolinux/vesamenu.c32  /var/lib/tftpboot/

  # ls /var/lib/tftpboot/

   6.修改菜单文件/var/lib/tftpboot/pxelinux.cfg/default

  # vim  /var/lib/tftpboot/pxelinux.cfg/default
   ......
  11  menu title NSD1709 PXE Server !
   ......
  61  label linux
  62    menu label Install RHEL7
  63    kernel vmlinuz
  64    append initrd=initrd.img

   7.部署启动内核与驱动程序
  #cp /mnt/isolinux/initrd.img  /mnt/isolinux/vmlinuz  /var/lib/tftpboot/

  # ls /var/lib/tftpboot/

  initrd.img  pxelinux.cfg  vmlinuz
  pxelinux.0  vesamenu.c32

########################################################
    pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default
    default------》vesamenu.c32-----》vmlinuz、initrd.img
########################################################

 三、FTP服务,传输RPM包

  1.搭建vsftpd服务,共享光盘所有内容
  2.安装vsftpd软件
  3.设置vsftpd服务启动,设置为开机自起动
  4.共享光盘所有内容
 [[email protected] /]# mkdir /var/ftp/rhel7
 [[email protected] /]# mount /dev/cdrom   /var/ftp/rhel7

 [[email protected] /]# ls /var/ftp/rhel7

 [[email protected] /]# firefox  ftp://192.168.4.7/rhel7

##################################################
 四、无人值守安装,生成应答文件

    1.图形生成应答文件程序:system-config-kickstart

    2.运行图形程序:system-config-kickstart

    读取本地Yum仓库信息,要求Yum仓库客户端配置文件,仓库标识为

       [development]  
       

    3.运行图形程序:system-config-kickstart

  [[email protected] /]# ls  /root/ks.cfg
  [[email protected] /]# vim  /root/ks.cfg

     4.搭建vsftpd服务,共享应答文件

   [[email protected] /]# cp /root/ks.cfg  /var/ftp/
   [[email protected] /]# ls /var/ftp/

####################################################
  五、通过菜单指定ks.cfg应答文件

[[email protected] /]# vim  /var/lib/tftpboot/pxelinux.cfg/default

 61 label linux
 62   menu label Install RHEL7
 63   kernel vmlinuz
 64   append initrd=initrd.img  ks=ftp://192.168.4.7/ks.cfg


#######################################################
 总结:
       DHCP------>IP地址、next-server、filename
       tftp------>pxelinux.0、default
       default---->vesamenu.c32、vmlinuz、initrd.img、ks.cfg
       ks.cfg----> url="ftp://192.168.4.7/rhel7"

########################################################



以上是关于批量装机环境 配置PXE引导 kickstart自动应答的主要内容,如果未能解决你的问题,请参考以下文章

批量装机环境 配置PXE引导 kickstart自动应答

Day16 PXE批量装机环境(Services05)

PXE高效批量网络装机

PXE一键批量装机

PXE高效批量网络装机

PXE-kickstart无人值守批量装机