PXE无人值守安装

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是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是 静态路由 ,而PXE是 动态路由 。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE 无盘工作站 的启动过程分析如下:
¨ 客户端 个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。
¨ Bootprom 送出 BOOTP/ DHCP 要求以取得 IP。
¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括
客户端 的 IP 地址, 预设网关, 及开机映像文件。否则,服务器会忽略这个要求。
¨ Bootprom 由 TFTP 通讯协议从服务器下载开机映像文件。
¨ 个人电脑通过这个开机映像文件开机, 这个开机文件可以只是单纯的开机程式也可
以是操作系统。
¨ 开机映像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root
系统。
¨ 远程客户端根据下载的文件启动机器。                                                                                                      

                                                                        -----------------------------摘自百度

实验环境:架设 HTTP/FTP/NFS TFTP DHCP服务器   CentOS-6.5-i386

实验步骤:

setup1)先来解决yum的问题。把与互联网相关的yum禁掉。只打开本地yum。

wKiom1LIAE6xY0_3AABgVI812S0845.jpg

setup2)挂载光驱。
   setup3)挂载后需要安装vsftpd,以及dhcp、tftp-server,得先把我们的实验环境架设好,才能保证实验顺利完成。

指令:yum install dhcp tftp-sever -y                  yum install vsftpd

安装完成后需要编辑/etc/dhcp/dhcpd.conf文件。按照文件的说明,将/usr/share/doc/dhcp*/dhcpd.conf.sample文件读取进来。再进行编辑。

用不到的选项一定要删除。我这里是将32行往后的内容全部删除了。只保留了一个作用域。
那些用不到的DNS服务器以及域名设置的选项也一并删除了吧,省得对实验有影响了。修改完成后启动服务。

wKioL1LH_iXhhjasAAAxtmCj5OM967.jpg

wKiom1LH_jLABW0WAAA_yceiWNo100.jpg


setup4)接下来操作ftp服务器的配置。将光盘上的全部文件拷贝到/var/ftp/目录下。进入/var/ftp目录下,执行指令:cp -r  /media/cdrom/.   ./  -------当前目录

拷贝完成后记得启动服务,并执行 chkconfig vsftpd on  --------开机启动

OK ftp服务也已经配置完毕。

setup5)使用rpm -ql tftp-server指令查看tftp的配置文件目录以及根目录。

wKioL1LH_iHQPlAhAACzrghiTsk104.jpg


修改xinetd配置文件。

wKiom1LH_ijC9ThVAABShkG4vJw587.jpg


修改完成后需要重启超级守护进程。因为这个服务是依赖超级守护进程的。
  setup6)进入tftp的根目录,目前这个目录是空的。现在就来拷贝引导所必须的文件吧。切换到光盘上,拷贝需要的文件。已经在下面标注出来了。

wKioL1LH_h2g4QuKAAD2kQIcGLs950.jpg


setup7)这两个文件拷贝完了后我们还缺少一个小工具,即pxe的驱动。这个驱动可能你的机子上没有安装,安装一下就行了。先查看系统中是否安装syslinux。我的主机上就没有安装,那就只好安装一下喽。

wKiom1LH_irSTaQRAABvcohBx-w147.jpg


安装完成 后进入安装目录。查看有没有pxe要用的驱动。把它拷贝到/var/lib/tftpboot目录下。

wKioL1LH_h6TCNupAABsH8HaN3s791.jpg

wKiom1LH_iyxYpkoAAB-fR1EGoA698.jpg


setup8)PXE需要自己的一个配置文件,那就建立一个默认的目录,专门放置PXE的配置文件。切换到这个目录,再来拷贝一个文件。

mkdir pxelinux.cfg

执行指令cp  /media/cdrom/isolinux/isolinux.cfg   ./default -------拷贝后的文件名


拷贝完后修改default文件。我这儿就只粘出要修改的地方以及修改后的结果。

wKioL1LH_iDAWFFyAAA2Dw1j6Pg351.jpg

wKiom1LH_i2CJ5-yAABAyqyiw1M542.jpg


setup9)这些做完后就只用再安装kickstart并做相应的配置就o了。

yum install system-config-kickstart  

关于kickstart后安装脚本,要配置一些什么呢?我这儿以修改主机名为例。主机名如果不做设置的话可能安装完成后每台主机的名字都一样了,大家也不希望自己的名字跟人家重名吧?都是想要自己的个性的。那主机当然也想还有自己的个性的名字了。那这个名字怎么设置呢?这里就要用到字符串的截取了。我以网卡通过DHCP获得的IP地址的最后一个字节位为主机名。

截取方法:

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

QQ=${IPSTRING##*.}---对结果进行截取,并赋值给QQ这个变量。

sed -i "s/HOSTNAME.*/HOSTNAME=inferr$QQ.a.com/" /etc/sysconfig/network---将结果追加到配置文件中。

IPSTRING为变量,就是将后面得到的结果赋值给IPSTRING这个变量,IPSTRING是获得主机IP地址的,然后再对IP地址进行截取。因为我只要最后一个字节位的。思路清晰之后就该编写脚本了,新建一个文件,编写脚本。

脚本内容粘给大家:

#!/bin/bash

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

QQ=${IPSTRING##*.}

sed -i "s/HOSTNAME.*/HOSTNAME=inferr$QQ.a.com/" /etc/sysconfig/network

sed -i 's/BOOTPROTO.*/BOOTPROTO=static/' /etc/sysconfig/network-scripts/ifcfg-eth0

echo "IPADDR=192.168.2.$QQ">>/etc/sysconfig/network-scripts/ifcfg-eth0

echo "NETMASK=255.255.255.0">>/etc/sysconfig/network-scripts/ifcfg-eth0

接下来该生成ks.cfg文件了。执行system-config-kickstart

弹出配置界面,前面的几步我都不再这里赘述了,详细的配置大家请看CentOS自动安装

在这儿只对最后的关键地方做说明。就是后安装脚本。

wKioL1LJP9eRkbJwAAFIyLPz7Ls013.jpg


配置好后保存。把刚刚配置好的ks.cfg拷贝到/var/ftp目录下。

setup10)做完这些工作后,把我们安装好的服务统统重启一下,最后别忘了关闭防火墙功能以及Selinux,这些小细节忘了的话也会影响实验的。最后就快来测试吧。新建一个虚拟机,这次不引导光盘选择自动,一切让它自己来完成。好好享受下面奇迹的时刻吧

wKioL1LJP9Ki4sstAABY-bpj1Ys730.jpg

wKioL1LJP9TCwarGAACD4T48Rf8211.jpg

wKiom1LJP-GxwVdWAAAXAnLKoH8288.jpg

wKioL1LJP9XCOeN7AABeXK23b5E924.jpg

wKiom1LJP-LQs7C5AAAv2IxgU6M253.jpg

一切OK,所有的默认配置都是我们所设置好的,跟预期一样。这就是PXE自动安装啦,自动引导安装是不是很让你省事呢!

你可能感兴趣的:(自动安装,pxe,无人值守安装)