什么是 Kickstart Installations?
Kickstart Installations(发动装置),完成无人值守主动化装置
Kickstart files(发动文件),装置前准备好,可用来主动履行装置。它能够保存在单个服务器体系上,支持一对多:即单个文件在多台计算机上装置 CentOS
发动装置的过程
发动装置的办法:DVD,NFS,FTP,HTTP/HTTPS,Hard drive(硬盘)
过程:1、创立发动文件
2、使 Kickstart files 在可移动媒体、硬盘驱动器或网络方位上可用
3、创立发动介质(装置源),用于开始装置
4、使装置源可用
5、发动 Kickstart Installations
-
创立发动文件
如果有装置好的 CentOS,在/root目录下就会生成一个anaconda-ks.cfg文件。
#为需 root 用户履行;$为恣意用户履行,以下均以此规范
一:能够依照对 CentOS 的要求经过 ios 镜像先装一下,这样就能够拿到一份不怎么需求修正的 Kickstart 配置文件
# ll /root # 你应该能够看到 anaconda-ks.cfg 文件
二:运用Kickstart Configuration Tool来创立和修正 Kickstart 配置文件
# yum install system-config-kickstart # 装置K...C...Tool
# system-config-kickstart # 发动K...C...Tool
验证 Kickstart 配置文件
运用 ksvalidator 验证 Kickstart 的配置文件语法
# yum install pykickstart
$ ksvalidator /path/to/kickstart.ks# 途径为kcikstart文件的途径
Kickstart 配置文件参阅
文件(ks.cfg)保存一下,后边会用到
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123456
# Use network installation
url --url="http://192.168.1.101/CentOS/7/repo"
# System language
lang en_US
# 用户协议
eula --agreed
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
user --groups=wheel --name=admin --password=$6$dFOvxfykHlSQW0Al$lYq0jhdvX0MzJsfF5poagu2tRGdb9
//xrzTIvfF6JKE1q2yflO19nGZf/A77/Pyp0vIjmk7f31gFmrtrypxBa/
--iscrypted --gecos="admin"
# System bootloader configuration
bootloader --location=none
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part swap --fstype="xfs" --size=2048
part / --fstype="xfs" --grow --size=1
%packages
...
...
...
%end
创立发动介质
Kickstart files 必须放置在以下方位之一
-
在可移动介质上,如 DVD 或 USB 闪存驱动器
PS:将完好 iso 刻录到 DVD 上,并设置计算机发动衔接DVD
-
衔接到装置体系的硬盘上
PS:将完好 iso 放在 硬盘 / USB 上装置体系
-
在从装置体系可接触到的网络共享上
PS:将 iso 镜像或装置树复制到可从装置体系拜访的网络上,经过网络进行装置
使 Kickstart files 可用
这里挑选基于网络的办法:PXE 网络服务器发动,从网络共享下载 Kickstart files,远程存储库下载文件中指定的软件包
建立镜像源
# yum install httpd
# systemctl start httpd
# systemctl enable httpd
# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system #挑选性履行
创立一个文件夹, 挂在 iso 镜像
# mkdir -p /var/www/html/CentOS/7/repo
# mount -r /dev/sr0 /var/www/html/CentOS/7/repo
建立 tftp server
# yum install tftp-server
# yum install tftp
# yum install xinetd
# vi /etc/xinetd.d/tftp # service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #将此值改为no,表明敞开此服务
per_source = 11
cps = 100 2
flags = IPv4
}
# systemctl enable tftp
# systemctl start tftp
# systemctl status tftp
# firewall-cmd --add-service=tftp # 封闭防火墙
# vi /etc/selinux/config #
封闭SElinux, 将 SELINUX=enforcing
改为 SELINUX=disabled
, 重启SElinux
配置 DHCP server
网络发动没地方配置 ip,只能主动获取
# yum install dhcp
# vi /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.48.0 netmask 255.255.255.0 {
range 192.168.48.10 192.168.48.100;
option routers 192.168.48.1;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.48.128;
filename "pxelinux.0";
}
}
# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl status dhcpd
配置 PXE 发动文件
BIOS(Legacy)方法发动
# yum install syslinux
# mkdir -p /var/lib/tftpboot/pxelinux # tftp 默许目录为 /var/lib/tftpboot
# cp /path_to/syslinux/{pxelinux.0, vesamenu.c32 , menu.c32} /var/lib/tftpboot/pxelinux
创立发动菜单
# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
# vi /var/lib/tftpboot/pxelinux/pxelinux.cfg/default
添加发动选项:
default vesamenu.c32
timeout 100
label 1
menu label ^1)Install CentOS7 x86_64(KickStart)
kernel images/CentOS/7/vmlinuz
append initrd=images/CentOS/7/initrd.img ks=http://192.168.1.101/CentOS/7/ks.cfg
label 2
menu label ^2)Install CentOS7 x86_64(Manual)
kernel images/CentOS/7/vmlinuz
append initrd=images/CentOS/7/initrd.img inst.repo=http://192.168.1.101/CentOS/7/repo
CentOSKickstart files
使装置源可用,默许发动菜单指定内核文件,没有就无法正常发动。
# mkdir -p /var/lib/tftpboot/pxelinux/CentOS/7/
# cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/CentOS/7/
PS:/path_to_x86_64_images:如果挂在途径不知道,经过 find / -name “pxeboot” 查找到pxeboot途径
发动 Kickstart Installations
设置 BIOS 发动为 PXE 发动,通常情况下按 “F12”
需求网络装置体系的机器和服务器接入互通网络环境, 就能够从网络装置 CentOS 了