Linux之kickstart全自动安装

kickstart

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。

注意:手动编写kickstart脚本难度较大,采用我们系统自带软件包工具来制作。但是会有BUG产生,选择软件包需要手动添加。

kickstart自动安装虚拟机

这个测试是在虚拟机配置kickstart并进行共享,在真机上测试自动安装虚拟机。
在做测试之前需要先配置yum仓库,挂载镜像,配置DHCP,具体步骤见我的相关博客。

一、在虚拟机

1、
yum install httpd #下载httpd
yum install system-config-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   #设置自动安装的选择

接下来是手动填加的图形操作步骤:
Linux之kickstart全自动安装_第1张图片
Linux之kickstart全自动安装_第2张图片
Linux之kickstart全自动安装_第3张图片
Linux之kickstart全自动安装_第4张图片
添加的几个简单的分区,linux必须的分区是根分区(/)和swap分区:
Linux之kickstart全自动安装_第5张图片
Linux之kickstart全自动安装_第6张图片
Linux之kickstart全自动安装_第7张图片
接下来:
Linux之kickstart全自动安装_第8张图片
Linux之kickstart全自动安装_第9张图片
Linux之kickstart全自动安装_第10张图片
Linux之kickstart全自动安装_第11张图片
Linux之kickstart全自动安装_第12张图片
Linux之kickstart全自动安装_第13张图片
Linux之kickstart全自动安装_第14张图片
操作完以上步骤,紧接着来进行第3步
3、测试:
浏览器查看 http://ip/ks.cfg,如下图则表示kickstart配置文件共享成功
Linux之kickstart全自动安装_第15张图片
4、
vim ks.cfg #编辑文件,指定安装过程中需要安装的软件,文件内容如下图
Linux之kickstart全自动安装_第16张图片
ksvalidator ks.cfg #检测语法是否正确

二、在真机

vim /mnt/xxx.sh
chmod /mnt/xxx.sh #加可执行权限
/mnt/xxx.sh 虚拟机名字 #执行脚本,生成虚拟机

[root@foundation69 ~]# vim /mnt/haha.sh
文件内容:
vim /mnt/haha.sh
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \
--network source=br0,model=virtio \
--location http://172.25.254.23/source7.0 \
--extra-args "ks=http://172.25.254.223/ks.cfg"
:wq  退出保存
[root@foundation69 ~]# chmod +x /mnt/haha.sh
[root@foundation69 ~]# /mnt/haha.sh ceshi

执行完以上代码则显示自动安装虚拟机,下图则是文本形式自动安装的界面:
Linux之kickstart全自动安装_第17张图片
注意:
如果界面出来了,当安装多个虚拟机时,卡在某个地方有可能是dhcp配置文件里面的地址池范围过小,导致ip不够分,也有可能是ks.cfg文件有问题,在手动添加过程中有错误
如果界面没有出来,可能是安装虚拟机的脚本有问题

你可能感兴趣的:(Linux)