CentOS 6.5 PXE无人值守安装

 1.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/winXP/win7/win8,linux等。

      PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。


      PXE+KickStart无人值守安装的原理:

      1. DHCP服务器给需要安装的机器分发IP, 并指定ftp服务器地址和pxelinux.0

      next-server 192.168.146.129;  

      filename "pxelinux.0";  

     2. 客户端连接到服务器,读取启动文件 /tftpboot/pxelinux.cfg/default

     3. 根据default里面指定的ks.cfg文件的位置,打开KickStart配置文件,

     4. 根据ks.cfg的ftp服务器的配置, 读取/var/lib/tftpboot文件, 引导安装程序


2.PXE服务器环境及所需应用

      centos6.5 : 操作系统

      主机IP : 192.168.146.129

dhcp:动态主机配置协议,给客户端提供ip地址

tftp-server:tftp服务器端,提供系统安装所需文件

xinetd:tftp服务超级守护进程,用于唤醒tftp服务

httpd:基于http服务提供安装源

syslinux:提供pxelinux.0文件,此文件用于引导系统,相当于bootloader


3.实现步骤

 前提:安装好所需应用包

 yum install dhcp tftp-server xinted syslinux httpd -y


3.1 配置dhcp服务

  复制范例配置文件到指定目录进行修改

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf  #复制脚本

vim /etc/dhcp/dhcpd.conf         #打开配置文件,具体如下:

spacer.gifwKiom1VF-ayAqL1WAAFtvwd0dC4573.jpg

  dhcp服务配置完成,测试配置无语法错误后,启动服务并设置开机自启

      service dhcpd configtest      //检测配置语法

      service dhcpd force-reload  //重新加载配置文件

      chkconfig --list dhcpd        //查看dhcpd服务是否自启动

      chkconfig dhcpd on          //设置dhcpd服务开机自启动

      service dbcpd status         //查看dhcpd服务的状态

 

3.2 配置tftp server 

      

     与配置dhcp服务类似,也许设置tftp服务开机自启动并启动其超级守护进程xinetd

      chkconfig --list tftp      //查看 tftp服务是否自启动

      chkconfig tftp on          //设置 tftp服务开机自启动

        service xinetd restart    //启动

       ss -unl | grep:69



3.3、提供PXE的工作环境

     复制pxelinux.0文件(由syslinux包提供,需提前安装)到tftp工作目录

      #cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

     

       在/var/lib/tftpboot下创建目录pxelinux.cfg

 

3.4、提供引导内核等文件

       挂载系统光盘,假设位置为/media/cdrom/


#cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/ #复制内核ramdisk

#cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32}  /var/lib/tftpboot   #复制menu框架和背景图片

#mkdir /var/lib/tftpboot/prelinux.cfg   #创建独特目录pxe格式要求

#cp /media/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default  #复制选项菜单文件

 

3.5、提供安装源

         基于http服务实现

           ss -tln|grep :80 #查看是否正常启动    service httpd status  #查看服务状态

           mkdir -pv /var/www/html/centos/6/x86_64                 #创建目录

           mount /dev/crom   /media/crom                       #挂载目录

           mount --bind /media/cdrom /var/www/html/centos/6/x86_64 #绑定目录


3.6、提供ks.cfg文件

            cp  ks.cfg /var/www/html/centos6.cfg

             #vim ks.cfg

          #修改或添加以下两项,目标指向安装源

          url --url=http://192.168.146.129/centos6

          repo --name="Redhat" --baseurl=http://192.168.146.129/centos6 --cost=100


       为了启动时能够加载kickstart文件,还需要修改/var/lib/tftpboot/pxelinux.cfg/default文

件,添加ks文件的位置。

 

         #vim /var/lib/tftpboot/pxelinux.cfg/default

  

label linux

  menu label ^Install or upgrade an existingsystem

  menu default

  kernel vmlinuz

  append initrd=initrd.img ks=http://192.168.146.129/centos6.cfg   #指向ks文件




3.7、设置客户端启动项

将待装系统的主机设置为网卡启动,再进行启动即可。

wKioL1VGAmqguGRJAADfltVljrQ661.jpg

wKiom1VPQ0_jjpJ1AAEDBLHecNQ071.jpg

你可能感兴趣的:(linux,protocol,IP地址,最新技术)