• pxe+kickstart无人值守装机


    pxe+kickstart无人值守装机

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

    主要分配以下入网参数

    — IP地址/子网掩码/广播地址

    — 默认网关地址、DNS服务器地址

    — PXE引导设置(TFTP服务器地址、引导文件名)

    DHCP地址分配的四次会话 DISCOVERY - OFFER - REQUEST - ACK

    服务端基本概念 租期:允许客户机组用IP地址的时间期限,单位为秒

                              作用域:分配给客户机的IP地址所在网段

                              地址池:用来动态分配的IP地址范围

    网络装机的优势

    规模化:同时装配多台主机 ;自动化:装系统,配置各种服务 ;远程实现:不需要光盘、U盘等物理介质

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

    PXE需要用到的服务及组件

    DHCP 服务,用于分配IP地址,定位引导程序

    TFTP (简单文件传出协议)服务,提供引导程序下载

    HTTP 服务(或FTP/NFS),提供yum安装源

    客户端应具备的条件

    — 网卡芯片必须支持PXE协议

    — 主板支持从网卡启动

    关闭防火墙
    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    关闭内核
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# vim /etc/selinux/config

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of three two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted 


    挂载   配置yum源
    [root@localhost ~]# mkdir /mnt/centos
    [root@localhost ~]# mount /dev/cdrom /mnt/centos
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ls
    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
    [root@localhost yum.repos.d]# rm -rf *.repo
    [root@localhost yum.repos.d]# ls
    [root@localhost yum.repos.d]# vim /etc/yum.repos.d/local.repo
    [local]
    name=local_centos
    baseurl=file:///mnt/centos
    enabled=1
    gpgcheck=0
    [root@localhost yum.repos.d]# echo '/dev/cdrom /mnt/centos iso9660 defaults 0 0' >> /etc/fstab
    [root@localhost yum.repos.d]# mount -a
    [root@localhost yum.repos.d]# yum clean all
    [root@localhost yum.repos.d]# yum makecache 
    [root@localhost yum.repos.d]# yum repolist
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    源标识                            源名称                                   状态
    local                             local_centos                             3,971
    repolist: 3,971

    安装dhcp
    [root@localhost yum.repos.d]# yum -y install dhcp
    [root@localhost yum.repos.d]# vim /etc/dhcp/dhcpd.conf

    esc:r /usr/share/doc/dhcp*/dhcpd.conf.example   #  复制出配置文件

        subnet 192.168.70.0 netmask 255.255.255.0 {     #设置网段   及子网掩码
        range 192.168.70.60 192.168.70.120;                #设置IP地址区间  
        option domain-name-servers 192.168.70.50;      #本机IP地址
        option routers 192.168.70.254;                                 #路由IP地址
        default-lease-time 600;                                        
        max-lease-time 7200;
     }

    激活dhcp
    [root@localhost yum.repos.d]# systemctl start dhcpd


    安装tftp

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

    软件包:tftp-server 服务名:tftp

    默认共享路径:/var/lib/tftpboot
    [root@localhost yum.repos.d]#  yum -y install tftp-server.x86_64 
                                                  
    [root@localhost yum.repos.d]# vim /etc/dhcp/dhcpd.conf 

        next-server 192.168.70.50;   #添加 tftp IP地址
        filename "pxelinux.0";           #制定引导文件名

    启动dhcp   tftp
    [root@localhost yum.repos.d]# systemctl restart dhcpd
    [root@localhost yum.repos.d]# systemctl restart tftp
    [root@localhost yum.repos.d]# systemctl status tftp
    查找共享文件 路径
    [root@localhost yum.repos.d]# rpm -ql tftp-server 
    /var/lib/tftpboot

    安装syslinux
    [root@localhost yum.repos.d]# yum -y install syslinux

    查找pxelinux.0 引导文件  路径
    [root@localhost yum.repos.d]# rpm -ql syslinux | grep pxelinux.0
    /usr/share/syslinux/gpxelinux.0
    /usr/share/syslinux/pxelinux.0

    将pxelinux.0 复制粘贴到共享文件夹
    [root@localhost yum.repos.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    [root@localhost yum.repos.d]#  ls /var/lib/tftpboot/
    pxelinux.0

    查看关在系统文件  并且复制到共享文件

    vesamenu.c32   图形模块
    vmlinuz   启动内核文件
    splash.png   菜单背景图片
    isolinux.cfg  菜单文件(拷贝菜单文件并重新命名)
    initrd.img     驱动程序文件

    [root@localhost yum.repos.d]# cd /mnt/centos/
    [root@localhost centos]# ls  
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL
    [root@localhost centos]# cd isolinux/                         cd /images  内也有vmlinuz  initrd.img
    [root@localhost isolinux]# ls
    boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
    boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
    [root@localhost isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
    [root@localhost isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    [root@localhost isolinux]# cp {vmlinuz,splash.png,vesamenu.c32,initrd.img} /var/lib/tftpboot
    [root@localhost isolinux]# ls /var/lib/tftpboot/
    initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz


    修改菜单文件
    [root@localhost isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default
    default vesamenu.c32
    timeout 60    #开机时间倒计时

    label linux
      menu label ^Install CentOS 7
      kernel vmlinuz
      append initrd=initrd.img # 后面删除
      
    #以下全部删除


    重启tftp  dhcp
    [root@localhost isolinux]# systemctl restart tftp
    [root@localhost isolinux]# systemctl restart dhcpd


    安装httpd

     创建共享目录  mkdir /var/www/html/centos
    [root@localhost isolinux]# yum -y install httpd
    启动httpd   设置开机自启
    [root@localhost isolinux]# systemctl restart httpd
    [root@localhost isolinux]# systemctl enable httpd

    新建共享目录
    [root@localhost isolinux]# mkdir /var/www/html/centos

    挂载镜像内容
    [root@localhost isolinux]# mount /dev/cdrom/ /var/www/html/centos
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost isolinux]# ls /var/www/html/centos
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL

    安装部署应答文件   无人值守安装
    [root@localhost isolinux]# yum -y install system-centos-kickstart


    [root@localhost isolinux]# vim /etc/yum.repos.d/local.repo 
    [development]    修改仓库标识
    name=local_centos
    baseurl=file:///mnt/centos
    enabled=1
    gpgcheck=0
     
    图形生成应答文件工具
    [root@localhost isolinux]# system-config-kickstart

     http目录   /var/www/html/centos

    制定http服务

     

    添加4个基本分区

    /boot 分 500M

    /swap 分 4096M

    /home 分 4096M

    剩余的全给 / ,选择下面 使用磁盘上全部未用空间 这一项

     

    centos7 网卡名称

     

     系统安装基本功能   其余可在装机后安装

     

    文件保存到  /var/www/html/

    [root@localhost isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default 
    label linux
      menu label ^Install CentOS 7
      menu default  读秒结束默认选择安装
      kernel vmlinuz
      append initrd=initrd.img ks=http://192.168.70.50/ks.cfg  #指定应答文件位置


    重启文件 
    [root@localhost isolinux]# systemctl restart tftp
    [root@localhost isolinux]#  systemctl restart dhcpd

    安装系统

    新建虚拟机

  • 相关阅读:
    Linux入侵排查
    USACO Training 1.4 Mixing Milk
    【微积分】算法数学基础之微积分
    多线程_线程状态
    解决 VMware Network Adapter VMnet1 IP 地址冲突导致无法打开路由器管理页面
    【概率论基础进阶】多维随机变量及其分布-二维随机变量及其分布
    【RegNet】《Designing Network Design Spaces》
    智慧幼儿园信息管理系统的设计与实现
    LeetCode每日一题——1704. 判断字符串的两半是否相似
    iOS技术博主指南:填写苹果应用上架中的隐私政策信息
  • 原文地址:https://blog.csdn.net/weixin_45861372/article/details/126823853