Day16 PXE批量装机环境(Services05)

简介:

一、批量装机概述

1.1 PXE

PXE(Preboot Execution Environment)预启动环境,在操作系统之前运行

1.1.1 PXE工作模式

PXE Client集成在网卡的启动芯片中,当计算机引导时,从网卡芯片中把PXE Client调入内存,获取PXE Server配置、显示菜单,根据用户的选择将引导程序下载到本机运行

1.2 PXE组件及过程引导

1.2.1 需要哪些服务组件

DHCP:分配IP地址,指定引导程序
TFTP:提供引导程序下载。特点:不需要用户名和密码
FTP/HTTP/NFS:提供yum安装源

1.2.2客户端获取IP地址直到获取yum源的过程:

a.客户端通过DHCP四个过程获取IP地址,同时得到TFTP服务器的地址
b.客户端联系TFTP,下载装机用的文件(内核vmlinuz、初始化文件initrd.img、网卡启动程序pxelinux.0)
vmlinux、initrd.img在安装光盘的/images/pxeboot/下
pxelinux.0要安装syslinux包
c.客户端运行pxelinux.0,调用图形支持模块vesamenu.c32、背景图片splash.png、菜单配置文件pxelinux.cfg/default
vesamenu.c32、splash.png、default在安装光盘的/isolinux/下
d.通过FTP/HTTP/NFS提供的yum源,就可以开始安装系统了

二、部署DHCP服务器

2.1 概述及原理

DHCP地址的四次会话:Discovery—Offer—Request—Acknowledge
租期:允许客户机租用IP地址的时间期限,单位为秒
作用域:分配给客户机的IP地址所在网段
地址池:用来分配给客户机的IP地址的范围
端口:67/udp(服务器)、68/udp(客户端)

2.2 搭建dhcp服务器

2.2.1 yum -y install dhcp

安装dhcp包

2.2.2 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example

dhcpd.conf的模板文件

2.2.3 /etc/dhcp/dhcpd.conf

dhcp服务的主配置文件

2.2.4 修改主配置文件

vim /etc/dhcp/dhcpd.conf
修改相应区域
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 8.8.8.8;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7;
filename "pxelinux.0";
}

2.2.5 systemctl restart dhcpd systemctl enable dcpd

重启服务并设置开机启动

2.2.6 dhclient -d eth0

用调试命令对eth0进行dhcp客户端测试
dhclient -d eth0

nternet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/74:52:08:05:08:01
Sending on   LPF/eth0/74:52:08:05:08:01
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 (xid=0x454b0f80)
DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x454b0f80)
DHCPOFFER from 192.168.4.7
DHCPACK from 192.168.4.7 (xid=0x454b0f80)
bound to 192.168.4.100 -- renewal in 232 seconds.

三、部署TFTP服务

3.1 概述

TFTP(Trival File Transfer Protocol)简单文件传输协议
端口:69/udp
服务端程序:tftp-server
系统服务:tftp

3.2 yum -y install tftp-server

安装服务端安装包

3.3 systemctl restart tftp && systemctl enable tftp

启动服务及设置开机启动

3.4 /var/lib/tftpboot

tftp服务器的根目录,所有文件都要放在该目录下

3.5 yum provides */pxelinux.0

pxelinux.0就是网卡引导程序,我们可以利用yum数据库查询pxelinux.0文件是在哪个包里面,查询到在syslinux.x86_64里面

3.6 yum -y install syslinux

安装syslinux软件包

3.7 rpm -ql syslinux-4.05-12.el7.x86_64 |grep pxelinux.0

查询pxelinux.0安装到哪个目录去了

3.8 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

拷贝pxelinux.0到tftp服务器的根目录

3.9 mkdir /var/lib/tftpboot/pxelinux.cfg

创建default文件所在的目录。菜单配置文件default必须放在这里

3.10 wget http://192.168.4.254/rhel7/isolinux/isolinux.cfg -O /var/lib/tftpboot/pxelinux.cfg/default

