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

  • 相关阅读:
    1144 The Missing Number (20分)
    1145 Hashing
    1146 Topological Order (25分)
    1147 Heaps (30分)
    1148 Werewolf
    1149 Dangerous Goods Packaging (25分)
    TypeReference
    Supervisor安装与配置()二
    谷粒商城ES调用(十九)
    Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  • 原文地址:https://www.cnblogs.com/juanNote/p/9404553.html
Copyright © 2011-2022 走看看