CentOS7 使用 kickstart 批量安装操作系统
Kickstart 是什么?
kickstart是一个定义了Linux安装过程的配置文件,比如要在系统中使用的时区、如何对驱动器进行分区、或者应该安装哪些软件包。有了这个文件可以解放双手,让Linux安装过程按照我们预先定义的要求进行自动化安装,同时部署大量主机时十分有用。一般centos系统安装后,会在root目录下生成一个名为anaconda-ks.cfg的kickstart配置文件。
kickstart文件组成
命令段:用于配置系统
install
cdrom #安装介质
lang zh_CN.UTF-8 #安装语言
keyboard us #键盘类型
selinux --enforcing #是否开启selinux
timezone --utc Asia /ShanghAI #时区、系统时钟是否使用UTC时间
bootloader --location=mbr --driveorder=sda --append= "crashkernel=auto rhgb quiet"
软件包段:选择要安装的软件包组及软件包
@core #安装
@base #安装
lftp #安装
-zsh #这里说明不安装,但如果有其他安装的文件需要依赖其时,也会安装
脚本段:
%pre #安装过程开始之前执行的脚本;所能够执行的操作较少,因为是简洁版的shell环境;
%post #所有软件包安装完成之后执行的脚本;由于是此时系统已安装完成,所以是完整的shell环境;
指定kickstart配置文件对应格式如下:
kickstart资源 选项格式
CD ks=cdrom:/directory/ks.cfg
硬盘驱动器 ks=hd:device/directory/ks.cfg
FTP服务器 ks=ftp://server.mydomain.com/directory/ks.cfg
HTTP服务器 ks=http://server.mydomain.com/directory/ks.cfg
HTTPS服务器 ks=https://server.mydomain.com/directory/ks.cfg
NFS服务器 ks=nfs:server.mydomain.com:/directory/ks.cfg
其它设备 ks=file:/device/directory/ks.cfg
Kickstart安装部署操作
环境介绍
用于安装Kickstart的主机IP地址为172.16.252.251,os为CentOS 7.6
DHCP服务安装配置
安装DHCP
# 停止防火墙
systemctl stop firewalld && systemctl disabled firewalld
# 关闭SEliunx
vim /etc/selinux/config
... ...
SELINUX=enforcing 改为disabled
......
# 安装dhcp
yum install -y dhcp
配置DHCP
vim /etc/dhcp/dhcpd.conf
option domain-name-servers 223.5.5.5;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 172.16.252.0 netmask 255.255.255.0 {
range 172.16.252.100 172.16.252.200;
option routers 172.16.252.2;
next-server 172.16.252.251;
filename "pxelinux.0";
}
启动dhcp服务:
systemctl start dhcpd && systemctl enable dhcpd
镜像挂载
# 安装并启动httpd
yum install httpd -y
systemctl start httpd && systemctl enable httpd
# 设置永久挂载:
# 将本机cdrom中的系统挂载到路径中,也可以将本机中的iso文件挂载
vim /etc/fstab <
TFTP安装部署
# 安装tftp服务
yum install tftp-server xinetd -y
# 配置tftp
sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
# 启动tftp服务
systemctl start xinetd && systemctl enable xinetd
yum -y install syslinux -y
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/centos/isolinux/{vesamenu.c32,splash.png,vmlinuz,initrd.img} /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
# cp /var/www/html/centos/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cat > /var/lib/tftpboot/pxelinux.cfg/default <
应答文件配置
vim /etc/yum.repos.d/local.repo
[Deployment CentOS]
name= centos 7 local repo
baseurl=http://172.16.252.251/centos
gpgcheck=0
# 配置系统安装设定
vim /var/www/html/ks.cfg
install
keyboard 'us'
lang en_US
auth --useshadow --passalgo=sha512
rootpw --iscrypted $1$Ov9w.uuf$i5xxnVAy3ZwK7GIEyRymU0
text
firstboot --disable
selinux --disabled
firewall --disabled
reboot
timezone Asia/Shanghai
url --url="http://172.16.252.251/centos"
bootloader --location=mbr
zerombr
clearpart --all --initlabel
# 以下为将分区格式调整为uefi启动,启用lvm分区
bootloader --location=mbr --boot-drive=sda
clearpart --all --initlabel
part /boot/efi --fstype="efi" --ondisk=sda --size=300
part /boot --fstype xfs --ondisk=sda --size=1024
part pv.01 --fstype="lvmpv" --ondisk=sda --size=1 --grow
volgroup centos --pesize=4096 pv.01
logvol /home --fstype=xfs --size=4096 --name=home --vgname=centos
logvol swap --fstype=swap --size=4096 --name=swap --vgname=centos
logvol / --fstype=xfs --size=1 --grow --name=root --vgname=centos
%post --interpreter=/bin/bash
# useradd dev
# echo "passwd1!" | passwd --stdin dev # 此处可同步创建用户并给用户创建密码
echo "passwd1!" | passwd --stdin root # 此处为配置root 密码为passwd1!
%end
%packages
@base
@debugging
@performance
@vim
@git
@wget
%end
测试部署
将需要部署的主机加入到服务器的网络,确保能与服务器通信后,打开pxe启动,开机即可。
自动安装,安装完成后会自动重启进入系统。
进入系统后,root密码为预先配置的密码。
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





