PXE服务器 -预引导执行环境-指示客户端计算机启动,运行或安装操作系统直接形成一个网络接口,无需刻录CD / DVD或使用物理介质,或者,可以缓解安装Linux的工作分布在多台机器上的网络基础设施上。
在RHEL / CentOS 7中设置PXE网络引导
要求
- CentOS 7最小安装步骤
- RHEL 7最小安装步骤
- 在RHEL / CentOS 7中配置静态IP地址
- 在RHEL / CentOS 7中删除不需要的服务
- 在RHEL / CentOS 7中安装NTP服务器以设置正确的系统时间
本文将解释如何安装和配置在RHEL / CentOS 7 x64位PXE服务器与镜像的本地安装存储库,通过CentOS 7 DVD ISO镜像提供源,具有的dnsmasq服务器的帮助。
它提供DNS和DHCP服务,syslinux包这对于网络引导,TFTP的服务器 ,这使得可通过使用普通文件传输协议 (TFTP)和VSFTPD服务器网络,该网络将承载本地下载启动映像安装镜像DVD映像提供引导程序 - 它将作为官方的RHEL / CentOS 7镜像安装存储库,安装程序将从中提取其所需的软件包。
第1步:安装和配置DNSMASQ服务器
1.无需提醒你,绝对是要求你的网卡接口之一,如果您的服务器带来更多网卡,必须从属于该网段,将提供PXE相同的IP范围内的静态IP地址来配置服务。
所以,你已经配置静态IP地址后,更新了系统,并执行其他初始设置,使用下面的命令来安装的dnsmasq守护进程。
# yum install dnsmasq
安装dnsmasq软件包
位于/ etc目录下的dnsmasq 2.主默认的配置文件是不言自明,但打算是相当困难的编辑,做它的高度评价说明。
首先确保备份此文件,以备以后需要查看,然后通过发出以下命令,使用您喜欢的文本编辑器创建一个新的空配置文件。
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup # nano /etc/dnsmasq.conf
3.现在,复制和粘贴dnsmasq.conf文件进行如下配置,并确保您更改解释如下语句来匹配相应的网络设置。
interface=eno16777736,lo #bind-interfaces domain=centos7.lan # DHCP range-leases dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h # PXE dhcp-boot=pxelinux.0,pxeserver,192.168.1.20 # Gateway dhcp-option=3,192.168.1.1 # DNS dhcp-option=6,92.168.1.1, 8.8.8.8 server=8.8.4.4 # Broadcast Address dhcp-option=28,10.0.0.255 # NTP Server dhcp-option=42,0.0.0.0 pxe-prompt="Press F8 for menu.", 60 pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux enable-tftp tftp-root=/var/lib/tftpboot
Dnsmasq配置
需要更改的语句如下:
- 接口 -服务器应该倾听和提供服务的接口。
- 绑定接口 -取消注释绑定只在此接口。
- 域 -你的域名更换。
- DHCP范围 -通过这一细分网络掩码定义的IP范围内更换。
- DHCP启动 -与您的接口IP地址更换IP声明。
- DHCP选项= 3,192.168.1.1 -与您的网络段网关更换IP地址。
- DHCP选项= 6,92.168.1.1 -与您的DNS服务器IP更换IP地址-多个DNS IP地址可以被定义。
- 服务器= 8.8.4.4 -把你的DNS转发器的IP地址。
- DHCP选项= 28,10.0.0.255 - -可更换网络广播地址的IP地址。
- DHCP选项= 42,0.0.0.0 -把你的网络时间服务器-可选(0.0.0.0地址是自我参照)。
- PXE的提示 -保留默认值-指打F8键,进入菜单60秒与等待时间..
- PXE =服务 -使用x86PC 32位/ 64位架构下的字符串引号进入菜单说明提示。 其他值类型可以是:PC98,IA64_EFI,Alpha,Arc_x86,Intel_Lean_Client,IA32_EFI,BC_EFI,Xscale_EFI和X86-64_EFI。
- 使-TFTP -启用内置的TFTP服务器。
- TFTP根 -使用的/ var / lib中的/ tftpboot -所有网络启动文件的位置。
如对配置文件等高级选项随时免费阅读的dnsmasq说明书 。
第2步:安装SYSLINUX引导加载程序
4.在您编辑并保存的dnsmasq主配置文件后,继续前进并发出以下命令来安装Syslinx PXE引导程序包。
# yum install syslinux
安装Syslinux引导加载程序
5. PXE引导程序文件驻留在/ usr /共享/ syslinux的绝对系统路径,这样你就可以通过上市这条道路的内容进行检查。 这一步是可选的,但你可能需要知道这条道路,因为在下一步,我们将复制其所有内容到TFTP服务器的路径。
# ls /usr/share/syslinux
Syslinux文件
第3步:安装TFTP服务器并使用SYSLINUX Bootloader填充它
6.现在,让我们进入下一步安装TFTP服务器和,然后从上面列出的位置复制由SYSLINUX软件包提供的所有文件bootloders到/ var / lib中的/ tftpboot通过发出以下命令路径。
# yum install tftp-server # cp -r /usr/share/syslinux/* /var/lib/tftpboot
安装TFTP服务器
第4步:设置PXE服务器配置文件
7.通常,PXE服务器读取一组特定的文件,它的配置(GUID文件-首先,MAC文件-接下来, 默认文件-最后一个)一个名为pxelinux.cfg的文件夹中托管,必须位于目录中指定TFTP从的dnsmasq主配置文件-root声明。
创建所需的目录pxelinux.cfg的 ,并发出以下命令用默认的文件填充它。
# mkdir /var/lib/tftpboot/pxelinux.cfg # touch /var/lib/tftpboot/pxelinux.cfg/default
8.现在是时候编辑PXE服务器的配置文件,有效的Linux发行版的安装选项。 另外请注意,在这个文件中使用的所有路径必须是相对于在/ var / lib中/ tftpboot目录。
下面您可以看到一个示例配置文件,您可以使用它,但修改安装映像(内核和initrd文件),协议(FTP,HTTP,HTTPS,NFS)和IP,以反映您的网络安装源存储库和路径。
# nano /var/lib/tftpboot/pxelinux.cfg/default
将以下整个摘录添加到文件。
default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title ########## PXE Boot Menu ########## label 1 menu label ^1) Install CentOS 7 x64 with Local Repo kernel centos7/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount label 2 menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo kernel centos7/vmlinuz append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp label 3 menu label ^3) Install CentOS 7 x64 with Local Repo using VNC kernel centos7/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password label 4 menu label ^4) Boot from local drive
配置PXE服务器
正如你所看到的CentOS 7的启动映像(内核和initrd)驻留在名为centos7目录的相对一到/ var / lib中的/ tftpboot(绝对系统路径,这将意味着在/ var / lib中的/ tftpboot / centos7)和安装程序库可以通过使用192.168.1.20/pub网络位置FTP协议达成-在这种情况下,回购被本地托管因为IP地址是相同的PXE服务器地址)。
另外菜单标签3指定客户端安装应从远程位置通过VNC来完成(此处替换使用强密码VNC密码)的情况下,你一具无头客户端和菜单标签2指定的安装
安装源CentOS 7官方Internet镜像(这种情况下需要通过DHCP和NAT在客户端上可用Internet连接)。
重要提示 :当您在上面的配置看,我们已经使用CentOS 7演示目的,但你也可以定义RHEL 7张图片,并按照整个说明和配置基于CentOS 7只,所以一定要小心,而选择分配。
第5步:将CentOS 7启动映像添加到PXE服务器
9.对于这一步CentOS的内核和initrd文件是必需的。 要获得这些文件需要CentOS的7 DVD ISO镜像。 因此,继续前进,下载CentOS的DVD影像,把它放在你的DVD驱动器,通过发出以下命令安装映像到/ mnt系统路径。
使用DVD而不是最小CD映像的原因是随后该DVD内容将用于创建
在本地安装存储库FTP源。
# mount -o loop /dev/cdrom /mnt # ls /mnt
Mount CentOS DVD
如果你的机器没有DVD驱动器,你也可以下载的CentOS 7 DVD ISO本地使用wget或curl公用事业从CentOS的镜像 ,并安装它。
# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso # mount -o loop /path/to/centos-dvd.iso /mnt
10. DVD内容可用后,创建centos7目录和复制的CentOS 7启动内核和initrd映像从DVD安装位置centos7文件夹结构。
# mkdir /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
复制CentOS可引导文件
之所以使用这种方法的缺点是,以后你可以创建在/ var / lib中的/ tftpboot路径的新独立的目录,并添加其他Linux发行PXE菜单不搞乱整个目录结构。
第6步:创建CentOS 7本地镜像安装源
11.虽然通过各种协议,你可以设置安装源镜如HTTP,HTTPS或NFS,这篇指南中,我选择了FTP协议,因为是非常可靠和易于使用的vsftpd服务器的帮助设置。
而且安装vsftpd的守护进程,复制所有DVD安装内容vsftpd的默认服务器路径( 在/ var / ftp / pub下 ) -这可能需要一段时间,具体取决于您的系统资源,并通过发出以下命令可读权限追加到该路径。
# yum install vsftpd # cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
安装VSftpd服务器
将文件复制到FTP路径
在FTP路径上设置权限
第7步:在系统范围内启动和启用守护进程
12.现在,PXE服务器配置终于写完了,开始的dnsmasq和VSFTPD服务器,核实他们的身份,并使其全系统,每个系统重新启动后自动启动,通过运行下面的命令。
# systemctl start dnsmasq # systemctl status dnsmasq # systemctl start vsftpd # systemctl status vsftpd # systemctl enable dnsmasq # systemctl enable vsftpd
启动Dnsmasq服务
启动Vsftpd服务
第8步:打开防火墙和测试FTP安装源
13.为了获得一个需要在防火墙上打开,以便客户机到达,并从PXE服务器启动,运行netstat命令,并添加CentOS 7 Firewalld相应规则的dnsmasq和vsftpd的监听端口,所有端口的列表。
# netstat -tulpn # firewall-cmd --add-service=ftp --permanent ## Port 21 # firewall-cmd --add-service=dns --permanent ## Port 53 # firewall-cmd --add-service=dhcp --permanent ## Port 67 # firewall-cmd --add-port=69/udp --permanent ## Port for TFTP # firewall-cmd --add-port=4011/udp --permanent ## Port for ProxyDHCP # firewall-cmd --reload ## Apply rules
检查监听端口
在防火墙中打开端口
14.要测试FTP安装源的网络路径打开浏览器本地( 猞猁应该这样做),或者在不同的计算机上,并输入与您的PXE服务器的IP地址
FTP协议其次/酒馆网络位置的URL提交,结果应该在下面的截图中可以作为介绍。
ftp://192.168.1.20/pub
通过浏览器访问FTP文件
15.要为最终的错误配置或实时模式的其他信息和诊断调试PXE服务器运行以下命令。
# tailf /var/log/messages
检查PXE日志中的错误
16.最后,你需要做的最后必需步骤是卸装的CentOS 7 DVD,并删除物理介质。
# umount /mnt
第9步:将客户端配置为从网络引导
17.现在你的客户可以引导和通过配置网络启动从他们的系统BIOS 主引导设备或作为主板说明书中指定击球时BIOS POST操作指定的键在他们的机器安装CentOS 7。
为了选择网络启动。 首先出现PXE提示后,按F8键进入演示文稿,然后按下回车键继续前进到PXE菜单。
PXE网络引导
PXE网络操作系统引导
18.一旦你已经达到PXE菜单中,选择你的CentOS 7的安装类型,按Enter键继续安装过程,你可以从本地媒体引导设备安装方式相同。
请注意,使用此菜单中的变体2需要目标客户端上的活动Internet连接。 另外,在下面
屏幕截图,您可以看到通过VNC进行客户端远程安装的示例。
PXE菜单
远程Linux通过VNC安装
远程安装的CentOS
这是所有在CentOS 7中设置了一个最小的PXE服务器 。在我的本系列的下一篇文章中,我将讨论有关此PXE服务器配置,如使用Kickstart文件,添加其他Linux发行的CentOS 7如何设置自动安装等问题PXE菜单- Ubuntu服务器和Debian 7。