PXE组件及过程分析
• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源
• 客户机应具备的条件
– 网卡芯片必须支持PXE协议
– 主板支持从网卡启动
1.部署DHCP服务器
• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理
• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址
• DHCP地址分配的四次会话(广播进行,先到先得)
– DISCOVERY --> OFFER --> REQUEST -->ACK
在一个网络中,只能有一个DHCP服务器
• 服务端基本概念
– 租期:允许客户机租用IP地址的时间期限,单位为秒
– 作用域:分配给客户机的IP地址所在的网段
– 地址池:用来动态分配的IP地址的范围
pc7:
1.1 安装dhcp软件包
1.2 修改配置文件 /etc/dhcp/dhcpd.conf
末行模式 :r /usr/share/doc/dhcp*/dhcpd.conf.example
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 192.168.4.7;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
}
1.3 重起服务
]# systemctl restart dhcpd
1.4 添加网络装机配置
]# vim /etc/dhcp/dhcpd.conf
..........
next-server 192.168.4.7; #指定下一个服务器IP地址
filename "pxelinux.0"; #指定网卡引导文件名称
}
]# systemctl restart dhcpd
pxelinux.0:网络装机说明书 二进制文件
安装一个软件可以获得,默认名字pxelinux.0络装机配置
2.部署tftp服务
tftp:简单的文件传输协议 默认端口:69
默认共享的路径:/var/lib/tftpboot
2.1 安装软件包
]# yum -y install tftp-server
]# systemctl restart tftp
]# systemctl enable tftp
2.2 部署pxelinux.0文件
]# yum -y install syslinux
]# yum provides */pxelinux.0
匹配来源:
文件名 :/usr/share/syslinux/pxelinux.0
]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
pxelinux.0
2.3 部署菜单文件
]# mkdir /var/lib/tftpboot/pxelinux.cfg
]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg
]# mount /dev/cdrom /mnt
]# ls /mnt/isolinux/
boot.cat grub.conf isolinux.bin memtest TRANS.TBL vesamenu.c32
boot.msg initrd.img isolinux.cfg splash.png upgrade.img vmlinuz
]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
]# ls -l /var/lib/tftpboot/pxelinux.cfg/default
-r--r--r-- 1 root root 3166 1月 29 08:52 /var/lib/tftpboot/pxelinux.cfg/default
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
]# ls -l /var/lib/tftpboot/pxelinux.cfg/default
-rw-r--r-- 1 root root 3166 1月 29 08:52 /var/lib/tftpboot/pxelinux.cfg/default
2.4 部署 图形的模块 与 背景图片
]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg splash.png vesamenu.c32
2.5 部署 启动内核 与 驱动程序
vmlinuz 启动内核 initrd.img 驱动程序
]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 pxelinux.cfg splash.png vesamenu.c32 vmlinuz
2.6 修改菜单文件
]# vim /var/lib/tftpboot/pxelinux.cfg/default
开启行号功能 :set nu
1 default vesamenu.c32 #默认加载图形模块
2 timeout 60 #读秒时间 1/10 秒
.......
9 menu background splash.png #设置背景图片
10 menu title NSD1810 PXE Server ! #修改标题
.......
60 label linux
61 menu label Install RHEL7 #菜单内容
menu default #读秒结束默认选择
62 kernel vmlinuz #指定内核程序
63 append initrd=initrd.img #指定驱动程序
2.7 验证:
新建一台虚拟机
安装系统方式:PXE网络引导安装
网络类型选择为:private1
3.部署Web服务器,共享光盘所有内容
]# yum -y install httpd
]# mkdir /var/www/html/rhel7
]# mount /dev/cdrom /var/www/html/rhel7
]# ls /var/www/html/rhel7
]# systemctl restart httpd
]# firefox 192.168.4.7/rhel7
4. 部署无人值守安装,生成应答文件
通过 system-config-kickstart 图形的工具生成应答文件
]# yum -y install system-config-kickstart
必须要求系统光盘的Yum仓库标识为 [development]
vim /etc/yum.repos.d/*.repo
[development]
...
]# system-config-kickstart #运行
首选查看 软件包选择 是否可以使用
4.1 将文件生成在/root/下
]# ls ks.cfg
ks.cfg
4.2 使用http共享应答文件
]# cp /root/ks.cfg /var/www/html/
]# ls /var/www/html/
ks.cfg rhel7
4.3 通过菜单文件,指定应答文件
]# vim /var/lib/tftpboot/pxelinux.cfg/default
.......
label linux
menu label Install RHEL7
menu default
kernel vmlinuz
#################################
总结:
1.dhcp服务-->IP地址 next-server pxelinux.0
2.tftp-->pxelinux.0
3.pxelinux.0-->菜单文件
4.菜单文件-->vesamenu.c32 vmlinuz initrd.img ks文件









- Linux shell编写脚本部署pxe网络装机
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机 https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...
- Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机
一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd 2&g ...
- PXE网络装机
PXE网络装机配置 安装CentOS 6.5系统 1.配置服务端IP地址和yum源 略 2.安装配置VSFTP服务 vsftpd 的作用:为客户端提供FTP服务,便于客户端下载操作系统 (1)安装vs ...
- YUM仓库服务与PXE网络装机
1.yum:基于RPM包构建软件更新机制自动解决依赖关系,软件包由软件包库提供 提供方式:ftp服务:ftp://IP地址/仓库目录 Http服务:http :// IP地址/仓库目录 本地目录:f ...
- Linux PXE 网络装机
一.基础网络建设 Linux配置静态IP-192.168.5.1 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT= ...
- linux pxe网络装机无人值守
项目分析远程装机的实现:配置DHCP+HTTP+TFTP提供通过vesamenu.c32模块实现图形PXE菜单为不同系统分别提供ks应答文件将第三方rpm包以yum源的方式提供:集中提供ntfs-3g ...
- 第十六章:网络IPC:套接字
16.1.引言 上一章考查了各种Unix系统所提供的经典进程间通信(IPC)机制:管道.先进先出.消息队列.信号量以及共享内存.通过这些机制,同一台计算机上运行的进程可以相互通信.本章将考查不同计算机 ...
- Flask 学习 十六 部署
部署流程 manage.py 部署命令 每次安装升级只需运行deploy命令即可完成操作 @manager.command def deploy(): """执行部署任务 ...
- 【linux高级程序设计】(第十六章)网络服务器应用设计
xinetd服务介绍 xinetd是Linux下的一个网络守候进程,用来统一管理网络负载不大的一组小型网路服务. 一些小型的网络服务,比如时间,telnet服务,不以守候进程出现,而是让xinetd服 ...
随机推荐
- dotnet Core 图片验证码
9102年了,.NET Core 2.x已经稳定,但是还是有很多人搞不定.NET Core的图片验证码. 下面说重点 1.引用Nuget包:System.Drawing.Common 2.像NET F ...
- Git config 使用说明(转)
原文:https://blog.csdn.net/gdutxiaoxu/article/details/79253737
- iview的table中Tooltip的使用
这篇文章主要介绍了iview-admin中在table中使用Tooltip提示效果. 1. table中文字溢出隐藏,提示气泡展示所有信息 jLongText(item){ item.render = ...
- iOS - 毛玻璃特效
iOS7.0的SDK并没有提供给开发者实现毛玻璃效果的API,所以很多人都是通过一些别人封装的框架来实现 iOS7.0(包括)之前还是有系统的类可以实现毛玻璃效果的, 就是 UIToolbar这个类, ...
- 【转载】C#使用as关键字将对象转换为指定类型
在C#的编程开发过程中,很多时候涉及到数据类型的转换,可使用强制转换的方式,不过强制转换数据类型有时候会抛出程序异常错误,可以使用as关键字来进行类型的转换,如果转换成功将返回转换后的对象,如果转换不 ...
- python简单页面爬虫入门 BeautifulSoup实现
本文可快速搭建爬虫环境,并实现简单页面解析 1.安装 python 下载地址:https://www.python.org/downloads/ 选择对应版本,常用版本有2.7.3.4 安装后,将安装 ...
- CSS_引入方式
一 CSS的引入方式 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离 1.行内式 ...
- java.sql.Date和java.sql.Timestamp转换
转自:https://www.xuebuyuan.com/1479399.html 在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换.若对应数据库数据是o ...
- Python实现YOLO目标检测
作者:R语言和Python学堂 链接:https://www.jianshu.com/p/35cfc959b37c 1. 什么是目标检测? YOLO目标检测的一个示例 啥是目标检测? 拿上图 (用YO ...
- Linux学习之四-Linux发行版及版本比较
Linux发行版及版本比较 三大家族: Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本.相比RHEL,Fedora打包了显著的更多的 ...