基于网络的无人值守安装操作系统
简介:
1、pxe
2、kickstart
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。适用于安装多台机器时,不用人工交互,从而省去管理者的时间。
拓扑图:
实验环境:
VMware Workstation10、
Centos 6.5(最小安装)、网络模式 仅主机模式,开启dhcp、关闭防火墙、
远程连接工具:Xmanager Enterprise 4
tftp、vsftp的安装树和引导程序都在本机上
原理:
步骤一:
首先安装dhcp、tftp-server、vsftpd
[root@new ~]# yum --disablerepo=\* --enablerepo=c6-meida install dhcp tftp-server vsftpd -y
二、 配置dhcp服务器
[root@new ~]# vim /etc/dhcp/dhcpd.conf
这是dhcp的配置文件,可以将样例配置文件
删除掉不需要的,这里我将37行下的删除
保存退出
三、配置tftp-server
[root@new tftpboot]# cp /media/cdrom/isolinux/vmlinuz ./ [root@new tftpboot]# cp /media/cdrom/isolinux/initrd.img ./
[root@new tftpboot]# yum --disablerepo=\* --enablerepo=c6-media install syslinux -y cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
新建一个引导程序的配置文件的文件夹
[root@new tftpboot]# mkdir pxelinux.cfg ***名字要写成这个规定的名字
[root@new tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default ***
名字要写成default
修改配置文件default,作用是给网络引导指明ks.cfg和安装树的位置
四、FTP服务器的配置
vsftp主要放置【放置有ks.cfg文件、安装树】
1、产生ks.cfg文件,先安装包system-config-kickstart
在执行kickstart命令之前先设置一下yum源
[root@new yum.repos.d]# mkdir linshi [root@new ~]# cd/etc/yum.repos.d/ [root@newyum.repos.d]# mv CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo./linshi [root@new yum.repos.d]#vim CentOS-Media.repo
[root@new ~]# system-config-kickstart
配置完成后保存
[root@new ~]# vim ks.cfg
ks.cfg为预安装系统指明安装树的位置
[root@new ~]# cp ks.cfg /var/ftp/
2、产生安装树(安装系统的各种应用)
[root@new ~]# mount /dev/cdrom /var/ftp/pub/
这样就产生了安装树
服务器端基本配置完成,下面可以新建一个虚拟机,进行安装测试
因为已经配置有dhcp的服务器,所以虚拟机的就可以关掉了
设置启动方式
选择网络进行引导
可以看到,系统正在安装,实验是成功的
还有小问题:
安装后的主机名是都一样的,为了能够使每一台主机都能有属于自己的主机名,这是可以在ks.cfg文件里加入shell脚本,来控制每一台机器名字的唯一,也可以在创建ks.cfg文件是,加入进去。
脚本内容:
其他案例可参考http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html