上一节总结以下有关于虚拟机的创建、快照、重装以及管理,这一节总结利用脚本来自动安装linux主机以及DHCP服务
一、Kickstart
1、kickstart是一个主机安装脚本生成器,通过图形化的界面选择安装主机的配置,之后自动生成 ks.cfg格式的脚本,再结合上一节学的自动安装虚拟机的知识,完成通过脚本自动安装linux主机的目标
2、安装kickstart
如果没有安装就通过yum search kickstart 查找安装
然后通过 system-config-kickstart 命令调取kickstart的界面图形,之后根据选项安装
这是每个类型的意思
package selection 无法选择,我们需要编辑ks.cfg文件添加上我们所需的包和服务
pre-installation script 安装前执行脚本
post-installation script 安装后执行脚本
然后保存下来,因为咱们选择的安装路径是http的,所以建议直接保存再/var/www/html 下,就可以直接通过url访问了
如果没有保存再这个地址,就得用 cp 的命令,将它复制到这个目录下,只能用复制
3、编辑ks.cfg
因为packages的无法选择,所以我们需要再ks.cfg中添加底40-43行的代码
如果是添加服务,直接填写服务,如:lftp
如果是添加包,需要再前面加上 ‘ @ ‘号,如:@base
最后以%end结尾
这是ks文件的参数解析
4、ksvalidator命令
通过这个命令可以帮助审核ks文件的格式,但不能审核配置的内容
他就会自动审核出格式出现的问题,只能审核格式
5、安装虚拟机
再上一节的脚本基础上增加如下代码
规范一点就是这样
这里将系统的读取方式(location)改变了,同时增加了需要读取脚本的功能(extra-args)
这些都以通过man virt-install 来查看相应的参数
然后运行,等待就可以了
注意:
如果选择DHCP,一定要打开DHCP的服务,同时配置正确
如果提示无法打开ks.cfg,先查看HTTP服务是正常,然后查看配置文件
配置文件包括建立的虚拟机的脚本,KS的脚本
拓展:
如何控制创建出来的虚拟机DHCP的地址段?
设想:修改本机桥接地址
二、HTTP服务基础
1、通过YUM安装http服务
2、建立新的目录,将硬盘挂载到目录上,使得能够通过url访问下载数据
这么做的目的是为了告诉kickstart脚本来这里读取硬盘和脚本
http的目录再 /var/www/html 下
http相当于一个共享的空间
三、DHCP服务
1、通过yum安装dhcp服务
2、拷贝dhcp配置文件并修改
3、查看DHCP分配的地址
四、添加防火墙规则
1、添加http和dhcp服务
五、总结
想要在真机自动部署虚拟机需要以下几点:
1、http、dhcp服务
2、创建虚拟机的脚本或者图形化界面读取安装盘信息(virt install)
3、创建自动读取安装盘信息的脚本(kickstart)
4、防火墙允许策略
5、一块安装盘(读取方式可以是cdrom、http等)