Pex自动安装Centos

           

         PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTPtrivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统, 

如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等。

                                          ---------------- 实现环境:32centos6.4

                                                     使用FTPclient连接

网络拓扑图如下:

一:服务器设置

   安装服务器应用软件:dhcp  vsftp  ftp-server  syslinux

   开启vsftpd服务并把安装资料拷贝到ftp服务的目录下/var/ftp/

编辑dhcp的配置文件dhcpd.conf

  进去以后发现什么都没有使用底行模式读取/usr/share/doc/dhcp-4.1.0/dhcpd.conf.sample中的样配置。

 

     在作用域中写入ftp服务器的ip地址子网掩码还有dhcp地址池的范围  (这里是作为实验用所以填写的是私网地址)

在作用域中用next-server写入tftp-server的位置和对应的文件名

 

检查语法并开启dhcp服务

   编辑/etc/xinetd.d/tftp文件开启tftp服务

拷贝pex驱动/usr/share/syslinux/pxelinux.0tftp服务的家目录/var/lib/tftpboot/

[root@vbird ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

   tftp服务的家目录/var/lib/tftpboot/中创建pex驱动的配置目录lexlinux.cfg

[root@vbird tftpboot]# mkdir pxelinux.cfg

拷贝pxe的配置文件到pxelinux.cfg并把光盘中的镜像文件和内核文件拷贝到tftpboot

   编辑default文件

编辑一个脚本来管理client的主机名

 

#!/bin/bash

STRING=`ifconfig eth0 |grep 'inet\>' |awk '{print $2}'`

NUM=${STRING##*.}

sed -i -e "s@HOSTNAME.*@HOSTNAME=station$NUM.a.com@"  /etc/sysconfig/network

sed  -i -e "s@BOOTPROTO.*@BOOTPROTO=static\nIPADDR=192.168.2.$NUM\nNETMASK=255.255.255.0@"  /etc/sysconfig/network-scripts/ifcfg-eth0

删除/etc/yum.repos.d/目录下的其他文件只留下CentOS-Media.repo

编辑CentOS-Media.repo文件

安装system-config-kickstart来产生ks.cfg文件

 

最后把把产生的ks.cfg文件拷贝到/var/ftp/目录下

    客户机选择网络引导开始pxe自动安装centos系统

可以看出完全实现了自动安装