zoukankan      html  css  js  c++  java
  • 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、自动部署客户端主机

     

     网络模式选择仅主机

     自动安装无须人工干预

  • 相关阅读:
    Hibernate save, saveOrUpdate, persist, merge, update 区别
    Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
    Neo4j批量插入(Batch Insertion)
    嵌入式(Embedded)Neo4j数据库访问方法
    Neo4j 查询已经创建的索引与约束
    Neo4j 两种索引Legacy Index与Schema Index区别
    spring data jpa hibernate jpa 三者之间的关系
    maven web project打包为war包,目录结构的变化
    创建一个maven web project
    Linux下部署solrCloud
  • 原文地址:https://www.cnblogs.com/DevonL/p/11432107.html
Copyright © 2011-2022 走看看