在一个机缘巧合之下,我认识了系统运维,认识了linux,认识了一个激动而又神秘的世界。
由于博主之前都是用u盘制作的启动盘来进行安装任务的,一直没接触过pxe启动方式安装系统,于是今天,趁着手上的u盘都掉了,于是博主懒人就想准备用pxe这种引导方式来安装系统。
那么,开始之前,需要了解pxe引导方式需要的前置条件。百度派上了用场:
PXE(preboot execute environment)是由 Intel公司
开发的最新技术,工作于Client/Server的网络模式,支持 工作站
通过网络从远端服务器下载映像,并由此支持来自网络的 操作系统
的启动过程,其启动过程中,终端要求服务器分配 IP
地址,再用 TFTP
(trivial file transfer protocol)或 MTFTP
(multicast trivial file transfer protocol)协议下载一个启动 软件
包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如: Windows
95/98/2000, linux
等。
所以,从这段描述中我们知道,pxe启动方式需要的条件有:
1、dhcp服务
2、tftp服务或者mtftp服务
其次,既然安装系统,那么要有一个放系统的地方,那么还需要具备:
3、装系统镜像的服务器(http/ftp/nfs
)
既然要无人值守,那么需要一个脚本或者是工具来控制,网上寻找一番之后:
4、KickStart能完全满足我们的需求。
那么下面开始我们的安装了,首先先确定有一台提供以上服务的主机,其次确保一台被服务的客户机。
首先开始在服务的主机上安装以上服务:
#yum -y install tftp*
安装完毕之后,vi /etc/xinetd.d/tftp
找到一项,名为disable = no#disable的值由yes改为no
并且要记下server_args = -s /var/lib/tftpboot
重启tftp的守护进程xinetd:service xinetd restart
tftp服务配置完毕。
安装httpd服务:
yum -y install httpd*
这样子就可以将下载下来的iso文件全部复制到/var/www/html下了:
mount -o loop /iso完整的路径 /media
cp -rf /media/* /var/www/html
启动httpd服务:service httpd start
至此文件以及http服务准备完毕了。
下面要将必要的启动文件复制到tftpboot这个文件夹中,以供pxe引导:
所需文件
pxelinux.0 initrd.img vmlinuz 这三个文件放入/tftpboot中
(在iso文件里仔细找找,博主的pxeliunux.0是从网上下载的
可以yum install syslinux
find / -name pxelinux.0
找到
)
然后在tftpboot下新建个目录:
mkdir pxelinux.cfg
把光盘中的isolinux下的isoliunux.cfg复制到pxelinux.cfg目录下并更改名称为default
cd pxelinux.cfg
cp /var/ftp/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/defailt
启动工作也完毕了。
安装dhcp服务:
yum intsall dhcp*
复制dhcp的模板到/etc/dhcpd.conf
cp /usr/share/doc/dhcpd,conf.sample /etc/dhcpd.conf
(要了解dhcp配置文件的写法)
安装kickstart
yum install system-config-kickstart*
安装完毕在图形界面启动它:
system-config-kickstart
然后图形界面就不多作介绍了,最后设置完毕保存到/var/www/html/下
然后在/var/lib/tftpboot/default里加入一行:ks=http://192.168.1.1/ks.cfg
大功告成!