CentOS7 PXE安装 tftp+vsftp+dhcp+k

作者: 一杭oneline | 来源:发表于2019-12-12 21:53 被阅读0次

    【2019.12.12】
    【采用PXE方式安装17台服务器,在自己虚拟机上进行的测试】
    安装的包主要包括:vsftp tftp dhcp syslinux
    配置文件包括 tftp dhcp default ks.cfg
    tftp安装比较简单

    [root@oracle ~]# yum install system-config-kickstart -y
    [root@oracle ~]# yum install tftp vsftpd dhcp  tftp-server -y
    [root@oracle ~]# yum install syslinux  -y
    # 我的centos-everything.iso中rpm包里面好像不大全,
    # 安装dhcp总是会报依赖无法解决,实际操作中从互联网上下载的
    # dhcpd.conf文件是不存在的,从dhcpd.conf.sample中粘贴
    

    其中dhcp配置文件修改如下:

    [root@oracle dhcp]# pwd
    /etc/dhcp
    #新建dhcpd.conf文件
    # A slightly different configuration for an internal subnet.
    subnet 192.168.43.0 netmask 255.255.255.0 {
      range 192.168.43.100 192.168.43.200;
      option domain-name-servers 192.168.43.1; #没有可以随便填一个
      option domain-name "internal.example.org";
      option routers 192.168.43.1;   #没有可以随便填一个
      option broadcast-address 192.168.43.255;
      default-lease-time 600;
      max-lease-time 7200;
      next-server 192.168.43.128;    #指定下一个dhcp服务器的地址,就是自己
      filename "pxelinux.0";
    }
    

    tftp配置文件 /etc/xinet.d

    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
    }
    

    vsftp服务不用配置,默认在/var/ftp目录就是主目录

    重点操作:

    [root@oracle ~]# cp /usr/share/syslinux/pxelinux.o /var/lib/tftpboot/
    [root@oracle ~]# cd /var/lib/tftpboot/
    [root@oracle tftpboot]# mkdir pxelinux.cfg
    [root@oracle tftpboot]# cp /镜像的目录/isolinux/*  /var/lib/tftpboot/
    [root@oracle tftpboot]# cp isolinux.cfg pxelinux.cfg/default
    ##default文件时新增
    

    default文件中67行的位置:

    menu separator # insert an empty line
    menu separator # insert an empty line
    
    label linux
      menu label ^Install CentOS 7
      menu default
      kernel vmlinuz
      append initrd=initrd.img method=ftp://192.168.43.128/rhel7 ks=ftp://192.168.43.128/ks.cfg
    
    label check
      menu label Test this ^media & install CentOS 7
      kernel vmlinuz
      append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
    ##label linux 是启动界面对应的两段文字,method 和ks为新改的部分
    #初始的default为check可以将这个default删除,就是默认第一个启动,即直接安装
    

    【2019.12.13】实地测试,坑不断

    遇到的问题和处理对策

    1.我使用光盘直接挂载到ftp目录下,ftp不识别,所以网络dhcp虽然可以进入开机界面,但无法正常安装。
    2.请关闭selinux,会导致搭建的ftp出现问题,复制进去的文件无法读出,setenforce=0
    3.如果想在安装后进行操作,可在ks文件中,最后加入

    %post   ###这个是关键,但是测试了几次都没有成功
    rm /etc/yum.repo.d/*.repo
    wget ftp://192.168.43.128/test.repo  /etc/yum.repo.d/
    

    实际上,上面的代码根本不会执行,最后使用的还是

    ### create the hosts file
    ###
    cat > ~/test << EOF
    127.0.0.1       localhost.localdomain localhost
    137.143.111.165     ultraminos.potsdam.edu ultraminos
    137.143.108.133     minotaur.potsdam.edu minotaur
    EOF
    

    相关文章

      网友评论

        本文标题:CentOS7 PXE安装 tftp+vsftp+dhcp+k

        本文链接:https://www.haomeiwen.com/subject/cmfxnctx.html