PXE网络装机服务

PXE远程安装服务

PXE是由intel公司开发的网络引导技术,采用C/S架构,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。

部署PXE网络体系的先决条件:
1.客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。

2.网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。

3.服务器通过TFTP(|Trivial File Transfer Portocol,简单 文件传输协议)提供引导镜像文件下载。

第一点实际上就是硬件要求,目前绝大数服务器和大多数PC都能够提供此支持,只需要在BIOS设置中允许从Network或LAN启动即可。

1.准备 CentOS 7 安装源。

[root@localhost ~]# mkdir -p /var/ftp/centos7

[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/

[root@localhost ~]# yum -y install vsftpd

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]# systemctl enable vsftpd

2.部署TFTP服务

[root@localhost ~]# yum -y install tftp-server

修改配置文件

[root@localhost ~]# cp /etc/xinetd.d/tftp{,.bak}

[root@localhost ~]# vim /etc/xinetd.d/tftp

---省略部分信息---

{

socket_type = dgram

protocol = udp

wait = yes

user = root0

server = /usr/sbin/in.tftpd

server_args = -s /var/lib/tftpboot

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

[root@localhost ~]# systemctl start tftp.socket

[root@localhost ~]# systemctl enable tftp.socket

3.准备Linux内核、初始化镜像文件

用于PXE网络网络安装的Linux内核、初始化镜像文件可以从CentOS7 系统光盘中获得,分别为vmlinuz和init。img,位于目录images/pxeboot下。将这两个文件复制到tftp服务的根目录下。

[root@localhost ~]# cp /media/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot/

[root@localhost ~]# cp /media/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot/

4.准备PXE引导程序、启动菜单文件。

用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好syslinux,而后将文件pxelinux.0也一同复制到tftp服务的根目录下。

[root@localhost ~]# yum -y install syslinux

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

启动菜单用来引导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg字目录下,可以参考以下启动菜单进行配置。

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# cat >/var/lib/tftpboot/pxelinux.cfg/default <

default auto #指定默认入口名称

prompt 1 #1:表示等待用户控制

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.50.11/centos7

label linux text

kernel vmlinuz

append text initrd=init.img method=ftp://192.168.50.11/centos7

label linux rescue

kernel vmlinuz

append rescue initrd=init.img method=ftp://192.168.50.11/centos7

EOF

改配置文件中定义了三个引导入口,分别是图形化安装(默认,对新手比较友好),文本安装、救援模式。

prompt:0 无人值守,全自动。1 用户需要介入,半自动。

label: 定义并分割启动项。

kernel和append:定义引导参数。

引导入口根据自身需求自定义即可。如果使用全自动的话只需要一个入口即可。

5.部署DHCP服务。

由于PXE客户机都是没有安装操作系统的裸机。为了与服务器取得联系并正确下载相关的引导文件,需要预先配置号DHCP服务来自动分配地址并告知引导文件位置。

[root@localhost ~]# yum -y install dhcp

修改配置文件

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf

---省略部分信息---

# A slightly different configuration for an internal subnet.

subnet 192.168.50.0 netmask 255.255.255.0 {

range 192.168.50.100 192.168.50.150;

option domain-name-servers 192.168.50.2,8.8.8.8;

option domain-name "rain.com";

option routers 192.168.50.2;

option broadcast-address 192.168.50.255;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.50.11;

filename "pxelinux.0";

}

---省略部分信息---

[root@localhost ~]# systemctl start dhcpd

[root@localhost ~]# systemctl enable dhcpd

6.检查各个服务以及所需文件是否齐全。

[root@localhost ~]# ls /var/ftp/centos7/

CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7

EFI images Packages RPM-GPG-KEY-CentOS-Testing-7

EULA isolinux repodata TRANS.TBL

[root@localhost ~]# ls -R /var/lib/tftpboot/

/var/lib/tftpboot/:

init.img pxelinux.0 pxelinux.cfg vmlinuz

/var/lib/tftpboot/pxelinux.cfg:

default

[root@localhost ~]# systemctl status vsftpd tftp dhcpd | grep Active

Active: active (running) since 一 2022-11-21 13:56:29 CST; 1h 6min ago

Active: active (running) since 一 2022-11-21 14:56:02 CST; 6min ago

Active: active (running) since 一 2022-11-21 14:53:29 CST; 9min ago

7.验证。

客户机开机。

·正在获取IP

PXE网络装机服务_第1张图片

出现此窗口摁回车或者输入'auto',也就是上述启动菜单中定义的三项,这里直接回车

PXE网络装机服务_第2张图片

到这里也就安装成功了,不再展示。

PXE网络装机服务_第3张图片

下期展示全自动安装。

你可能感兴趣的:(网络,linux,服务器)