未加星标

CentOS系统下PXE服务器的搭建与部署

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏
一、PXE简介

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


CentOS系统下PXE服务器的搭建与部署

严格来说,PXE 并不是一种安装方式,而是一种引导方式

二、PXE的工作原理流程介绍及示意图
CentOS系统下PXE服务器的搭建与部署
CentOS系统下PXE服务器的搭建与部署
PXE的工作原理流程主要分为如下几步 (1)PXEClient向DHCP发送请求

PXEClient从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP协议发送一个广播请求,向本网络中的DHCP服务器索取IP。

(2)DHCP服务器提供信息

DHCP服务器收到客户端的请求,验证是否是合法的PXE Client的请求,验证通过它将给客户端一个提供相应,这个提供相应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

(3)PXE客户端请求下载启动文件

客户端收到服务器的回应后,会回应一个帧,以请求传送启动所需文件。这些文件包括:pxelinux.0、pxelinux.cfg/default、initrd.img等文件。

(4)BootServer响应客户端请求并传送文件

当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答,用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Liunx安装程序的引导内核。

(5)请求下载自动应答文件

客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么介质来安装linux

如果通过网络安装(NFS.FTP.HTTP),则会在这个时候初始化网络,并定位安装源位置。

接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

(6)客户端将开始安装操作系统

将ks.cfg文件下载回来后,通过该文件找到OS Server,并安装该文件的配置请求下载安装过程需要的软件包。

OSServer和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。

三、CentOS系统下PXE服务器的搭建与部署

接下来结合下面的拓扑,用VMWare Workstation模拟PXE服务器的搭建与部署


CentOS系统下PXE服务器的搭建与部署

具体操作步骤

1、安装DHCP服务 [root@CentOSPXEServer~]#yuminstall-ydhcp

编辑vi dhcpd.conf DHCP服务配置文件/etc/dhcp/dhcpd.conf

#新增如下dhcp配置 next-server10.112.105.253; filename"pxelinux.0"; subnet10.112.105.0netmask255.255.255.0{ range10.112.105.210.112.105.250; optionsubnet-mask255.255.255.0; optionrouters10.112.105.254; optiondomain-name-servers114.114.114.114; default-lease-time600; max-lease-time7200; }
CentOS系统下PXE服务器的搭建与部署

启动dhcpd服务并设置为开机自启动

[root@CentOSPXEServer~]#/etc/rc.d/init.d/dhcpdstart Startingdhcpd:[OK] [root@CentOSPXEServer~]#chkconfigdhcpdon [root@CentOSPXEServer~]# 2、安装TFTP服务 [root@CentOSPXEServer~]#yuminstalltftp-serverxinetd
CentOS系统下PXE服务器的搭建与部署

TFTP服务使用Xinetd服务管理,编辑/etc/xinetd.d/tftp,将文件中disable的参数由yes改为no


CentOS系统下PXE服务器的搭建与部署
[root@CentOSPXEServer~]#/etc/rc.d/init.d/xinetdstart Startingxinetd:[OK] [root@CentOSPXEServer~]#chkconfigxinetdon [root@CentOSPXEServer~]#chkconfigxinetd--list xinetd0:off1:off2:on3:on4:on5:on6:off [root@CentOSPXEServer~]#
CentOS系统下PXE服务器的搭建与部署
3、接下来配置支持PXE引导启动程序

PXE启动映像文件由syslinux软件提供,只要安装了syslinux,就会生成一个pxelinux.0文件,将这个文件复制到TFTP默认路径即可。syslinux是一个功能强大的引导加载程序

[root@CentOSPXEServer~]#yuminstallsyslinux [root@CentOSPXEServer~]#cp/usr/share/syslinux/pxelinux.0/var/lib/tftpboot/ [root@CentOSPXEServer~]# [root@CentOSPXEServer~]#cd/var/lib/tftpboot/ [root@CentOSPXEServertftpboot]# [root@CentOSPXEServertftpboot]#ll-trh total28K -rw-r--r--.1rootroot27KOct2019:24pxelinux.0
CentOS系统下PXE服务器的搭建与部署

接下来挂载CentOS6.9的启动DVD镜像到/mnt/cdrom目录


