1.自动化安装脚本
自动化安装脚本就是在一个脚本当中写入服务器安装系统的一些数据命令 当调用这个脚本的时候就会自动给服务器装系统
2.如何生成自动安装脚本?
利用kickstart工具
kickstart是一个自动的安装方式,通过人工干预填写参数,并生成一个ks.cfg的文件 如果在自动化安装的过程中出现需要填写参数的情况,安装程序就会去找ks.cfg程序 若找到合适的参数就采用,找不到就需要人工进行填写 所以如果有合适的参数,安装者就可以只设置从何处调用ks.cfg文件即可
3.实验环境
再一台配置好共享yum源的主机上做实验
4.利用kickstart工具做一个简单的自动安装脚本来自动装一个新系统
步骤一:在主机上搭建DHCP服务器,由于之前安装过dhcpd软件,所以直接启动即可
没有dhcpd软件的,直接yum install dhcpd 即可,因为已经有yum源库
查看dhcp的配置文件是否存在
编辑dhcp的配置文件
编辑好后重启dhcp服务
dhcp服务器搭建成功
步骤二:yum search kickstart寻找生成自动安装脚本的工具
安装此工具
可见安装成功
安装完成后开启httpd服务,下载安装httpd软件,因为之前我们已经下载过,所以直接启动即可,目的是为了能用yum源共享
步骤三:system-config-kickstart开启这个工具,会出来一个自动安装脚本的图形配置界面,最后将该文件保存到/var/www/html/下即可,保存在/var/www/html/下是为了能通过http超文本传输协议共享
步骤四:配置
基础设置:设置语言,键盘语言,时区,root用户密码,安装好后自动重启,以及非图形下的安装。
选择安装一个新系统,通过HTTP服务安装,提供源的主机信息172.25.254.60,安装源的地址填/rhel7.3。此处代表路径则是/var/www/html/rhel7.3
重新加载启动一个新系统,系统在磁盘里面,磁盘的引导程序bootloader促使0磁头读取c盘,启动系统,mbr在0磁道
新系统的分区情况如下
安装网卡名称为eth0,网络类型是dhcp动态分配ip
加密方式选择默认SHA512加密
防火墙设置不工作,因为需要用http服务来提供网络yum源。
启动设定为非图形界面,这样启动速度快
最开始安装新系统不需要选择安装包
自动安装脚本里面不需要写安装前的动作
安装后的动作,在/mnt/下新建file文件1-100
先保存到/root下 然后在mv到/var/www/html/下
步骤五:将ks.cfg文件放在/root下,cd ~
vim ks.cfg ksvalidator ks.cfg 检查语法是否有错
将时区更改,然后至少要安装@base包组,%pacakages开始%end结束,我将安装后执行的脚本也改变了,意思是使安装后的虚拟机,可使用网络yum源,共享yum源的地址是http://172.25.254.60/rhel7.3
通过ksvalidator命令来检测自动安装脚本配置有无语法错误,有错误就会提示,可见此脚本无语法错误。
将ks.cfg文件拷贝到/var/www/html/下,需要将它保存在共享yum源目录下才能引导其他新的服务器装系统,前提:有yum源的主机必须开启httpd服务,才能进行共享其他主机装系统。
我们在之前配好的镜像的浏览器里输入http://172.25.254.60/ks.cfg发现是可以看到共享的ks.cfg文件的
同样也有共享的yum源软件仓库
打开虚拟机管理器
选择网络安装方式
成功安装。用root身份用户密码登陆即可。
dhcp分配id,id为172.25.254.89
综上所述还是需要用kickstart命令之后在图形界面勾选才可以创建新的虚拟机,那么如何实现,全自动脚本安装呢?这就需要借助脚本来实现了。之前我们有实验是创建虚拟机到选择安装版本的脚本,现在只需要在之前那个脚本之后加入kickstart部分的脚本即可两个一体化,完全自动化创建虚拟机。
我们先 man virt-install看一下,kickstart在脚本中怎么使用
先更改一下我们之前创建好的ks.cfg这个文件:
然后用ksvalidator ks.cfg来检查有无语法错误
由于我们是网络http配置,所以我们选择这段,将之前的cdrom改成location,意思为使用网络共享yum源来安装
vim我们之前我们写好的虚拟机创建脚本
然后sh执行这个可执行文件,实现全自动创建虚拟机