• 十六.部署PXE网络装机


    PXE组件及过程分析
    • 需要哪些服务组件?
    – DHCP服务,分配IP地址、定位引导程序
    – TFTP服务,提供引导程序下载
    – HTTP服务,提供yum安装源
    • 客户机应具备的条件
    – 网卡芯片必须支持PXE协议
    – 主板支持从网卡启动
     
    1.部署DHCP服务器
    • Dynamic Host Configuration Protocol
    – 动态主机配置协议,由 IETF(Internet 网络工程师任
    务小组)组织制定,用来简化主机地址分配管理
     
    • 主要分配以下入网参数
    – IP地址/子网掩码/广播地址
    – 默认网关地址、DNS服务器地址
     
    • DHCP地址分配的四次会话(广播进行,先到先得)
    – DISCOVERY --> OFFER --> REQUEST -->ACK
    在一个网络中,只能有一个DHCP服务器
    • 服务端基本概念
    – 租期:允许客户机租用IP地址的时间期限,单位为秒
    – 作用域:分配给客户机的IP地址所在的网段
    – 地址池:用来动态分配的IP地址的范围
     
    pc7:
    1.1 安装dhcp软件包
    1.2 修改配置文件 /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;
      option domain-name-servers 192.168.4.7;
      option routers 192.168.4.254;
      default-lease-time 600;
      max-lease-time 7200;
    }
    1.3 重起服务
    ]# systemctl restart dhcpd
    1.4 添加网络装机配置
    ]# vim /etc/dhcp/dhcpd.conf
       ..........
      next-server 192.168.4.7; #指定下一个服务器IP地址
      filename "pxelinux.0";   #指定网卡引导文件名称
    }
    ]# systemctl restart dhcpd
     pxelinux.0:网络装机说明书  二进制文件
     安装一个软件可以获得,默认名字pxelinux.0络装机配置
     
    2.部署tftp服务
      tftp:简单的文件传输协议  默认端口:69
       默认共享的路径:/var/lib/tftpboot
    2.1 安装软件包
    ]# yum -y install tftp-server
    ]# systemctl restart tftp
    ]# systemctl enable tftp
    2.2 部署pxelinux.0文件
    ]# yum -y install syslinux
    ]# yum provides */pxelinux.0
    匹配来源:
    文件名 :/usr/share/syslinux/pxelinux.0
    ]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    ]# ls /var/lib/tftpboot/
    pxelinux.0
    2.3 部署菜单文件
    ]# mkdir /var/lib/tftpboot/pxelinux.cfg
    ]# ls /var/lib/tftpboot/
    pxelinux.0  pxelinux.cfg
    ]# mount /dev/cdrom /mnt
    ]# ls /mnt/isolinux/
    boot.cat grub.conf isolinux.bin memtest TRANS.TBL vesamenu.c32
    boot.msg initrd.img isolinux.cfg splash.png upgrade.img vmlinuz
    ]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    ]# ls -l /var/lib/tftpboot/pxelinux.cfg/default
    -r--r--r-- 1 root root 3166 1月  29 08:52 /var/lib/tftpboot/pxelinux.cfg/default
    ]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
    ]# ls -l /var/lib/tftpboot/pxelinux.cfg/default
    -rw-r--r-- 1 root root 3166 1月  29 08:52 /var/lib/tftpboot/pxelinux.cfg/default
    2.4 部署 图形的模块 与 背景图片
    ]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
    ]# ls /var/lib/tftpboot/
    pxelinux.0 pxelinux.cfg splash.png vesamenu.c32
    2.5 部署 启动内核 与 驱动程序
    vmlinuz 启动内核 initrd.img 驱动程序
    ]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
    ]# ls /var/lib/tftpboot/
    initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz
    2.6 修改菜单文件
    ]# vim /var/lib/tftpboot/pxelinux.cfg/default
    开启行号功能  :set  nu
    1 default vesamenu.c32   #默认加载图形模块
    2 timeout 60             #读秒时间   1/10 秒
    .......
    9 menu background splash.png       #设置背景图片
    10 menu title Test PXE Server ! #修改标题
     .......
    60 label linux
    61 menu label Install RHEL7     #菜单内容
         menu default                 #读秒结束默认选择
    62 kernel vmlinuz               #指定内核程序
    63 append initrd=initrd.img     #指定驱动程序
    2.7 验证:
     新建一台虚拟机
     安装系统方式:PXE网络引导安装
     网络类型选择为:private1
     
    3.部署Web服务器,共享光盘所有内容
    ]# yum -y install httpd
    ]# mkdir /var/www/html/rhel7
    ]# mount /dev/cdrom /var/www/html/rhel7
    ]# ls /var/www/html/rhel7
    ]# systemctl restart httpd
    ]# firefox 192.168.4.7/rhel7
     
    4. 部署无人值守安装,生成应答文件
    通过 system-config-kickstart 图形的工具生成应答文件
    ]# yum -y install system-config-kickstart
    必须要求系统光盘的Yum仓库标识为 [development]
    vim /etc/yum.repos.d/*.repo 
    [development]
    ...
    ]# system-config-kickstart  #运行
    首选查看  软件包选择  是否可以使用
    4.1 将文件生成在/root/下
    ]# ls ks.cfg 
    ks.cfg
    4.2 使用http共享应答文件
    ]# cp /root/ks.cfg /var/www/html/
    ]# ls /var/www/html/
    ks.cfg rhel7
    4.3 通过菜单文件,指定应答文件
    ]# vim /var/lib/tftpboot/pxelinux.cfg/default 
    .......
    label linux
     menu label Install RHEL7
     menu default
     kernel vmlinuz
     append initrd=initrd.img  ks=http://192.168.4.7/ks.cfg
    #################################
    总结:
    1.dhcp服务-->IP地址  next-server pxelinux.0
    2.tftp-->pxelinux.0
    3.pxelinux.0-->菜单文件
    4.菜单文件-->vesamenu.c32 vmlinuz initrd.img ks文件
    5.ks文件-->--url="http://192.168.4.7/rhel7"

    *****************************************
     配置kickstat:
     
  • 相关阅读:
    线程的补充
    线程
    进程
    操作系统和进程
    socketserver模块实现并发和连接合法性验证
    socketserver实例化过程
    粘包现象和解决方法
    网络通信协议
    初探网络
    Python网络编程
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10482093.html
Copyright © 2020-2023  润新知