• 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

  • 相关阅读:
    关于LEA指令(单周期就可以做简单的算术计算)
    说说字符集和编码(非常形象,非常有意思)
    类依赖项的不透明性和透明性
    构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(6)-Unity 2.x依赖注入by运行时注入[附源码]
    大端和小端
    Google C++测试框架系列:入门
    随机森林中的数学基础之大数定律
    K-means Algorithm
    JavaScript插件——按钮
    分布式系统设计(8)
  • 原文地址:https://www.cnblogs.com/juanNote/p/9404553.html
Copyright © 2020-2023  润新知