设为首页 收藏本站
查看: 1177|回复: 0

[经验分享] Kickstart 安装centos7

[复制链接]

尚未签到

发表于 2017-11-17 10:43:40 | 显示全部楼层 |阅读模式
  以前是怎么安装系统的

  • 光盘(ISO文件,光盘的镜像文件)===》每一台物理机都得给一个光驱,如果用外置光驱的话,是不是每台机器都需要插一下
  • U盘:ISO镜像刻录到U盘==》需要每台机器都需要插一下
  • 并行安装==》网络安装
  • 自动化安装
  备注:(WDS,需要安装在Windows Server 2008)
  Linux系统批量安装
  kickstart是RedHat公司开源的软件,所以对CentOS兼容性最好。
  原理:我们将手动安装的所有的详细步骤记录到一个文件中,然后kickstart通过读取这个文件就可以实现自动化安装系统。
  kickstart是一个项目的名称。没有这个软件。使用者水平是高中以上
  cobbler是对kickstart的所有组件的封装。使用者水平是初中以上。本质上就是网页版本的kickstart。
  kickstart的原理及组件
DSC0000.png

  安装DHCP服务
  环境准备
  [iyunv@kickstart ~]# cat /etc/redhat-release
  CentOS Linux release 7.4.1708 (Core)
  [iyunv@kickstart ~]# uname -r
  3.10.0-693.el7.x86_64
  [iyunv@kickstart ~]# getenforce
  Disabled
  [iyunv@kickstart ~]# systemctl status firewalld.service
  ● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
   Docs: man:firewalld(1)
  [iyunv@kickstart ~]# hostname -I
  10.0.0.201 172.16.1.201
  安装DHCP
  yum -y install dhcp
  配置DHCP
  cat >>/etc/dhcp/dhcpd.conf<<EOF
  subnet 172.16.1.0 netmask 255.255.255.0 {
  range 172.16.1.100 172.16.1.199;
  option subnet-mask 255.255.255.0;
  default-lease-time 21600;
  max-lease-time 43200;
  next-server 172.16.1.201;
  filename "/pxelinux.0";
  }
  EOF
  启动dhcp查看日志
  [iyunv@kickstart ~]# systemctl start dhcpd
  [iyunv@kickstart ~]# systemctl status dhcpd
  tailf /var/log/messages
  DHCP服务对kickstart系统的影响程度
  新建空白虚拟机,建完后做快照。
DSC0001.png

DSC0002.png

DSC0003.png

  TFTP没有最终报错
DSC0004.png

  安装TFTP服务
  安装
  [iyunv@kickstart ~]# yum -y install tftp-server
  启动
   systemctl start tftp.socket
  TFTP服务对kickstart系统的影响程度
DSC0005.png

  上面报错是在TFTP服务的根目录找不到启动文件pxelinux.0 下载
  [iyunv@kickstart ~]# cd /var/lib/tftpboot/ # TFTP服务的根目录
  [iyunv@kickstart tftpboot]# ls
  [iyunv@kickstart tftpboot]#
  syslinux是一个功能强大的引导加载程序,而且兼容各种介质。SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。如果没有找到pxelinux.0这个文件,可以安装一下。
  yum -y install syslinux
  cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
DSC0006.png

  首先排除最简单故障原因:selinux是否关闭,防火墙是否关闭
  上面的错误是因为pxelinux.0这个小系统的配置文件(default)不存在,或者文件名不对
  如何找到这个配置文件
  第一步:挂载镜像
DSC0007.png

  第二步
  mkdir -p /var/www/html/CentOS7
  mount /dev/cdrom /var/www/html/CentOS7
  第三步:从镜像中找到相关的配置文件
  cp -a /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/
  mkdir -p /var/lib/tftpboot/pxelinux.cfg
  cp /var/www/html/CentOS7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  启动软件安装报错