拷贝菜单文件到指定目录pxelinux.cfg/,并且命名为default,同时要保证文件权限必须是644

3.11 wget http://192.168.4.254/rhel7/isolinux/vesamenu.c32 /var/lib/tftpboot/

拷贝图形模块文件vesamenu.c32

3.12 修改默认菜单文件default

修改及注释
default vesamenu.c32#默认图形模块为vesamenu.c32
timeout 600#等待60秒
......
display boot.msg
......
menu title NSD1709 PXE Server !#显示给用户的启动菜单
......
label linux
menu label ^Install Red Hat Enterprise Linux 7.2#^表示键盘上的快捷键,显示给用户的菜单选项
kernel vmlinuz#内核程序
append initrd=initrd.img#启动内核需要这个驱动程序
label local#从硬盘启动
menu default#默认启动方式
menu label Boot from ^local drive
localboot 0xffff

3.13 wget http://192.168.4.254/rhel7/isolinux/vmlinuz /var/lib/tftpboot/

拷贝内核程序到tftp根目录

3.14 wget http://192.168.4.254/rhel7/isolinux/initrd.img /var/lib/tftpboot/

拷贝驱动程序到tftp根目录

四、部署FTP服务

yum -y install vsftpd
systemctl enable vsftpd && systemctl restart vsftpd
mkdir /var/ftp/rhel7
mount /dev/cdrom /var/ftp/rhel7
firefox ftp://192.168.4.7/rhel7

五、生成应答文件实现无人值守安装

5.1 yum -y install system-config-kickstart

安装能生成应答文件的软件包

5.2 运行system-config-kickstart

图形设置生成应答文件,保存为/root/ks.cfg
注意!在选择软件包信息的时候会出现“下载软件包信息失败”等错误信息,这是一个bug。bug解决方法:把yum源文件的[name]修改为[development]

5.3 cp /root/ks.cfg /var/ftp/

拷贝应答文件到ftp的根目录下

5.4 修改tftp的默认菜单文件

vim /var/lib/tftpbook/pxelinux.cfg/default
到最后一行增加下面的蓝色字体部分,来指定应答文件的路径
append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg



本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068821,如需转载请自行联系原作者

相关文章
|
19天前
|
Linux
PXE+Kickstart实现rocky9批量自动装机
使用PXE+Kickstart实现rocky9批量自动装机
42 0
|
5月前
|
存储 Linux 网络安全
PXE网络批量装机(centos7)
PXE(Preboot Execution Environment)装机是一种通过网络引导和安装操作系统的方法。它允许计算机在没有本地存储设备(如硬盘或光盘驱动器)的情况下,通过网络从远程服务器或网络共享位置加载操作系统安装文件并完成安装过程。
159 0
|
7月前
|
Web App开发 网络协议 Linux
PXE网络批量装机
PXE网络批量装机
|
8月前
|
Linux 网络安全
PXE装机及自动值守
PXE装机及自动值守
89 0
|
存储 安全 IDE
Linux网络服务——PXE网络批量装机+Kickstart无人值守安装(上)
1 系统安装介绍 1.1 系统装机的三种引导方式 硬盘 光驱 网络
332 0
|
12月前
|
Linux 网络安全 芯片
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
|
12月前
|
Linux Shell 开发工具
使用PXE工具批量部署服务器
使用PXE工具批量部署服务器
147 0
|
运维 网络协议 安全
pxe实现自动化部署安装高效批量网络装机
对于一个想要从事运维的人员,学会自动化部署,是一件十分便捷的事情,者可以让你的工作效率大大提高,事半功倍
pxe实现自动化部署安装高效批量网络装机
|
Linux
部署YUM仓库以及如何使用PXE网络装机(上)
部署YUM仓库以及如何使用PXE网络装机(上)
156 0
部署YUM仓库以及如何使用PXE网络装机(上)
|
网络安全 开发工具
部署YUM仓库以及如何使用PXE网络装机(下)
部署YUM仓库以及如何使用PXE网络装机(下)
76 0
部署YUM仓库以及如何使用PXE网络装机(下)