zoukankan      html  css  js  c++  java
  • Linux基础学习-使用PXE+Kickstart无人值守安装服务

    无人值守安装系统

    PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人机值守安装系统中引导客户端主机安装Linux操作系统.

    主机名称 操作系统 IP地址
    无人值守系统 RHEL7 192.168.56.25
    客户端主机 未安装操作系统 -

    部署DHCP服务程序

    [root@mail ~]# yum install dhcp -y
    [root@mail ~]# vim /etc/dhcp/dhcpd.conf 
    allow booting;
    allow bootp;
    ddns-update-style interim;
    ignore client-updates;
    subnet 192.168.56.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.56.25;
    range dynamic-bootp 192.168.56.100 192.168.56.200;
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 192.168.56.25;
    filename "pxelinux.0";
    }
    
    

    配置TFTP服务程序

    [root@mail ~]# yum install tftp-server -y
    [root@mail ~]# vim /etc/xinetd.d/tftp 
    service tftp
    {
            socket_type             = dgram
            protocol                = udp
            wait                    = yes
            user                    = root
            server                  = /usr/sbin/in.tftpd
            server_args             = -s /var/lib/tftpboot
            disable                 = no //yes改为no
            per_source              = 11
            cps                     = 100 2
            flags                   = IPv4
    }
    
    [root@mail ~]# firewall-cmd --permanent --add-port=69/udp
    success
    [root@mail ~]# firewall-cmd --reload
    success
    
    

    配置syslinux服务程序

    [root@mail ~]# yum install syslinux -y
    
    [root@mail ~]# cd /var/lib/tftpboot/
    
    [root@mail tftpboot]# cp /usr/share/syslinux/
    altmbr.bin          gptmbr_c.bin        isolinux.bin        pwd.c32
    altmbr_c.bin        gptmbr_f.bin        isolinux-debug.bin  pxechain.com
    altmbr_f.bin        gpxecmd.c32         kbdmap.c32          pxelinux.0
    cat.c32             gpxelinux.0         linux.c32           reboot.c32
    chain.c32           gpxelinuxk.0        ls.c32              rosh.c32
    cmd.c32             hdt.c32             lua.c32             sanboot.c32
    config.c32          host.c32            mboot.c32           sdi.c32
    cpuid.c32           ifcpu64.c32         mbr.bin             sysdump.c32
    cpuidtest.c32       ifcpu.c32           mbr_c.bin           syslinux64.exe
    diag/               ifplop.c32          mbr_f.bin           syslinux.com
    disk.c32            int18.com           memdisk             syslinux.exe
    dmitest.c32         isohdpfx.bin        memdump.com         ver.com
    dosutil/            isohdpfx_c.bin      meminfo.c32         vesainfo.c32
    elf.c32             isohdpfx_f.bin      menu.c32            vesamenu.c32
    ethersel.c32        isohdppx.bin        pcitest.c32         vpdtest.c32
    gfxboot.c32         isohdppx_c.bin      pmload.c32          whichsys.c32
    gptmbr.bin          isohdppx_f.bin      poweroff.com        zzjson.c32
    [root@mail tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
    [root@mail tftpboot]# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} .
    [root@mail tftpboot]# cp /mnt/isolinux/{vesamenu.c32,boot.msg} .
    [root@mail tftpboot]# ls
    boot.msg  initrd.img  pxelinux.0  vesamenu.c32  vmlinuz
    [root@mail tftpboot]# mkdir pxelinux.cfg
    [root@mail tftpboot]# cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default
    [root@mail tftpboot]# vim pxelinux.cfg/default 
    
    1 default linux
    
    64   append initrd=initrd.img inst.stage2=ftp://192.168.56.25 ks=ftp://192.168.56.25/pub/ks.cfg quiet
    
    

    配置vsftpd服务程序

    [root@mail tftpboot]# yum install vsftpd -y
    [root@mail tftpboot]# systemctl restart vsftpd
    [root@mail tftpboot]# systemctl enable vsftpd
    ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
    
    [root@mail pub]# firewall-cmd --permanent --add-service=ftp
    success
    [root@mail pub]# firewall-cmd --reload
    success
    [root@mail pub]# setsebool -P ftpd_connect_all_unreserved=on
    
    
    

    创建KickStart应答文件

    如果觉得系统默认自带的应答文件参数较少,不能满足生产环境的需求,可以通过Yum仓库安装system-config-kickstart软件包.这是一款图形化的Kickstart应答文件生成工具,可以根据自己的需求生成自定义的应答文件.

    [root@mail ~]# cp anaconda-ks.cfg /var/ftp/pub/ks.cfg
    [root@mail pub]# chmod 755 /var/ftp/pub/ks.cfg 
    
    6 url --url=ftp://192.168.56.25
    21 timezone Asia/Shanghai --isUtc
    29 clearpart --all --initlabel 
    
    
  • 相关阅读:
    剑指 Offer 55. 二叉树的深度
    剑指 Offer 11. 旋转数组的最小数字
    [COCOS2DX-LUA]0-006.cocos2dx中关于拖动屏幕物件,同时点击home键,返回后页面变黑的问题。
    Kafka 入门(三)--为什么 Kafka 依赖 ZooKeeper?
    Kafka 入门(二)--数据日志、副本机制和消费策略
    Kafka 入门(一)--安装配置和 kafka-python 调用
    网络通信基础笔记
    项目经理的必要性
    Jenkins用户管理
    JVM笔记二双亲委派机制
  • 原文地址:https://www.cnblogs.com/qdlinux/p/9636687.html
Copyright © 2011-2022 走看看