DSC0008.png

  这是因为centos 文件没有进行修改 跳过直接安装http
  安装HTTP服务
  作用1:提供自动应答文件下载
  作用2:提供安装系统所需的所有rpm包下载
  [iyunv@kickstart ~]# yum -y install httpd
  [iyunv@kickstart ~]# systemctl start httpd.service
  检查步骤
  http://10.0.0.201/CentOS7/
  curl http://172.16.1.201/CentOS7/
DSC0009.png

  default配置文件


  • [iyunv@kickstart tftpboot]# pwd

  • /var/lib/tftpboot

  • [iyunv@kickstart tftpboot]# cd pxelinux.cfg/

  • [iyunv@kickstart pxelinux.cfg]# vim default

  • efault ks

  • prompt 0

  • label ks

  •   kernel vmlinuz

  •   append initrd=initrd.img ks=http://172.16.1.201/ks_config/CentOS7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1  

  • 配置 网卡
  创建ks.cfg文件
  通常,我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少这个交互过程,kickstart就诞生了。使用这种kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了在安装过程中多次的人机交互,从而实现无人值守的自动化安装。
  生成kickstart配置文件的三种方法:


  • 方法1、 每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg)

  • 方法2、Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5).网上有很多用CentOS桌面版生成ks文件的文章,如果有现成的系统就没什么可说。但没有现成的,也没有必要去用桌面版,命令行也很简单。

  • 方法3、阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。


  • [iyunv@CentOS-7 ks_config]# vim CentOS7-ks.cfg


  • # Kickstart Configurator for CentOS 7 by yao zhang

  • Install 告知安装程序,这是一次全新安装,而不是升级upgrade。

  • url --url=http://172.16.1.201/CentOS7/ 通过FTP或HTTP从远程服务器上的安装树中安装。

  • text 使用文本模式安装。

  • lang en_US.UTF-8 设置在安装过程中使用的语言以及系统的缺省语言

  • keyboard us 设置系统键盘类型。keyboard us

  • zerombr 清除mbr引导信息。系统引导相关配置。

  • bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

  • --location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序)。

  • --driveorder,指定在BIOS引导顺序中居首的驱动器。

  • --append=,指定内核参数.要指定多个参数,使用空格分隔它们。

  • network --bootproto=static --device=eth1 --ip=172.16.1.202 --netmask=255.255.255.0 –activate

  • --bootproto=[dhcp/bootp/static]中的一种,缺省值是dhcp。bootp和dhcp被认为是相同的

  • --ip=,要安装的机器的IP地址. --netmask=,安装的系统的子网掩码.

  • network --hostname=Cobbler --hostname=,安装的系统的主机名.

  • #network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7

  • --bootproto=[dhcp/bootp/static]中的一种,缺省值是dhcp。bootp和dhcp被认为是相同的。 --onboot=,是否在引导时启用该设备.

  • timezone --utc Asia/Shanghai 设置系统时区。timezone --utc Asia/Shanghai

  • authconfig --enableshadow --passalgo=sha512 系统认证信息。authconfig --enableshadow --passalgo=sha51设置密码加密方式为sha512?启用shadow文件

  • clearpart --all –initlabel 清空分区。clearpart --all –initlabel --all 从系统中清除所有分区,--initlable 初始化磁盘标签 磁盘分区。

  • part /boot --fstype xfs --size 1024 --size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB。

  • part swap --size 1024

  • part / --fstype xfs --size 1 –grow --fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat。

  • firstboot –disable

  • selinux --disabled

  • firewall --disabled

  • logging --level=info

  • reboot


  • %packages

  • @^minimal 指定安装的包组

  • @compat-libraries

  • @debugging

  • @development

  • tree

  • nmap

  • sysstat

  • lrzsz

  • dos2unix

  • telnet

  • wget

  • vim

  • bash-completion

  • %end


  • %post

  • systemctl disable postfix.service

  • %end
  保存,启动安装虚拟机,就可以一件化安装。
  不该出现的错误
DSC00010.png

  报错原因:selinux没关

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407856-1-1.html 上篇帖子: postfix邮件服务器搭建01-准备篇 下篇帖子: cobber+centos6.6+esix5.5
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表