Kickstart可以实现批量安装、部署系统环境快、可实现无人值守安装。
实现原理:配置批量的安装的服务器,在服务器端建立网络镜像、搭建DHCP服务、HTTP服务。当同子网内的裸机开机时选择网络安装,网卡开始向服务器获取IP,IP获取到之后通过TFTP服务获取到启动文件。然后利用http访问服务器端的HTTP服务,获取到网页下的镜像开始安装。
PXE(Preboot Execution Environment)可实现网卡在开机时作为启动项启动,从而接收网络相关参数及启动引导文件。
实验环境 centos 7.3 本机IP:192.168.2.1 网关:192.168.2.1
1.#yum install tftp-server dhcp httpd xinetd syslinux –y
//安装syslinux以得到pxelinux.0启动文件
2. #vim /etc/xinetd.d/tftp
找到disable那一行,把yes改为no
----------------------------------------------------
disable = no
----------------------------------------------------
3.#systemctl enable xinted
#systemctl start xinted
4.#vim /etc/dhcp/dhcpd.conf
-----------------------------------------------------
subnet 192.168.2.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.2.10 192.168.2.20; //动态启动进程IP,给网络启动的主机分配的IP。
filename "pxelinux.0"; //设定PXE启动文件
next-server 192.168.2.1; //设定tftp服务IP,写本机(server)IP
option routers 192.168.2.1; //网关
}
------------------------------------------------------
##systemctl enable dhcpd
#systemctl start dhcpd
5. 准备PXE相关文件至tftp根目录
#mount /dev/cdrom /media //挂在镜像
#cd /media
#mkdir -v /var/lib/tftpboot/pxelinux.cfg/
复制如下文件
#cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot
#cp images/pxeboot/vmlinuz /var/lib/tftpboot/
#cp images/pxeboot/initrd.img /var/lib/tftpboot/
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
6. #vim /var/lib/tftpboot/pxelinux.cfg/default //找到内容所在的行
------------------------------------------------------
label linux
menu label ^Install Red Hat Enterprise Linux 7.0//名字可以自己取,
menu default //默认的启动项,添加此行
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.2.1/rhel7 quiet //设置启动的镜像源的位置
label check
menu label Test .........
menu default //删除此行
------------------------------------------------------
7. #mkdir -v /var/www/html/rhel7
#mount /dev/cdrom /var/www/html/rhel7 //把服务器本地源挂载到http目录下
#systemctl enable httpd
#systemctl start httpd
ks生成(在GUI模式生成)
1)安装ks生成工具
#yum install system-config-kickstart
2)切换至图形界面
#systemctl isolate graphical.target
3)#system-configkickstart //图形化生成ks.cfg文件。
保存在/var/www/html下
-----------------------------------------------------------------------
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us' //键盘的模式
# Reboot after installation
reboot
# Root password
rootpw --iscrypted $1$tee5NWcB$6HBZtANuse7iC0Dw0moyo1
//在图形化之间生成的密码文件,自己写无效
# System timezone
timezone Asia/Shanghai //时区
# Use network installation
url --url=http://192.168.2.1/rhel7 //指定网络安装的服务地址及目录
# System language
lang zh_CN //语言
# Firewall configuration
firewall –disabled //防火墙状态
# Network information
network --bootproto=dhcp --device=eno16777736 //启动网卡的名称
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux –disabled //防火墙状态
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=1024 //boot分区大小
part / --fstype="ext4" –grow //剩余空间都给根
part swap --fstype="swap" --size=2048 //swap分区大小
%packages
@base //基本系统组件
@core //核心组件 基本安装只选base 和core
Chrony //指定安装的程序
%end
-----------------------------------------------------------------------
4)#vim /var/lib/tftpboot/pxelinux.cfg/default
-----------------------------------------------------------------------
inst.repo=http://172.16.1.1/rhel7 quiet ks=http://192.168.2.1/ks.cfg
//有了ks文件,逻辑在找到引导时候读取ks文件,根据配置文件执行安装
-----------------------------------------------------------------------
完成以上步骤即可开启裸机测试!