美文网首页干货我用 Linux每周500字
基于Kickstart自动化安装CentOS实践

基于Kickstart自动化安装CentOS实践

作者: 王奥OX | 来源:发表于2015-05-20 16:51 被阅读1265次

    前言

    因为需要在浪潮的x86服务器中集中部署CentOS搭建基于Hadoop的大数据平台,平时接触SLES(SuSE Linux Enterprise Server)较多并且已经实现基于Autoyast方式使用光盘或者PXE网络自动化安装(后续会分享具体实现方法)。这次主要通过学习Kisckstart实现最简单的光盘方式自动化安装CentOS,而网上的大多数教程并不完全适用于自身的环境,本文将不再赘述Kickstart相关概念,细节可参考扩展阅读。

    Kickstart是最为通用的Linux自动化安装方法之一


    更新历史

    2015年05月20日 - 初稿

    阅读原文 - http://wsgzao.github.io/post/kickstart/

    扩展阅读


    环境准备

    定制系统

    CentOS-6.4-x86_64

    官方下载地址 - http://wiki.centos.org/Download

    安装软件包

    代理上网小技巧,export http_proxy=ip:port

    yum -y install createrepo mkisofs
    

    制作流程

    目录结构

    拷贝CentOS原始镜像内容,不做任何精简

    mkdir /mnt/centos
    mount /dev/sr0 /mnt/centos
    mkdir /tmp/iso
    cp -r /mnt/centos/* /tmp/iso
    

    增加Kickstart配置文件

    文件路径和安装方式可自由定义

    cd /tmp/iso/isolinux
    #修改引导,注意ks=部分
    vi isolinux.cfg
    
    label linux
      menu label ^Install or upgrade an existing system
      menu default
      kernel vmlinuz
      append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
    
    #手动增加Kickstart配置文件
    vi ks.cfg
    
    #Kickstart file automatically generated by anaconda.
    #version=DEVEL
    
    #Install OS instead of upgrade
    #表示是安装,而不是升级
    install
    
    #Use text mode install
    #文本方式安装
    text
    
    #Use network installation
    #使用网络安装
    #url --url=ftp://ip/centos
    #Local installation Use CDROM installation media
    #使用光盘安装
    cdrom
    
    #Installation Number configuration
    #如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key
    #key –skip
    
    #System language
    #语言环境
    #lang en_US.UTF-8
    lang zh_CN.UTF-8
    
    #System keyboard
    #键盘类型
    keyboard us
    
    #Network information
    #网络配置
    #network --device eth0 --bootproto dhcp --onboot yes
    
    #Root password
    #root密码
    rootpw chinaums
    
    #Firewall configuration
    #禁用防火墙
    firewall --disabled
    
    #SELinux configuration
    #禁用selinux
    selinux --disabled
    
    #Run the Setup Agent on first boot
    #禁用第一次启动时设置系统的向导
    firstboot --disable
    
    #System authorization information
    #用户认证配置,useshadow表示使用本地认证,--passalgo表示密码加密算法
    authconfig --enableshadow --passalgo=sha512
    
    #System timezone
    #设置时区为上海
    timezone --isUtc Asia/Shanghai
    
    #System bootloader configuration
    #指明bootloader的安装位置,指明驱动器的排序,指明操作系统安装完成之后,向内核传递的参数
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
    
    #Clear the Master Boot Record
    #清除MBR引导记录
    zerombr yes
    
    #Partition clearing information
    #清除硬盘上的所有数据
    clearpart --all --initlabel
    
    #Disk partitioning information
    #自定义分区
    
    #创建一个200M大小的分区挂载/boot类型为ext4
    part /boot --fstype=ext4  --size=200 --ondisk=sda
    
    #创建一个20000M大小的SWAP分区
    part swap --size=20000 --ondisk=sda
    
    #创建/目录
    part / --fstype=ext4 --grow --size=1 --ondisk=sda
    
    #Reboot after installation
    #设置完成之后重启
    reboot --eject
    
    #This packages is for CentOS 6.4
    #为CentOS 6.4定制的软件包
    %packages
    @base
    @core
    @chinese-support
    
    #增加安装后运行脚本 
    %post
    #config service 
    #自定义服务
    service NetworkManager stop
    chkconfig NetworkManager off
    
    #eject cdrom
    #安装完成弹出光碟 
    #eject
    
    #reboot
    #执行完毕后重启 
    #reboot -f 
    
    #结束自动化部署
    %end
    

    生成依赖关系和ISO文件

    注意路径和命令的准确性

    cd /tmp/iso
    createrepo -g repodata/*comps.xml . 
    mkisofs -o /tmp/CentOS-6.4_64_auto.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table  -joliet-long  -R -J -v -T /tmp/iso/
    

    测试和建议

    推荐两篇参考文献,建议先在虚拟机上反复测试验证再到物理机部署

    Linux Kickstart 自动安装 - http://liaoph.com/linux-kickstart/
    Centos6.4定制自动化安装盘 - http://www.wpython.com/444.html

    相关文章

      网友评论

        本文标题:基于Kickstart自动化安装CentOS实践

        本文链接:https://www.haomeiwen.com/subject/ogvlqttx.html