一、PXE简介:
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等。
二、利用虚拟机实现pxe实现centos的自动安装
实验环境:centos 6.4,VMware 10
实验内容:
打开一台虚拟机,做相应的配置,用作服务器
再创建若干台虚拟机,用作客户机,实现从服务器端的自动安装
实验拓扑如图所示:
三、实验步骤
① cd /etc/yum.repos.d/:进入文件,把目录下跟英特网有关的repo文件都给删掉,只留CentOS-Media.repo文件
mount /dev/cdrom /media/cdrom/:挂载光盘
cd /etc/yum.repos.d/:进入目录
rm *:交互删除当前所有
vim CentOS-Media.repo:修改文件,如图所示:
② 安装ftp服务器,dhcp服务器,tftp-server和system-congig-kickstart工具
yum install vsftpd:
yum install dhcp:
yum install tftp-server system-config-kickstart:可以一块安装,中间要加空格
③ 编辑/etc/dhcp/dhcpd.conf文件
vim /etc/dhcp/dhcpd.conf:打开文件,提示参考文件,直接追加过来修改即可
:r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample:底行模式下追加指定文件到当前文件,编辑如图所示:
④ 配置tftp-server9(udp 69)
rpm -ql tftp-server:查看包内容
cd /etc/xinetd.d/:进入目录
vim tftp:编辑文件,如图所示:
service iptables stop:关闭防火墙
chkconfig iptables off:把以后每次开机的防火墙都关闭
getenforce:查看selinux,显示关闭:
Permissive
setenforce 0:把selinux关闭
vim /etc/sysconfig/selinux:修改selinux文件(改为disabled,这样每次启动都会关闭)
service xinetd restart:重启服务
netstat -tupln |grep 69:查看下端口,已经启动
chkconfig xinetd on:设置每次开机都会启动
cd /var/lib/tftpboot/:进入目录
cd /var/lib/tftpboot/:进入该目录(客户机访问到服务器,要在这个文件夹拷贝文件,这些文件包括内核,驱动,镜像等,在/media/cdrom/isolinux/目录下,要去拷贝)
cp /media/cdrom/isolinux/vmlinuz ./:拷贝到当前目录
cp /media/cdrom/isolinux/initrd.img ./:拷到当前目录
cp /usr/share/syslinux/pxelinux.0 ./:把驱动也拷到当前目录
mkdir pxelinux.cfg:
cd pxelinux.cfg/:
cp /media/cdrom/isolinux/isolinux.cfg default:
⑤ 配置ftp服务器
service vsftpd start:
chkconfig vsftpd on:
cd /var/ftp:这是客户机访问服务器的家目录
cp -r /media/cdrom/. ./ &:把安装树拷到当前目录,后台运行
⑥ 编译脚本,把访问的客户机分配不同的
显示信息的最后一列的例子:
vim 1.sh:
⑦ 生成ks.cfg
system-config-kickstart:再次开启工具,正常了,设置的显示界面如下:
保存后会生成一个文件查看一下:vim ks.cfg 里面保存刚才的设置,内容如下:
cp ks.cfg /var/ftp :把生成的文件拷贝到匿名用户能访问到的ftp服务器的目录下
⑧ 编译pxelinux.0文件(告诉客户机ks.cfg在哪)
cd /var/lib/tftpboot/:进入目录,查看目录下内容:
cd pxelinux.cfg/:
vim default :编辑文件,如图所示:
⑨ 新建虚拟机,用作客户机去访问服务器,实现自动安装
这样就实现了不同客户机通过访问ftp服务器去安装系统。等待安装:
这样就实现了客户机的自动安装