基于Kickstart自动化安装CentOS实践

基于Kickstart自动化安装CentOS实践

前言

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

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

环境准备

定制系统

CentOS-6.4-x86_64

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

安装软件包

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


  1. yum -y install createrepo mkisofs

制作流程

目录结构

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


  1. mkdir /mnt/centos
  2. mount /dev/sr0 /mnt/centos
  3. mkdir /tmp/iso
  4. cp -r /mnt/centos/* /tmp/iso

增加Kickstart配置文件

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


  1. cd /tmp/iso/isolinux
  2. #修改引导,注意ks=部分
  3. vi isolinux.cfg
  4. label linux
  5. menu label ^Install or upgrade an existing system
  6. menu default
  7. kernel vmlinuz
  8. append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
  9. #手动增加Kickstart配置文件
  10. vi ks.cfg

  1. #Kickstart file automatically generated by anaconda.
  2. #version=DEVEL
  3. #Install OS instead of upgrade
  4. #表示是安装,而不是升级
  5. install
  6. #Use text mode install
  7. #文本方式安装
  8. text
  9. #Use network installation
  10. #使用网络安装
  11. #url --url=ftp://ip/centos
  12. #Local installation Use CDROM installation media
  13. #使用光盘安装
  14. cdrom
  15. #Installation Number configuration
  16. #如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key
  17. #key –skip
  18. #System language
  19. #语言环境
  20. #lang en_US.UTF-8
  21. lang zh_CN.UTF-8
  22. #System keyboard
  23. #键盘类型
  24. keyboard us
  25. #Network information
  26. #网络配置
  27. #network --device eth0 --bootproto dhcp --onboot yes
  28. #Root password
  29. #root密码
  30. rootpw chinaums
  31. #Firewall configuration
  32. #禁用防火墙
  33. firewall --disabled
  34. #SELinux configuration
  35. #禁用selinux
  36. selinux --disabled
  37. #Run the Setup Agent on first boot
  38. #禁用第一次启动时设置系统的向导
  39. firstboot --disable
  40. #System authorization information
  41. #用户认证配置,useshadow表示使用本地认证,--passalgo表示密码加密算法
  42. authconfig --enableshadow --passalgo=sha512
  43. #System timezone
  44. #设置时区为上海
  45. timezone --isUtc Asia/Shanghai
  46. #System bootloader configuration
  47. #指明bootloader的安装位置,指明驱动器的排序,指明操作系统安装完成之后,向内核传递的参数
  48. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
  49. #Clear the Master Boot Record
  50. #清除MBR引导记录
  51. zerombr yes
  52. #Partition clearing information
  53. #清除硬盘上的所有数据
  54. clearpart --all --initlabel
  55. #Disk partitioning information
  56. #自定义分区
  57. #创建一个200M大小的分区挂载/boot类型为ext4
  58. part /boot --fstype=ext4 --size=200 --ondisk=sda
  59. #创建一个20000M大小的SWAP分区
  60. part swap --size=20000 --ondisk=sda
  61. #创建/目录
  62. part / --fstype=ext4 --grow --size=1 --ondisk=sda
  63. #Reboot after installation
  64. #设置完成之后重启
  65. reboot --eject
  66. #This packages is for CentOS 6.4
  67. #为CentOS 6.4定制的软件包
  68. %packages
  69. @base
  70. @core
  71. @chinese-support
  72. #增加安装后运行脚本
  73. %post
  74. #config service
  75. #自定义服务
  76. service NetworkManager stop
  77. chkconfig NetworkManager off
  78. #eject cdrom
  79. #安装完成弹出光碟
  80. #eject
  81. #reboot
  82. #执行完毕后重启
  83. #reboot -f
  84. #结束自动化部署
  85. %end

生成依赖关系和ISO文件

注意路径和命令的准确性


  1. cd /tmp/iso
  2. createrepo -g repodata/*comps.xml .
  3. 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/

原文发布时间:2015-05-22

本文来自云栖合作伙伴“linux中国”

时间: 2024-12-27 02:35:39

基于Kickstart自动化安装CentOS实践的相关文章

利用Kickstart自动化安装CentOS的教程

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

基于AutoYaST 自动化安装 SuSE 实践

在金融行业中我所接触的操作系统主要是AIX和SLES(SuSE Linux Enterprise Server),也许大家平时用得更多是CentOS,虽然有部分差异但原理都是相通的,SMIT和YaST也是灰常实用的功能,推荐大家有机会尝试体验下.因为网上关于SuSE自动化部署的参考文章较少,这套自动化部署方案已经被验证并在生产系统使用了1年半,配置相对成熟和稳定.遵循Don't Repeat Yourself原则,本文主要介绍基于AutoYaST实现半自动化SuSE定制光盘和PXE网络全自动化安

《构建高可用Linux服务器 第3版》—— 1.1 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS 5.8 x86_64

1.1 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS 5.8 x86_64 CentOS 5.8 x86_64的安装方法挺多的,最常见的有光盘安装.Kickstart无人值守安装.优盘安装及ISO硬盘安装等.现阶段的工作由于需要大规模将CentOS 5.8 x86_64系统应用于集群环境,所以这种无人值守安装的方法主要用于在公司内网批量安装新服务器系统,这种方法极大地简化了用光盘重复安装CentOS 5.8 x86_64的过程,再加上通过应用分布式自动化运维工具

kickstart自动化安装linux

参考了51cto博客各路大神的文章,结合自己实践过程,虽中间经历了些困难挫折,最终还是成功完成配置,实现了自动化安装linux. (重点参考灰度的BLOG, http://rrliang.blog.51cto.com/4214966/1040863) 安装环境,虚拟机VirtualBox虚拟2台机器,一台做kickstart服务器,一台做客户端 服务器系统为CentOS 6.3 X86_64, 安装光盘为CentOS 6.3 X86_64 DVD 网卡全部配置为"内部网络" 首先,需要

linux中Kickstart自动化安装教程

在 RHEL,CentOS,Fedora 等系统中,安装系统使用的程序名叫 anaconda,它属于 FedoraProject,由 Python 开发,能够提供图形或者文本界面用于系统安装. Anaconda 安装程序最大的优点是:它可以用一个称之为 Kickstart 的特性进行非交互式脚本安装.Kickstart 脚本是一个用来指定安装要求详情的简单 ASCII 文本文件.该脚本可用常规文本编辑器编写,或用 Kickstart 配置程序来生成. Kickstart 脚本通常有三个不同的部分

Centos 5.5 X86_64实战KickStart自动化安装

原理和概念: 1.1 什么是PXE 严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动.协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE clien

kickstart无人值守安装CentOS6.5

在本次实验进行之前,首先我们要把公司的网络环境进行介绍. 注意这个网络拓扑图,也是生产环境的一个实例.同时服务器192.168.1.214已关闭iptables.Selinux. 看如下拓扑图: kickstart完全配置后的网络拓扑如下: 目前路由器使用的是软路由ROS,因为centos的无人值守安装需要DHCP服务器的配合使用,并且还需要对DHCP服务进行特殊配置. 而一般路由器根本就不支持此特殊功能,所以我们需要关闭路由器ROS的DHCP功能.只让路由器ROS当作网关使用,当然ROS的其他

CentOS自动化安装实战

  定制自动化安装盘 # 安装所需要的软件包: 代码如下: yum -y install createrepo mkisofs isomd5sum # 生成精简后的rpm列表 代码如下: awk '/安装/{print $2}' install.log |sed 's/^[0-9]*://g' >/root/packages.list //我的是中文环境具体看log里是什么 # 约束目录结构 代码如下: mkdir -p /mnt/cdrom mkdir -p /data/OS mount /d

RHCSA 系列(十二): 使用 Kickstart 完成 RHEL 7 的自动化安装

无论是在数据中心还是实验室环境,Linux 服务器很少是独立的机器,很可能有时你需要安装多个以某种方式相互联系的机器.假如你将在单个服务器上手动安装 RHEL 7 所花的时间乘以你需要配置的机器数量,这将导致你必须做出一场相当长的努力,而通过使用被称为 kicksta 的无人值守安装工具则可以避免这样的麻烦. 在这篇文章中,我们将向你展示使用 kickstart 工具时所需的一切,以便在安装过程中,不用你时不时地照看"处在襁褓中"的服务器. RHCSA: RHEL 7 的自动化 Kic