CentOS系统下PXE服务器的搭建与部署
[root@CentOSPXEServer~]#mkdir/mnt/cdrom [root@CentOSPXEServer~]#mount-tiso9660-oloop/dev/cdrom/mnt/cdrom/
CentOS系统下PXE服务器的搭建与部署
[root@CentOSPXEServer~]#mkdir/var/lib/tftpboot/PXEServer [root@CentOSPXEServer~]#cp/mnt/cdrom/images/pxeboot/vmlinuz/var/lib/tftpboot/PXEServer/ [root@CentOSPXEServer~]#cp/mnt/cdrom/images/pxeboot/initrd.img/var/lib/tftpboot/PXEServer/ [root@CentOSPXEServer~]#cp/usr/share/syslinux/menu.c32/var/lib/tftpboot/
CentOS系统下PXE服务器的搭建与部署
[root@CentOSPXEServer~]#mkdir/var/lib/tftpboot/pxelinux.cfg [root@CentOSPXEServer~]#cp/mnt/cdrom/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default
CentOS系统下PXE服务器的搭建与部署

修改default文件

[root@CentOSPXEServer~]#chmod644/var/lib/tftpboot/pxelinux.cfg/default [root@CentOSPXEServer~]# [root@CentOSPXEServer~]#vi/var/lib/tftpboot/pxelinux.cfg/default defaultmenu.c32 timeout100 menutitleWelcometoCentOS6.9PXE! menucolorborder0#ffffffff#00000000 menucolorsel7#ffffffff#ff000000 menucolortitle0#ffffffff#00000000 menucolortabmsg0#ffffffff#00000000 menucolorunsel0#ffffffff#00000000 menucolorhotsel0#ff000000#ffffffff menucolorhotkey7#ffffffff#ff000000 menucolorscrollbar0#ffffffff#00000000 labellinux menulabel^1)InstallCentOS6.9FromPXEServer kernelPXEServer/vmlinuz appendinitrd=PXEServer/initrd.imgmethod=http://10.112.105.253/PXEServerdevfs=nomount labellocal menulabel^2)Bootfromlocaldrive localboot0xffff #可作为模板
CentOS系统下PXE服务器的搭建与部署
4、安装HTTP服务并配置httpd服务

先把镜像中文件全部复制到/var/lib/tftpboot/PXEServer/目录下


CentOS系统下PXE服务器的搭建与部署

接下里安装并配置httpd服务

[root@CentOSPXEServer~]#yuminstallhttpd [root@CentOSPXEServer~]#cd/etc/httpd/conf.d/ [root@CentOSPXEServerconf.d]#ll-trh total8.0K -rw-r--r--.1rootroot299Feb192018welcome.conf -rw-r--r--.1rootroot392Jun1923:45README [root@CentOSPXEServerconf.d]#mvwelcome.confwelcome.conf_bak [root@CentOSPXEServerconf.d]#vipxeboot.conf Alias/PXEServer/var/lib/tftpboot/PXEServer <Directory/var/lib/tftpboot/PXEServer> OptionsIndexesFollowSymLinks OrderAllow Allowfromall </Directory>
CentOS系统下PXE服务器的搭建与部署
[root@CentOSPXEServerconf.d]#servicehttpdrestart [root@CentOSPXEServerconf.d]#chkconfighttpdon [root@CentOSPXEServerconf.d]# [root@CentOSPXEServerconf.d]#chkconfighttpd--list httpd0:off1:off2:on3:on4:on5:on6:off
CentOS系统下PXE服务器的搭建与部署

测试httpd服务是否部署成功,能否正常访问


CentOS系统下PXE服务器的搭建与部署
5、接下来PXEClient开机启动测试验证

1)新建的虚拟机PXEClient进行测试,开机选择从网络启动


CentOS系统下PXE服务器的搭建与部署

2、这时出现之前自定义的菜单


CentOS系统下PXE服务器的搭建与部署
CentOS系统下PXE服务器的搭建与部署

3)选择从PXE启动后开始加载vmlinuz initrd.img等启动文件

4)接下来选择语言键盘,设置IP


CentOS系统下PXE服务器的搭建与部署
CentOS系统下PXE服务器的搭建与部署
CentOS系统下PXE服务器的搭建与部署

5)就进入熟悉的系统安装界面了


CentOS系统下PXE服务器的搭建与部署
PXE服

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:CentOS系统下PXE服务器的搭建与部署
本站链接:https://www.codesec.net/view/620738.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(9)