pxe

PXE

前提:
防火墙trusted
SELinux宽松模式

思路:
1.DHCP---》IP地址-----》next-server----》pxelinux.0
2.tftp--》pxelinux.0
3.pxelinux.0-->/var/lib/tftpboot/pxelinux.cfg/default
4.default->vesamenu.c32\splash.png\vmlinuz\initrd.img
-> ks.cfg

5. ks.cfg->语言、时区、分区....
->--url="http://192.168.4.7/rhel7"
--------------------------------------------------------------------------------------
网络装机
规模化: 同时装配多台主机
自动化: 装系统、配置各种服务
远程实现: 不需要光盘、U盘等物理安装介质

什么是PXE网络?
预启动执行环境,在操作系统之前运行
可用于远程安装

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

开机启动项: 1.硬盘 2.光驱设备 3.移动存储设备 4.网络安装

需要哪些服务组件?
DHCP服务,分配IP、定位引导程序
TFTP服务,提供引导程序下载
HTTP服务,提供yum安装源
#############################################
DHCP服务器:分配IP/子网掩码/DNS/网关/广播地址

包 dhcp
服务 dhcpd
配置文件 /etc/dhcp/dhcpd.conf
############################################
一、部署 DHCP

重要前提:一个网络中只能有一个DHCP服务器!!!
1.装包 dhcp
2.改配置
vim /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; #IP范围
option domain-name-servers 192.168.4.7; #DNS
option routers 192.168.4.254; #网关
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #下一个服务器
filename "pxelinux.0"; #引导文件名
}

3.重起服务dhcpd

pxelinux.0: 网卡引导文件(安装说明书)二进制文件
安装一个软件获得该文件
#############################################
二、搭建tftp

tftp:简单的文件传输协议 69
默认共享路径:/var/lib/tftpboot/

1,tftp
1).装包tftp-server82.5/82500
2).起服务tftp
-------------------------------------------------------------------------------
2.部署pxelinux.0文件
yum provides */pxelinux.0 #查询仓库中哪个软件包产生
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0 #查询安装清单
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ls /var/lib/tftpboot/
--------------------------------------------------------------------------------
3.部署菜单文件
pxelinux.0-->/var/lib/tftpboot/pxelinux.cfg/default
mkdir /var/lib/tftpboot/pxelinux.cfg
mount /dev/cdrom /mnt
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
ls -l /var/lib/tftpboot/pxelinux.cfg/default
chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
ls -l /var/lib/tftpboot/pxelinux.cfg/default
-----------------------------------------------------------------------------
4.部署图形模块,背景图,内核与驱动
图形模块:vesamenu.c32
背景图:splash.png
启动内核:vmlinuz
驱动程序:initrd.img

cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
ls /var/lib/tftpboot/
---------------------------------------------------------------------------------
5.修改菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default
开启行号set nu

1 default vesamenu.c32 #默认加载图形模块
2 timeout 600 #读秒时间 1/10

10 menu background splash.png #指定背景图
11 menu title NSD1808 PXE Server ! #菜单的标题

61 label linux
62 menu label Install RHEL7.4 #选项内容
63 menu default #读秒结束后默认选择,这句话要自己手打的。
64 kernel vmlinuz #加载内核
65 append initrd=initrd.img #加载驱动
############################################
重起服务dhcpd,tftp

简单的验证:
1.新建一台新的虚拟机,安装方式为PXE网络引导,网络类型private1,其他选择默认。
#############################################
三、搭建httpd

1.装包httpd
2.将光盘内容放入DocumentRoot(/var/www/html)
mkdir /var/www/html/rhel7
mount /dev/cdrom /var/www/html/rhel7
3.起服务httpd
4.验证firefox 192.168.4.7/rhel7
#########################################
四、应答文件ks(实现无人值守安装)

4.1 生成ks
1) 装包system-config-kickstart #图形的工具
2) Yum仓库标识改为 [development] #该图形工具的软件包选择,需要本机yum仓库标识支持
vim /etc/yum.repos.d/rhel7.repo
[development]
........

3) 运行system-config-kickstart #进入图形界面配置
ls /root/
vim /root/ks.cfg
-------------------------------------------------------------------------------
4.2 共享ks
cp /root/ks.cfg /var/www/html/ #httpd共享
firefox 192.168.4.7/ks.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default #菜单文件指定
........
label linux
menu label Install RHEL7.4
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg
然后把这之后的内容全部删掉
---------------------------------------------------------------------------------
安装后脚本:安装系统后自动搭建Yum

服务端PXE服务器:1.共享光盘所有内容 2.搭建FTP或Web服务

客户端:书写一个配置文件
方式一:
echo '
[rhel7]
name=rhel7.4
baseurl=http://192.168.4.7/rhel7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/rhel7.repo

方式二:
cd /var/www/html/

cat rhel7.repo
[rhel7]
name=rhel7.4
baseurl=http://192.168.4.7/rhel7
enabled=1
gpgcheck=0

vim /var/www/html/ks.cfg
%post --interpreter=/bin/bash
useradd lisi
echo 123 | passwd --stdin lisi
cd /etc/yum.repos.d/
wget http://192.168.4.7/rhel7.repo
%end

posted @ 2019-04-29 00:22  安于夏  阅读(283)  评论(0编辑  收藏  举报