一、pxe介绍
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址再用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。
二、.kickstart介绍
许多系统管理员倾向于使用自动安装方法来安装RedHat企业Linux在他们的机器上。为了满足这个需要,RedHat创建了kickstart安装方法。使用kickstart,系统管理员可以创建一个包含所有在典型的安装过程中通常会被问到的问题的答案的文件。启动文件可以保存在单个服务器系统上,并在运行期间有个人计算机读取安装。这安装方法可以支持使用一个启动文件来安装RedHat企业Linux在多台机器上。kickstart为用户提供了一种自动化的安装方法。
三、实验环境
1.系统:vm下的centos6.9
2.需要的条件:dhcp服务器、tftp服务器、vsftp服务器、system-config-kickstart软件包、syslinux软件包
四、操作步骤
1.安装需要用到的软件包:使用yum
2.配置tftp服务:编辑/etc/xinetd.d/tftp文件
把disable=yes 改为 no
启动服务:service xinetd start //xinetd为超级守护进程
3.
将vmlinuz、initrd.img、pxelinux.0、default拷贝到/var/lib/tftpboot
Vmlinuz是内核、initrd.img是驱动、pxelinux.0作用是引导、default是一个配置文件,需要创建一个目录pxelinux.cfg放置它。
除了pexlinux.0都可以在光盘镜像内的 isolinux 目录下找到
其中需要将isolinux.cfg改名为default
pxelinux.0 需要安装syslinux这个包
装完后在/usr/share/syslinux目录下就能找到
4.配置vsftp服务器:直接service vsftpd start就可以了
将光盘内的内容拷到/usr/ftp目录下 //光盘就是一个安装树,网络上的各个网站的镜像都是这个样子
5.配置dhcp服务器:编辑/etc/dhcp/dhcpd.conf文件
其中filename、next-server 解决了客户机从dhcp服务器获取地址的同时也获取到了tftp的服务器地址,以及pxelinux.0
6.产生ks.cfg文件:需要system-config-kickstart这个软件包
在终端执行system-config-kickstart启动kickstart配置程序 //这是一个图形窗口需要桌面或xmanager才能打开
出现以下情况是因为没有到连接互联网
因为我使用的是本地光盘镜像,所以我只留下Centos-Media.repo这个yum源
编辑Centos-Media.repo
将enable=0 改为 1
再次打开就不会出现上述的情况
然后就是配置ks.cfg文件
该文件可以分成三部分:
1.系统的参数配置
2.软件包的选择
3.脚本
附上脚本代码: //实现 开机后将获取到的ip截取最后的一位作为主机名为它们编号,并且把ip设为静态的
最后保存,并且将ks.cfg 拷贝到/var/ftp目录下
7.为了实现只要按下电源键就可以自动安装系统并关机
需要在ks.cfg文件中添加一句 poweroff
以及编辑/var/lib/tftpboot/pexlinux/default文件
将default 改成 linux 就是默认选择下图中的 label linux 这个选项
在加载完vmlinuz 与initrd.img 后指明ks.cfg文件的位置
8.最后需要修改防火墙:
由于是实验所以我直接将防火墙规则清除。
iptables -F INPUT
iptables -F OUPUT
到此就都配置完了,可以开始
实验结果:获取到了192.168.2.104的地址,同时也完成了对主机的编号
下图为安装系统到开机的日志文件