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

安装DHCP服务
环境准备
[root@kickstart ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@kickstart ~]# uname -r
3.10.0-693.el7.x86_64
[root@kickstart ~]# getenforce
Disabled
[root@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)
[root@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查看日志
[root@kickstart ~]# systemctl start dhcpd
[root@kickstart ~]# systemctl status dhcpd
tailf /var/log/messages
DHCP服务对kickstart系统的影响程度
新建空白虚拟机,建完后做快照。



TFTP没有最终报错

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

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

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

第二步
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
启动软件安装报错

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

default配置文件
- [root@kickstart tftpboot]# pwd
- /var/lib/tftpboot
- [root@kickstart tftpboot]# cd pxelinux.cfg/
- [root@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配置文件。
- [root@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
保存,启动安装虚拟机,就可以一件化安装。
不该出现的错误

报错原因:selinux没关
Kickstart 安装centos7的更多相关文章
- PXE+kickstart网络安装CentOS7.4系统及过程中各种报错
环境:关闭防火墙.selinux 注意:虚拟机进行网络安装的话,7.3以后的系统是需要2G以上的内存 [root@kickstart ~]# cat /etc/redhat-release CentO ...
- 定制kickstart重建CentOS7.5镜像用于U盘引导安装
有什么问题或者疑惑,可以留言,全力解答. ISO 镜像制作 U 盘安装盘 U盘安装CentOS7.4 U盘实现CentOS7.3全自动安装系统 https://www.cnblogs.com/pany ...
- pxe+kickstart 无人值守安装CentOS7.1
CentOS6.6下PXE+Kickstart无人值守安装CentOS7.1操作系统 一.简介 1.1 什么是PXE Pxe(Pre-boot Execution Environment,预启动执行 ...
- Linux——Pxe+Nfs+Kickstart自动部署安装Centos7.4
PXE简介 PXE,全名Pre-boot Execution Environment,预启动执行环境:通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统:由Intel和Syst ...
- linux pxe 安装Centos7
服务端 需要3种服务 dhcp + tftp + vsftp tftp 提供引导 为什么不使用其他协议来进行pxe引导 是因为网卡只会集成tftp这种服务 写明到镜像的方式 dhcp 下发tf ...
- 架构师成长之路2.2-PXE+Kickstart安装部署
点击返回架构师成长之路 架构师成长之路2.2-PXE+Kickstart安装部署 系统测试环境: 实验环境:VMware Workstation 12 系统平台:CentOS Linux releas ...
- 自动化运维之cobbler安装centos7.3
自动化运维之cobbler安装centos7.3 一.cobbler简介和服务 Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种 ...
- 利用PXE引导安装centos7
# 利用PXE引导安装centos7 # ###简介### > PXE (Pre-boot Execution Environment,PXE client 在网卡的 ROM 中,当计算机引导时 ...
- cobbler 安装centos7.3时GPT问题(五)
磁盘分区表MBR和GPT介绍: MBR(Master Boot Record):最大只支持2 TB的盘,最多只支持4个主分区,信息只存储在一个区域. GPT(GUID partition table) ...
随机推荐
- case when then else end 与 decode 的区别
case when then else end : 条件可以有 等于 ,大于 ,小于 与 decode : 条件只可以有等于的.
- [NOI2015]软件包管理器(树链剖分,线段树)
题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...
- python学习第二天 -----2019年4月17日
第二周-第02章节-Python3.5-模块初识 #!/usr/bin/env python #-*- coding:utf-8 _*- """ @author:chen ...
- 在linux环境下安装redis并且搭建自己的redis集群
此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 ...
- go-byte数组最大的长度
本来想打算用go来处理一个1G左右的txt文本的,但是在去读取的时候就报内存溢出了,提示数组已经无法在分配. 用的是:ioutil.ReadFile 方法来读取文本,它的返回值是一个[]byte 数组 ...
- 如何加入别人的Git项目——Git Fork指南
如何加入别人的Git项目--Git Fork指南 首先,在网页打开别人Git上的项目,点击右上角的.下图因为Fork过了,所以灰了. 随即弹出如下窗口,当然选择确定. 于是,我们在在自己的项目列表可以 ...
- 20155222 2016-2017-2 《Java程序设计》实验一
实现Fibonacci数列功能,并进行测试. 源代码: import java.util.Scanner; public class fibonacci { public static void ma ...
- 安装虚拟机及学习linux系统 20155222卢梓杰
安装虚拟机及学习linux系统 20155222卢梓杰 首先按照要求下载virtualbox,没有遇到问题. 接下来新建一个虚拟机,按照要求应当安装乌班图64,这里只有32位的.在网上搜寻了许久,终于 ...
- 20155320 2016-2017-2《Java程序设计》第1周学习总结
20155320 2016-2017-2<Java程序设计>第1周学习总结 教材学习内容总结 本周学习内容 浏览课本,并就每一章提出一个问题. 认真学习第一.第二章的内容. 1至18章每章 ...
- Linux下IPC机制
Linux下IPC机制 实践要求 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 IPC 进程间通信(IPC,Inter ...