• LinuxPXE+Kickstrart无人值守安装服务


    要求:关闭VMware虚拟网络编辑器中自身的DHCP服务

    主机名称 操作系统 IP地址
    NoneOS Centos7 192.168.72.250
    Custormer  

     1、挂在本地镜像源本配置Yum仓库,安装DHCP服务

    [root@NoneOs ~]# yum install dhcp -y

    2、配置DHCP服务

    [root@NoneOs ~]# vim /etc/dhcp/dhcpd.conf
    
    allow booting;
    allow bootp;
    ddns-update-style interim;
    ignore client-updates;
    subnet 192.168.72.0 netmask 255.255.255.0 {
            option subnet-mask 255.255.255.0;
            option domain-name-servers 192.168.72.250;
            range dynamic-bootp 192.168.72.100 192.168.72.200;
            default-lease-time 21600;
            max-lease-time 43200;
            next-server 192.168.72.250;
            filename "pxelinux.0";
    }

    [root@NoneOs ~]# systemctl restart dhcpd
    [root@NoneOs ~]# systemctl enable dhcpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

     

    3、配置TFTP服务程序

    [root@NoneOs ~]# yum install tftp-server -y

    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    disable = no
    per_source = 11
    cps = 100 2
    flags = IPv4
    }

    [root@NoneOs ~]# systemctl restart xinetd
    [root@NoneOs ~]# systemctl enable xinetd

    TFTP服务程序默认使用UDP协议,占用的端口是69,在生产环境中需要在firewalld防火墙工具中写入使其永久生效的允许策略。

    firewall-cmd --permanent --add-port=69/udp
    firewall-cmd --reload

    在实验环境中可以直接将防火墙关闭

    [root@NoneOs ~]# systemctl stop firewalld

    4、SYSlinux服务

    [root@NoneOs ~]# yum install syslinux -y

    首先将SYSlinux提供的引导文件复制到TFTP服务程序的默认目录中,就是之前pxelinux.0该文件,这样客户端主机就能顺利地获取到引导文件。还需要调用一些Centos7光盘镜像的一些引导文件,确认光盘镜像挂在到本地然后将其中的一些引导文件复制到TFTP服务程序的默认目录中。

    [root@NoneOs tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
    [root@NoneOs tftpboot]# cp /media/images/pxeboot/{vmlinuz,initrd.img} .
    [root@NoneOs tftpboot]# cp /media/isolinux/{vesamenu.c32,boot.msg} .

    然后在TFTP服务程序的目录中新建pxelinux.cfg目录,此目录虽然带有后缀,但是依然是目录。将系统光盘中的开机选项菜单复制到该目录中,并命名为default

    [root@NoneOs tftpboot]# mkdir pxelinux.cfg
    [root@NoneOs tftpboot]# cp /media/isolinux/isolinux.cfg pxelinux.cfg/default

    修改复制来的default文件

    [root@NoneOs tftpboot]# vim pxelinux.cfg/default
     1 default linux
    
    64 append initrd=initrd.img inst.stage2=ftp://192.168.72.250 ks=ftp://192.168.7    2.250/pub/ks.cfg quiet

     5、配置vsftpd服务

     光盘镜像通过FTP协议来传输,因此用到vsfptd服务。

    [root@NoneOs ~]# yum install vsftpd -y

     [root@NoneOs ~]# systemctl restart vsftpd


     [root@NoneOs ~]# systemctl enable vsftpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

    在确认光盘镜像文件正常挂在到本地目录之后,把该目录中的光盘镜像文件全部复制到vsftpd的工作目录中。

    [root@NoneOs ~]# cp -r /media/* /var/ftp/

    在生产环境中,需要将FTP协议在firewalld防火墙中写入永久生效的允许策略,然后在SELINUX中放行FTP传输:

    firewall-cmd --permanent --add-service=ftp

    firewall-cmd --reload

    setsebool -P ftpd_connect_all_unreserved=on

    6、创建KickStart应答文件

    kisckStart并不是一个服务程序,而是一个应答文件,包含了系统安装过程中需要使用的选项和参数信息,系统可以自动调取这个应答文件的内容,从而实现无人值守安装系统。

    这个文件就在root管理员的家目录名为anaconda-ks.cfg文件。

    [root@NoneOs ~]# cp -r /media/* /var/ftp/
    [root@NoneOs ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
    [root@NoneOs ~]# chmod +r /var/ftp/pub/ks.cfg
    [root@NoneOs ~]# vim /var/ftp/pub/ks.cfg
    5 url --url=ftp://192.168.72.250
    23 timezone Asia/Shanghai --isUtc
    28 clearpart --all --initlabel

    7、自动部署客户端主机

     

     网络模式选择仅主机

     自动安装无须人工干预

  • 相关阅读:
    mybatis 动态sql
    linux shell 之 crontab(定时任务)详解
    FTP定时批量下载文件(SHELL脚本及使用方法 )
    腾讯云数据库团队:MySQL5.7 JSON实现简单介绍
    Chisel Tutorial(七)——模块
    大数问题解决模板
    可靠的功能測试--Espresso和Dagger2
    hdoj 1698 Just a Hook 【线段树 区间更新】
    平衡二叉树
    WPF中DependencyObject与DependencyProperty的源代码简单剖析
  • 原文地址:https://www.cnblogs.com/DevonL/p/11432107.html
Copyright © 2020-2023  润新知