基于Linux系统的PXE搭建方法
本文分享自天翼云开发者社区《基于Linux系统的PXE搭建方法》,作者:t***n
一、底层环境准备
1、安装RedHat7.6系统
2、关闭防火墙和Selinux
systemctl stop firewalld
chkconfig firewalld off
vim /etc/sysconfig/selinux
修改SELINUX=disabled
3、配置本地yum源
vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=RHEL7
baseurl=file:///mnt
enabled=1
gpgcheck=0
4、安装需要的服务及软件包
yum install vsftpd tftp-server dhcp syslinux system-config-kickstart
dhcp:提供dhcp服务
vsftpd:管理本地挂在的OS完整镜像
tftp-server:使可启动镜像通过使用tftp协议网络下载
syslinux:包含网络启动所需的boot loader
system-config-kickstart:配置kickstart的图形界面的工具
5、本地物理机网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.64.25
NETMASK=255.255.255.0
GATEWAY=192.168.64.2
二、配置DHCP服务
vim /etc/dhcp/dhcpd.conf
添加如下:
option arch code 93 = unsigned integer 16;
allow booting;
allow bootp;
subnet 192.168.64.0 netmask 255.255.255.0 {
option routers 192.168.64.2;
range 192.168.64.100 192.168.64.200; #分配出去的IP范围
class "pxeclients" {
match if substring (option vendor-class-identifier,0,9) = "PXEClient";
next-server 192.168.64.25; #tftp地址,即本机PXE server IP
if option arch = 00:07 {
filename "pxelinux/BOOTX64.EFI"; #6系统UEFI模式下PXE启动时的引导文件,7系列系统还可以使用shim&grubx64.efi
}
else {
filename "pxelinux/pxelinux.0"; #Legacy模式
}
}
}
注意:启动DHCP前要配好本机网络地址信息,否则无法启动dhcpd
启动服务:
#service dhcpd start [ok]
#service dhcpd restart [ok]
三、配置tftp服务
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
service_args = -s/tftpboot ###修改为引导文件的路径,本文以 /var/lib/tftpboot为例
per_xource = 11
cps = 100 2
flags =IPv4
disable = no ###将disable改为no
}
启动服务:
#service xinetd restart [ok]
四、配置PXE启动引导目录
1、将系统镜像mount或拷贝到PXE服务器上
mkdir /var/ftp/pub/RHEL7_6 ###因为用ftp搭建,所以要放在/var/ftp/文件夹中,RHEL7_6是以系统命名的,若还要其它系统可同时存在,做好区分即可
mount /dev/sr0 /mnt
cp /mnt/* /var/ftp/pub/RHEL7_6/ ###此处全copy过去,若挂载为mount /dev/sr0 /var/ftp/pub/RHEL7_6,但是mount是一次生效的,后续再用还需要mount,且安装系统过程中mount 不能中断
2、copy引导文件到/var/lib/tftpboot/pxelinux中
mkdir /var/lib/tftpboot/pxelinux/RHEL7_6 ###因为可能会做多个系统,所以在pxelinux中创建不同系统所对应的文件夹
cp /var/ftp/pub/RHEL7_6/images/pxeboot/vmlinuz /var/lib/tftpboot/pxelinux/RHEL7_6
cp /var/ftp/pub/RHEL7_6/images/pxeboot/initrd.img /var/lib/tftpboot/pxelinux/RHEL7_6
cp /var/ftp/pub/RHEL7_6/EFI/BOOT/BOOTX64.EFI /var/lib/tftpboot/pxelinux
cp /var/ftp/pub/RHEL7_6/EFI/BOOT/grubx64.cfg /var/lib/tftpboot/pxelinux
3、创建Legacy模式的安装启动文件default
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
vim default
default 0 #默认进label0
timeout 600 #600秒后自动进label1系统安装
prompt 1
label 0
localboot 0
label 1
kernel RHEL7_6/vmlinuz
append initrd=RHEL7_6/initrd.img inst.repo=ftp://192.168.64.25/pub/RHEL7_6/ ip=dhcp nomodeset ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg
4、创建UEFI模式的引导文件grub.efi
vim /var/lib/tftpboot/pxelinux/grub.efi
menuentry 'Install Red Hat Enterprise Linux 7.6' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /pxelinux/RHEL7_6/vmlinuz inst.repo=ftp://192.168.64.25/pub/RHEL7_6 ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg
initrdefi /pxelinux/RHEL7_6/initrd.img
}
5、将/var/lib/tftpboot/pxelinux.0文件拷贝到/var/lib/tftpboot/pxelinux文件夹中
五、重启PXE服务器
六、重启PXE服务器系统下的相关服务
service dhcpd restart
service xinetd restart
service vsftpd restart
service tftp restart
基于Linux系统的PXE搭建方法的更多相关文章
- 基于Linux系统--web环境搭建
上线部署文档 数据库部分1.下载Mysql服务 #yum install mysql-server 2.更改 /etc/my.cnf 3.启动Mysql ...
- 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务
孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...
- 基于Linux系统的Nagios网络管理模块的实现
基于Linux 系统的Nagios网络管理模块的实现 1.引言 随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一.在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境.计算机网络管理 ...
- Linux系统中安装软件方法总结
Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...
- linux系统下本地搭建git服务器
linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...
- linux系统ecshop拿shell方法
Title:linux系统ecshop拿shell方法 --2011-06-08 13:23 最近弄一个站,对ECSHOP拿shell不了解,导致走了很多的弯路. nginx/0.8.54的服务器, ...
- 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器
一.Linux基础使用:linux服务器环境搭建(FTP服务器), 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器,要求能使用ftp服务将本机文件到保存linux虚拟机上 资料: VMwa ...
- 基于Linux系统geth的安装
转载地址 https://blog.csdn.net/qq_36124194/article/details/83658580 基于Linux系统geth的安装 安装ethereum sudo apt ...
- 总结四条对学习Linux系统有帮助的方法
网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...
- 基于Linux系统的病毒
虽然在Linux里传播的病毒不多,但也是存在一些,我从一些安全网站搜集了一些资料. 1.病毒名称: Linux.Slapper.Worm 类别: 蠕虫 病毒资料: 感染系统:Linux 不受影响系统: ...
随机推荐
- (Redis基础教程之九) 如何在Redis中使用Sorted Sets
介绍 Redis是一个开源的内存中键值数据存储.在Redis的,排序集合类似于一个数据类型集在这两者都是串的非重复的组.不同之处在于,已排序集中的每个成员都与一个分数相关联,从而可以从最小分数到最大分 ...
- 【实战问题】-- 并发的时候分布式锁setnx细节
前面讲解到实战问题]-- 设计礼品领取的架构设计以及多次领取现象解决?,如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只 ...
- Mybatis【6】-- Mybatis插入数据后自增id怎么获取?
代码直接放在Github仓库[https://github.com/Damaer/Mybatis-Learning/tree/master/mybatis-05-CURD ] 需要声明的是:此Myba ...
- vtkDelaunay2D 错误 Edge not recovered, polygon fill suspect
vtkDelaunay2D 在设定SetSourceData边界处理凹多边形时,不稳定,有概率会出现"Edge not recovered, polygon fill suspect&quo ...
- VLC web(http)控制 (1) 设置与登录
VLC3.0 web控制设置步骤: 1.打开偏好设置并显示全部: 2.进入主界面选项,选中Web: 3.进入Lua中设置HTTP密码: 重启软件生效. 这时就可以通过http://127. ...
- Simple FOC内置通信接口学习(二):电机命令接口
本文参(zhao)考(chao)至官方文档https://docs.simplefoc.com/docs_chinese/commander_interface Commander 接口 Comman ...
- XLST 的坑
微软真的挖了很多坑,可能就像任正非说的,在90年代进入了无人区,差不多十年多时间有精力没有地方撒,无法判断前进方向,推出了很多错误的路线.现在遇到的 XLST 就是一个大坑. XLM 在 00 年后开 ...
- 在.NET Core中使用异步多线程高效率的处理大量数据的最佳实践
目录 一.引言 二.假设场景 三.解决方案 四.示例代码 一.引言 处理大量数据是一个常见的需求,传统的同步处理方式往往效率低下,尤其是在数据量非常大的情况下.本篇将介绍一种高效的多线程异步处理大数据 ...
- 关于Jetson nano (B02)如何部署Yolov8以及一些必要的知识点
一.前言 记录一个简单的安装和部署过程,尽管笔者也是按照教程来的,但奈何参考了很多教程,虽然写的都非常好,但是却很散,因此笔者这里想把这些教程的精华提炼出来,汇总并且写在正文处.还是老规矩,笔者也在学 ...
- Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用
一.前言 之前在做倍速这个功能的时候,发现快速播放会有滴滴滴的破音出现,正常1倍速没有这个问题,尽管这个破音间隔很短,要放大音量才能听到,但是总归是不完美的,后面发现,通过修改qaudiooutput ...