位置: 编程技术 - 正文
推荐整理分享详解Linux系统下PXE服务器的部署过程(linux pb),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux pb,linux p4,linux px,linux-p,linux p4,linux-p,linux-p,linux p,内容如对您有帮助,希望把文章链接给更多的朋友!
在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量. 但是批量自动化安装服务器的基础是网络启动服务器(bootserver). 下面我们就介绍一下 网络启动服务器的 安装和配置方法,供大家实践之用!1. 本文用到的术语解释PXEPXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行.DHCPDHCP(Dynamic Host Control Protocol) 动态主机控制协议.用于集中、动态的给客户机分配IP地址.TFTPTFTP(trivial file transfer protocol),一种开销很小的文件传输协议,语法类似ftp.因简单、高效,常用于网络设备的OS和配置更新.2. PXE 原理2.1. PXE Client Api (架构)
图 PXE API架构图。(图片来源:PXE Specification Version 2.1)上图说明: 当BIOS把PXE Client载入记忆体,此时便具有DHCP Client及TFTP Client的能力。PXE Client具备DHCP Client能力,可以透过DHCP Server来取得IP位址。 PXE Client具备TFTP Client能力”,可通过TFTP来下载kernel image等文件。2.2. PXE启动流程图(pxe boot)
上图启动流程说明如下:PXE Client 向 UDP 端口 广播 DHCPDDISCOVER 消息.DHCP SERVER 或者 DHCP Proxy 收到广播消息后,发送DHCPOFFER(包含ip地址)消息 到 PXE Client的 端口.PXE Client 发送 DHCPREQUEST 消息到 DHCP SERVER ,获取启动文件(boot file name).DHCP SERVER 发送DHCPACK(包含Network Bootstrap Program file name)消息 到PXE Client.PXE Client 向 Boot Server 获取 NBP(Network Bootstrap Program) 文件.PXE Client 从TFTP SERVER 下载 NBP,然后在客户端执行NBP文件注意: 在NBP执行初始化后,NBP会按照自己默认的方式从TFTP SERVER中下载其他所需的配置文件. 这个时候 PXE 启动流程已经完成了,剩下的工作都是有NBP来执行完成的. 例如: pxelinux.0(NBP) 他会下载 default 配置文件,来显示菜单,根据需要启动不同的kernel image. 如果是RIS(window安装)的NBP,会启动 Windows boot loader 来执行安装部署widows任务.3. PXE BOOT Server 配置过程以下配置和测试 都是在 Centos5 上完成的,其他系统请酌情参考!3.1. DHCP的安装与配置在PXE引导过程中,PXE Client通过DHCP Server 获取ip地址,NBP文件名称,然后从TFTP SERVER 下载NBP文件并在客户端执行,从而启动计算机。请确认系统中安装 dhcp 软件包编辑 /etc/dhcpd.conf 配置文件,配置文件内容如下复制代码代码如下: [root@linux]# cat /etc/dhcpd.conf ddns-update-style interim; allow booting; #定义能够PXE启动 allow bootp; #定义支持bootp next-server ..0.1; #TFTP Server的IP地址 filename "pxelinux.0"; #bootstrap 文件(NBP) default-lease-time ; max-lease-time ; ping-check true; option domain-name-servers ..0.1; subnet ..0.0 netmask ...0 { range ..0. ..0.; option routers ..0.1; option broadcast-address ..0.; }注意:在 /etc/dhcpd.conf 配置文件中 filename "pxelinux.0"; 文件目录是相对于 tftp 的根目录(默认是 /tftpboot),所以文件的绝对路径就是: /tftpboot/pxelinux.0";当然也可以指定为其它的路径.配置完成后,重启DHCP服务,并将它设为开机自启动复制代码代码如下: [root@linux]# /etc/init.d/dhcpd start 启动 dhcpd: [确定] [root@linux]# chkconfig --level dhcpd on3.2. 安装配置TFTP服务器在PXE引导过程中,PXE Client 使用TFTP协议从TFTP服务器下载bootstrap文件并执行.请确认系统中安装 tftp-server 软件包配置tftp服务,tftp 服务由xinetd服务管理 编辑 /etc/xinetd.d/tftp 文件,将 disable = yes 改为:disable = no .配置文件内容如下:复制代码代码如下: [root@linux]# cat /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer # protocol. The tftp protocol is often used to boot diskless # workstations, download configuration files to network-aware printers, # and to start the installation process for some operating systems. # default: off # description: The tftp server serves files using the trivial file transfer # protocol. The tftp protocol is often used to boot diskless # workstations, download configuration files to network-aware printers, # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = cps = 2 flags = IPv4 }注意:TFTP服务器的根目录是 /tftpboot,配置完成后重启xinetd服务,使TFTP服务器生效.复制代码代码如下: [root@linux]# /etc/init.d/xinetd restartbootstrap 文件配置 (NBP),这里使用 pxelinux.0bootstrap文件由syslinux软件包提供,我们只要安装了syslinux,将 pxelinux.0 这个文件复制到 /tftpboot 目录即可:复制代码代码如下: [root@linux]# rpm -ql syslinux | grep "pxelinux.0" /usr/lib/syslinux/pxelinux.0 [root@linux]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/配置 pxelinux.0(NBP) 使用的配置文件接下来创建/tftpboot/pxelinux.cfg/ 目录,该目录用于存放客户端的配置文件复制代码代码如下: [root@linux]# mkdir /tftpboot/pxelinux.cfg默认配置文件default,文件内容如下、复制代码代码如下: [root@linux]# cat /tftpboot/pxelinux.cfg/default default linux # 默认启动的是 'label linux' 中标记的启动内核 prompt 1 # 显示 'boot: ' 提示符 timeout # 等待超时时间,单位为 1/ 秒,超时后自动启动 默认指定的label display boot.msg # 显示boot.msg的内容,文件路径是相对tftp server 的根目录(默认 /tftpboot),所以boot.msg文件绝对路径在 /tftpboot/boot.msg . F1 boot.msg # 按下'F1' 键后显示的文件 F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label 1 # 'label' 指定你在 'boot:' 提示符下输入的关键字。 kernel linux/rh-x-/vmlinuz append initrd=linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link label 2 kernel linux/rh-x-/vmlinuz append initrd=linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link label 3 kernel linux/rh-x-/vmlinuz append initrd=linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link label 4 kernel linux/rh-x-/vmlinuz append initrd=linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link label 5 kernel image/linux/rh-x-/vmlinuz append initrd=image/linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link label 6 kernel linux/rh-x-/vmlinuz append initrd=linux/rh-x-/initrd.img ramdisk_size= ks= ksdevice=link 注意事项: 默认 pxelinux.0 和 pxelinux.cfg 一定要在同一个目录下3.3. pxelinx.0(NBP)程序配置文件搜索顺序由于多个客户端可以从一个PXE服务器引导,PXE引导映像使用了一个复杂的配置文件搜索方式来查找针对客户机的配置文件. 假设 客户端服务器的网卡的MAC地址为 ::AA:BB:CC:DD ,对应的IP地址为..1.,那么客户端的pxelinux.0 程序 搜索顺序如下:首先以MAC地址为文件名匹配的配置文件,如果不存在,继续查找.其次以IP地址来查找.根据IP地址进制命名的配置文件查找,从小范围到打大分为查找(子网掩码由小到大),如果不存在,继续查找.最后尝试default文件总体来说,pxelinux.0 搜索的文件的顺序是(可以通过tcpdum得到结果):复制代码代码如下: /tftpboot/pxelinux.cfg/---aa-bb-cc-dd /tftpboot/pxelinux.cfg/C0AC3 /tftpboot/pxelinux.cfg/C0AC /tftpboot/pxelinux.cfg/C0A /tftpboot/pxelinux.cfg/C0A /tftpboot/pxelinux.cfg/C0A8 /tftpboot/pxelinux.cfg/C0A /tftpboot/pxelinux.cfg/C0 /tftpboot/pxelinux.cfg/C /tftpboot/pxelinux.cfg/default4. 总结(Summary)
Linux系统上PPTP协议VPN服务器架设方法 VPN服务常用的协议一般有两种:PPTPPPTP(点对点隧道协议)是一个很好的,轻量级的VPN协议,高速提供基本的在线安全。PPTP是内建于各种桌面和移动设
在Linux系统下使用TUN/TAP虚拟网卡的基本教程 在计算机网络中,TUN与TAP是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行
配置iptables实现本地端口转发的方法详解 场景假如你在用resin调试一个Web程序,需要频繁地重启resin。这个Web程序需要开在端口上,而Linux限制以下的端口必须有root权限才能开启。但是你又
标签: linux pb
本文链接地址:https://www.jiuchutong.com/biancheng/353379.html 转载请保留说明!友情链接: 武汉网站建设