PXE网络装机

目录

一、配置基础要求

二、PXE服务器和客户机的工作过程

三、配置过程

1、增加网卡

2、配置dhcp

3、配置tftp

4、引导文件vmlinuz 和 initrd.img

5、引导文件pxelinux.0

6、配置启动菜单文件

7、kickstart

四、测试过程


一、配置基础要求

前提条件:
客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。 
网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。 
服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数 PC 都能够提供此支持,只需在 BIOS 设置中允许从 Network 或 LAN 启动即可

二、PXE服务器和客户机的工作过程

1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。 2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
5.PXE客户机通过网络来启动到系统安装主界面。
6.PXE客户机向文件共享服务器(“ftp”、http、nfs等)发起获取centos或windows系统安装文件的请求。
7.(vsftp)文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

三、配置过程

配置前关闭防护和防火墙

setenforce 0

systemctl stop firewalld

1、增加网卡

首先我们为虚拟机增加一块网卡,-p复制ifcfg-ens33网卡的配置文件作为新增网卡的配置文件

cp -p /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ens36

PXE网络装机插图

将设备名更改为ens36,删除ens33的uuid,配置ens36的ip地址,网关地址可以选择忽略,这块网卡设备主要用来给PXE客户机作为DHCP服务器,另一个是使用网络源安装环境包

1.1) NAT VMnet8 192.168.116.22 ens33
1.2) HOST-ONLY VMnet1 192.168.100.100 ens36

TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens36 DEVICE=ens36 ONBOOT=yes IPADDR=192.168.100.100 PREFIX=24 DNS1=114.114.114.114 IPV6_PRIVACY=no 

2、配置dhcp

yum -y install dhcp
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf ddns-update-style none; (解注释 ) // 禁止动态更新 subnet 192.168.100.0 netmask 255.255.255.0 { //配置网段 range 192.168.100.40 192.168.100.50; //配置地址池 option routers 192.168.100.100; //配置网关 option domain-name-servers 114.114.114.114; next-server 192.168.100.100; //指定tftp服务器的地址 filename "pxelinux.0"; //指定pxe引导程序的文件名 } systemctl start dhcpd systemctl enable dhcpd

systemctl status dhcpdPXE网络装机插图1

3、配置tftp

yum -y install tftp-server
yum -y install xinetd

vim /etc/xinetd.d/tftp

service tftp { socket_type = dgram protocol = udp wait = yes //wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待 user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot //指定TFTP根目录(引导文件的存储路径) -c允许上传 disable = no //修改 disable no表示开启TFTP服务 per_source = 11 //通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个 cps = 100 2 //表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求 flags = IPv4 }

主要设置的是wait =yes 和disable =no

systemctl enable tftp

systemctl start tftp

4、引导文件vmlinuz 和 initrd.img

用于 PXE 网络安装的 Linux 内核、驱动文件可以从 CentOS 7 系统光盘/镜像获得, 分别为 vmlinuz 和 initrd.img,位于光盘目录 images/pxeboot 下,将其复制到/var/lib/tftpbooot/

mount /dev/cdrom /mnt
cp /mnt/images/pxeboot/initrd.img vmlinuz /var/lib/tftpboot/

systemctl start xinetd
systemctl enable xinetd
systemctl start tftp
systemctl enable tftp

5、引导文件pxelinux.0

pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统

//查找这个文件是由哪个软件包安装的,当不是一个路径和一个软件包时用*/

yum provides */pxelinux.0

查找其位置并复制到/var/lib/tftpbooot/

rpm -ql syslinux | grep pxelinux.0

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

*只有安装了 system-config-kickstart 软件包,才会有/usr/share/syslinux/目录及目录中的文件

此时,/var/lib/tftpbooot/下应该有了pxelinux.0,vmlinuz 和 initrd.img三个文件,分别对应了引导文件,内核文件和初始化文件

6、配置启动菜单文件

因为由pxelinux.0这个文件决定是/var/lib/tftpboot/pxelinux.cfg/default文件,所以我们只要在/var/lib/tftpboot/下手动创建

mkdir /var/lib/tftpboot/pxelinux.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

default auto //指定默认入口名称 ,对应下面的label auto prompt 1 //设置是否等待用户选择,1 表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车 表示选择auto模式 label auto //默认的图形安装 kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7 //method必须指定网络路径 label linux text //文本安装模式,出现boot:时输入linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7 label linux rescue //救援模式,出现boot:时输入linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7 

7、kickstart

准备安装应答文件
安装system-config-kickstart工具

yum install -y system-config-kickstart

打开"Kickstart配置程序”窗口
通过桌面菜单"应用程序"–>"系统工具"–>"Kickstart”打开或执行"system-config-kickstart”命令打开

PXE网络装机插图2

PXE网络装机插图3

PXE网络装机插图4

PXE网络装机插图5

PXE网络装机插图6

设置dhcp服务器的网卡

PXE网络装机插图7

禁用防火墙PXE网络装机插图8

设置使用/bin/bash作为shellPXE网络装机插图9

PXE网络装机插图10

保存至/var/ftp/下,文件名 ks.cfg

PXE网络装机插图11

可以对ks进行优化 vi /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 1 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg 

四、测试过程

确保dhcp,tftp,xinetd服务开启情况下

我们新建一个虚拟机,不给它配置系统光盘直接开启

设置其网卡为VMnet1

PXE网络装机插图12

PXE网络装机插图13

PXE网络装机插图14

系统会自己安装到需要reboot那一步

原文链接:https://blog.csdn.net/m0_71518373/article/details/125923938?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168449620216800213022817%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168449620216800213022817&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-19-125923938-null-null.blog_rank_default&utm_term=NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享