一、简介
要实现网络安装系统首先网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置,客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导,实际上是硬件要求,目前绝大多数服务器和大多数 PC 都能够提供此支持,只需在 BIOS 设置中允许从 Network 或 LAN 启动即可;服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载,配置安装时如何实现无人值守安装等。
1、PXE 原理和概念
1.1、概述
PXE是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE 严格来说并不是一种安装方式,而是一种引导的方式。
进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。
工作模式:
PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。
协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
1.2、PXE优点
- 规模化:同时装配多台服务器;
- 自动化:安装系统、配置各种服务;
- 远程实现:不需要光盘、U 盘等安装介质
PXE组件及过程分析
- 需要哪些服务组件?
- DHCP服务,分配IP地址、定位引导程序
- TFTP服务,提供引导程序下载
- HTTP服务(或FTP/NFS),提供yum安装源
- 客户机应具备的条件
- 网卡芯片必须支持PXE协议
- 主板支持从网卡启动
安装软件包生成的pxclinux.0时默认生成的就是这个名称,在dhcp中调用时也调用这个名称。
2、搭建DHCP:
2.1、DHCP概述及原理
- Dynamic Host Configuration Protocol
- 动态主机配置协议,由 IETF (Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理
- 主要分配以下入网参数
- IP地址/子网掩码/广播地址
- 默认网关地址、DNS服务器地址
- DHCP地址分配的四次会话
- DISCOVERY --> OFFER --> REQUEST-->ACK
- 服务端基本概念
- 租期:允许客户机租用IP地址的时间期限,单位为秒
- 作用域:分配给客户机的IP地址所在的网段
- 地址池:用来动态分配的IP地址的范围
2.2、配置主机环境
(1)、关闭selinux,以及关闭防火墙
[root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld |
(2)、设置主机名
[root@localhost ~]# hostnamectl set-hostname PXE-Server |
2.3、安装DHCP服务和配置
(1)、安装
[root@pxe-server ~]# yum install dhcp -y |
(2)、配置DHCP服务
查看dhcp的配置文件,只有以下的内容,但内容中提示有DHCP示例配置文件路径:
使用vi编辑器打开dhcp配置文件,然后将示例配置文件读入当前的dhcp的配置文件,操作方法输入冒号和r 后面跟上示例配置文件的路径,写法为 :r /usr/share/doc/dhcp*/dhcpd.conf.example
[root@pxe-server ~]# vi /etc/dhcp/dhcpd.conf |
注意读入的位置就是光标所在的行,就是把其他文件的内容读入当前文件光标所在的开始写入。
DHCP的配置文件保留以下配置就可以:
# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # subnet 172.16.0.0 netmask 255.255.255.0 { range 172.16.0.100 172.16.0.200; option domain-name-servers 172.16.0.9; option routers 172.16.0.9; default-lease-time 600; max-lease-time 7200; } |
在DHCP的配置文件中还必须使用next-server参数指定下一个服务器,继续完成网络安装系统的其他步骤,就是到下一个服务器找一个引导文件,文件就叫"pxelinux.0",并使用filename参数指定引导文件的文件名,所以在DHCP的配置文件在增加以下内容:
next-server 172.16.0.9 //指定PEX服务器 filename "pxelinux.0" //引导文件名 |
完整配置如下:
# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # subnet 172.16.0.0 netmask 255.255.255.0 { range 172.16.0.100 172.16.0.200; option domain-name-servers 172.16.0.9; option routers 172.16.0.9; default-lease-time 600; max-lease-time 7200; next-server 172.16.0.9; //指定PEX服务器 filename "pxelinux.0" ; //引导文件名 } |