Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。
注意:手动编写kickstart脚本难度较大,采用我们系统自带软件包工具来制作。但是会有BUG产生,选择软件包需要手动添加
这个测试是在虚拟机上配置kickstart并且共享
然后在真机上测试自动安装虚拟机
真机先决条件:要配置好yum源,配置好dhcp,打开httpd
一.在虚拟机
1.利用配置好的真机yum源下载httpd,再下载system-config-kickstart
yum install httpd #下载httpd
yum install system-config-kickstart #下载kickstart
2.打开http用作之后共享,关闭防火墙以便共享
[root@localhost Desktop]# systemctl start httpd #打开httpd
[root@localhost Desktop]# systemctl enable httpd #开机不自启
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
[root@localhost Desktop]# systemctl stop firewalld #关闭火墙
[root@localhost Desktop]# systemctl disable firewalld
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
[root@localhost Desktop]# system-config-kickstart #设置kickstart自动安装的选择
按照图片所示,生成ks.cfg,保存到/var/www/html/中,再vim ks.cfg ,在最后添加
%packages
@base
%end
再用ksvaildator ks.cfg #检查语法是否准确
3.测试
在真机浏览器输入浏览器查看 http://ip/ks.cfg,
如下图则表示kickstart配置文件共享成功
再用ksvaildator ks.cfg #检查语法是否准确
二.在真机
vim /mnt/test.sh #编写自动安装虚拟机的脚本
文件内容:
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9 \
--network bridge=br0,model=virtio \
--location http://172.25.254.37/rhel7.0 \ #真机yum源
--extra-args ks=http://172.25.254.87/ks.cfg &
再 chmod +x /mnt/test.sh #给test.sh脚本添加执行权限
/mnt/test.sh qq #运行脚本,就会创建一个名称为qq的虚拟机
**注意:
当安装多个虚拟机时,卡在某个地方有可能是dhcp配置文件里面的地址池范围过小,导致ip不够分,也有可能是ks.cfg文件有问题,在手动添加过程中有错误
**