zoukankan      html  css  js  c++  java
  • Linux学习笔记10-kickstart批量安装centos7

    kickstart 实现原理

    DHCP+PXE+TFTP+HTTP

    客服端请求DHCP,通过DCHP指定IP和TFTP服务器,客服端链接到tftp服务器,请求tftp中的文件,读取引导和配置,找到http的url,来安装。

    1.准备安装服务(服务器主机为192.168.176.173)

    安装如下包:

    #yum install syslinux syslinux-devel tftp-server xinted* dhcp httpd -y

    syslinux 是一个linux系统,主要要用到其中的pxelinux.0这个启动文件

    2.配置tftp:

    #sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp

    及修改/etc/xinetd.d/tftp文件将disable=yes改为disable=no

    3.pxe和tftp整合

    输入下列命令:

    #mount /dev/cdrom /mnt

    #mkdir /var/lib/tftpboot/pxelinux.cfg

    #cp /mnt/isolinux/isollinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    #cp /mnt/image/pxeboot/vmlinuz /var/lib/tftpboot

    #cp /mnt/image/pxeboot/initd.img /var/lib/tftpboot

    #cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot

    #cp /usr/share/syslinux/pxeliunx.0 /var/lib/tftpboot

    chmod 644 /var/lib/tftpboot/pexlinux.cfg/default

    同时编辑/var/lib/tftpboot/pxelinux.cfg/default

    #cat>/var/lib/tftpboot/pxelinux.cfg/default<<EOF

    default vesamenu.c32

    timeout 30

    display boot.msg

    menu clear

    menu blackground splash.png

    menu title CentOS Linux7

    label linux

       menu label ^Install CentOS Linux7

       menu vesamenu.c32

       kernel vmlinuz

       append initrd=initrd.img inst.repo=http://192.168.176.173/centos7  quiet ks=http://192.168.16.173/ks.cfg

    label check

      menu label Test this ^media & install CentOS Linux 7

      kernel vmlinuz

      append initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 rd.live.check quiet

    EOF

    4.配置httpd发布

    #umount /mnt

    #mkdir /var/www/html/centos7

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

    #cat>/var/www/html/ks.cfg<<EOF

    install

    text

    keyboard 'us'

    rootpw xxxx(填入自己的密码)

    timezone 'Asia/Shanghai'

    url url--=http://192.168.176.173/centos7

    reboot

    lang en_US

    firewalld --disable

    network bootproto=dhcp device=ens33

    auth -useshadow --passalgo=sha512

    firstboot --disable

    selinux disable

    bootloader --localtion=mbr

    clearpart --all --initlable

    part /boot --fstype "xfs" --size=200

    part / --fstype "xfs" --grow

    part /swap --fstype "swap" --size=512

    %pakeage

    @base

    @core

     # 好几块硬盘,做完raid,一般企业级的服务器都有很多个硬盘,整个硬盘有等10T,如果来使用kickstart自动安装并分区呢;一般服务器硬盘超过2T,就不能使用MBR方式来区,需要采用GPT格式,添加如下配置

    %pre    

    parted  -s  /dev/sdb  mklabel  gpt

    %end

    #为了实现kickstart安装完系统后,自动初始化系统等等工作,我们可以在系统安装完后,自动执行定制的脚本,需要在ks.cfg末尾加入如下配置:

    %post

    mount  -t  nfs 192.168.176.173:/centos/init   /mnt

    cd  /mnt/ ;/bin/sh  auto_init.sh

    %end

    EOF

     5.配置dhcp服务

    vim /etc/dhcp/dhcpd.conf

    ddns-update-style interim;

    ignore client-update;

    next-sercer 192.168.176.173;    #指定tftp服务器

    filename "pxelinux.0";  #指定文件

    allow booting; #允许启动

    allow bootp; #允许启动

    ubnet 192.168.176.0 netmask 255.255.255.0 {

    #default gateway

    option routers          192.168.176.1;

    option subnet-mask      255.255.255.0;

    range dynamic-bootp 192.168.0.180 192.168.0.200;

    host ns {

    hardware ethernet  00:1a:a0:2b:38:81;

    fixed-address 192.168.176.173;}

    }

    6.重启服务

    service httpd restart

    service dhcpd restart

    service xinetd restart

     

     同时也可以通过nginx或者vsftpd来代替httpd部署kickstart

  • 相关阅读:
    jmeter接口测试----7文件上传
    jmeter接口测试----6获取所有学生信息
    jmeter接口测试----5学生金币充值
    jmeter接口测试----4添加学生信息
    jmeter接口测试----3登录
    jmeter接口测试----2获取学生信息
    jmeter接口测试----1准备阶段
    Android程序员必备精品资源 工具类
    android sdk更新后出现please update ADT to the latest version的解决方法
    Android IntentService完全解析 当Service遇到Handler
  • 原文地址:https://www.cnblogs.com/juanNote/p/9404553.html
Copyright © 2011-2022 走看看