zoukankan      html  css  js  c++  java
  • PXE+Kickstart实现批量化无人值守安装

    centos7下进行kickstart配置

    配置kickstart时需要pxe芯片,为获取ip地址

    1、先安装dhcpd服务器

    yum install -y dhcpd

    1-1.配置dhcp的配置文件

        # cat /etc/dhcp/dhcpd.conf
    subnet 172.16.1.0 netmask 255.255.255.0 {
    range 172.16.1.85 172.16.1.95;
    option subnet-mask 255.255.255.0;
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 172.16.1.80;
    filename "/pxelinux.0";
    }

    1-2.启动dhcpd服务

    systemctl start dhcpd.service

    systemctl enable dhcpd.service

    1-3.安装lsof软件

    yum install -y lsof

    1-4.查看dhcpd启动情况

        [root@centos7-4 dhcp]# lsof -i :67
    COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    dhcpd   7865 dhcpd   7u IPv4 43468     0t0 UDP *:bootps

    1-5.挂载光盘

    #mount /dev/centos7 /var/www/html/centos7

    2、安装tftp服务

    yum install -y xinetd tftp-server httpd

    2-1、进行xinetd的配置

    [root@centos7-4 xinetd.d]# cat /etc/xinetd.d/tftp   #查看tftp在xinetd下的配置
    # default: off
    # description: The tftp server serves files using the trivial file transfer
    # protocol. The tftp protocol is often used to boot diskless
    # workstations, download configuration files to network-aware printers,
    # and to start the installation process for some operating systems.
    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot #/var/lib/tftpboot启动文件目录
    disable = no #允许使用xinetd来启动tftp
    per_source = 11
    cps = 100 2
    flags = IPv4
    }

    2-2、配置好了tftp服务后,并重新启动一下xinetd服务

    systemctl restart xinetd #tftp服务受xinetd服务管理的

    lsof -i :69

    3、拷贝重要的文件

    # cd /var/www/html/centos7/isolinux/
    # cp vmlinuz /var/lib/tftpboot/ #其中vmlinuz为linux启动的内核文件
    # cp initrd.img /var/lib/tftpboot #initrd.img为linux启动的驱动文件
    # cp vesamenu.c32 /var/lib/tftpboot/ #启动框架文件

    4、安装syslinux软件,取出pxelinux.0文件

    #yum install -y syslinux
    #rpm -ql syslinux
    # cd /usr/share/syslinux/
    # mkdir -p /var/lib/tftpboot/pxelinux.cfg #新建目录pxelinux.cfg
    # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #linux启动代码
    #cd /var/www/html/centos7/isolinux
    # cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷贝isolinux.cfg到此目录下,并命令为default
    # cp reboot.c32 /var/lib/tftpboot/ #把重启框架文件拷贝到/var/lib/tftpboot目录中

    5、配置default文件

    # cat /var/lib/tftpboot/pxelinux.cfg/default 
    #kickstart centos7 configure by gordon.wang
    default linux
    timeout 50
    prompt 0
    label linux #要与default显示的字符一致
    kernel vmlinuz
    append initrd=initrd.img ks=http://172.16.1.80/ks_config/centos7-ks.cfg ksdevice=eth1 net.ifnames=0 biosdevname=0 #把网卡名由ens变更为eth,并从cento7-ks.cfg中引导启动;

    6、配置centos7-ks.cfg文件

    # cat  /var/www/html/ks_config/centos7-ks.cfg 
    #kickstart centos7 configure by gordon.wang
    install
    url --url="http://172.16.1.80/centos7/"
    text
    lang en_US.UTF-8
    keyboard us
    zerombr #初始化所有可在磁盘中找到的有效分区表
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
    network --bootproto=static --device=eth0 --gateway=10.0.0.254 --ip=10.0.0.85 --nameserver=223.5.5.5 --netmask=255.255.255.0 --activate
    network --bootproto=static device=eth1 --ip=172.16.1.85 --netmask=255.255.255.0 --activate
    network --hostname=kickstart
    timezone --utc Asia/Shanghai
    authconfig --enableshadow --passalgo=sha512 #authconfig为系统设置认证选项,--enableshadow为使用影子密码
    rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ #rootpw --iscrypted加密密码参数
    加密命令:python -c 'import crypt;print(crypt.crypt("my passwd"))',其中my passwd为要设置的密码
    clearpart --all --initlabel #clearpart从系统中删除分区要在生成新分区之前完成;
    part /boot --fstype xfs --size 1024
    part swap --size 1024
    part / --fstype xfs --size 1 --grow #参数--grow是把硬盘所有的容量全部给/
    firstboot --disable #禁用initial setup程序在第一次引导系统时启动;
    selinux --disabled
    firewall --disabled
    logging --level=info #logging在安装过程中anaconda出错日志
    reboot

    %packages
    @^minimal
    @compat-libraries
    @debugging
    @development
    tree
    nmap
    sysstat
    lrzsz
    dos2unix
    telnet
    wget
    vim
    bash-completion
    net-tools
    %end

    %post
    systemctl disable postfix.service
    %end

    7、启动httpd服务

    #如果没有安装httpd服务,请执行安装服务

    #yum install -y httpd

    #systemctl start httpd

    #lsof -i :80

    #curl http://172.16.1.80/centos7 #检查网站

    8、现在就进行安装就可以了;

     

  • 相关阅读:
    网页支付宝接口使用
    @Valid注解的使用springmvc pojo校验
    Git
    面试宝典
    Navicat 破解版(操作非常简单)
    JAVA中List,Map,Set接口的区别
    java 枚举示例
    springcloud和springboot是什么关系?
    java面试经常涉及到的
    asp.net 报错 SAP 报错 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
  • 原文地址:https://www.cnblogs.com/wang50902/p/11075760.html
Copyright © 2011-2022 走看看