基于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 不受影响系统: ...
随机推荐
- 开发工具之DevToys
DevToys 号称开发人员的瑞士军刀,可以帮助完成一些日常任务,比如格式化 JSON.比较文本.测试正则等,无需使用许多不真实的网站来处理的数据. 借助智能检测,DevToys 能够检测出可以处理在 ...
- Sublime之快捷操作
列举常用的Sublime操作,涉及操作 1.每行默认需要统一添加逗号 1)全选 ctrl + a 2) 组合键 ctrl + shift + l 即可进行操作 (这里是L哦) 之后也可以使用HOME键 ...
- 【集成-Nacos】SpringBoot集成Nacos
注意:以下主要演示动态配置 Nacos 是什么? Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生 ...
- kettle 简单使用
概要 KETTLE 是一个ETL工具,它可以在不同的数据源之间进行数据的抽取转换.下面简单介绍一下他是如何使用的. 下载 https://nchc.dl.sourceforge.net/project ...
- uni-app项目button组件去不掉的灰色边框爬坑
前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app. 坑位 最近在开发个人 ...
- vscode本地调试gitbook
1. windows下载安装git 2.安装nodejs 下载安装nvm https://github.com/coreybutler/nvm-windows/releases/download/1. ...
- 我的世界服务器搭建教程 兼容Paper核心 兼容Spigot核心
注意:该服务器是基于Paper1.20.1核心进行初始化,默认兼容spigot插件. 一.配置JDK环境 二. 服务器核心配置 三.服务器启动 四.加入游戏 现在搭建出来的是原版生存服务器,接下来需要 ...
- 【Python】【Jupyter】Jupyter 的简单使用 与 Python的基本输出输入
上课无聊写着玩的,不必当真. Jupyter 的简单使用 与 Python的基本输出输入 目录 Jupyter 的简单使用 与 Python的基本输出输入 数据准备 输出 输入 一些练习 print( ...
- 转载 Spring boot中配置事务管理
一.注解的方式 1. 在Spring boot工程的主入口类中加入注解 // 开启事务支持 @EnableTransactionManagement 1 2 2. 在需要事务支持的服务类(class) ...
- Centos yum命令提示failed to set locale, defaulting to C
目录 问题 locale提示 解决方案 问题 在输入yum命令是出现 Failed to set locale, defaulting to C 1 出现这个问题是由于系统没有正确设置locale环境 ...