您现在的位置是:首页 >技术杂谈 >Linux网络——PXE高效批量网络装机网站首页技术杂谈
Linux网络——PXE高效批量网络装机
Linux网络——PXE高效批量网络装机
一、PXE远程安装服务
定义:PXE(预启动执行环境,在操作系统之前运行) 是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
1.PXE批量部署的优点
规模化: 同时装配多台服务器
自动化: 安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
2.搭建PXE网络体系的安装条件
客户端:客户机的网卡要支持EXE协议(集成BOOTROM心片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIS设置中允许从 netwok或 LAN 启动即可。
服务端:网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。服务器要通过 TETP服务(简单文件传输协议) 来提供系统内核和引导镜像文件的下载
二、PXE 安装进行前的配置
1.PXE装机所需的文件
文件 | 位置 | 作用 |
---|---|---|
pxelinux.0 | 来自syslinux程序 | 引导程序的配置文件 |
vmlinuz | 从光盘中获取,位于 isolinux 目录下 | 内核文件 |
initrd.img | 从光盘中获取,位于 isolinux 目录下 | 系统启动镜像文件 |
default | 需要手写 | 引导程序的配置文件 |
2.搭建 PXE 过程中使用的服务和程序
①.DHCP服务
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。
DHCP作为用应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68 ,服务端的端口为67.
②.vsftpd服务
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
③.TFTP服务
TFTP(简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
TFTP服务默认由xinetd服务进行管理,使用UDP69端口。TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。它的位置存在:/var/lib/tftpboot
④.syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
三、搭建 PXE 远程安装服务器
PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
1.安装相关服务的软件包(FTP,DHCP,TFTP,PXE)
2.修改TFTP服务的配置文件
3.启动TFTP服务
4.修改DHCP服务的配置文件
vim /etc/dhcp/dhcpd.conf #配置DHCP参数
ddns-update-style none; #禁用 DNS 动态更新
next-server 192.168.30.10; #指定 TFTP 服务器的地址
filename "pxelinux.0"; #指定 PXE 引导程序的文件名
subnet 192.168.30.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.30.100 192.168.30.200; #设置地址池
option routers 192.168.30.10; #默认网关地址指向TFTP服务器的IP地址
}
5.关闭防火墙,启动DHCP服务
6.挂载光盘,准备 Linux 内核、初始化镜像文件,PXE 引导程序
mount /dev/sr0 /mnt ##将光盘挂载到mnt目录
cd /mnt/images/pxeboot ##切换到光盘挂载目录
cp vmlinuz /var/lib/tftpboot/ ##复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/ ##复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##复制 PXE引导程序 到TFTP根目录下
7.准备CentOS 7 安装源 ,启动FTP服务
6.配置启动菜单文件
7.验证 PXE 网络安装
使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;
若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。
三、实现 Kickstart 无人信守安装
上面的安装,是通过PXE技术远程安装系统的方法,安装介质不再受限于光盘,移动硬盘等设备,大大提高了系统安装的灵活性。然而安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交换操作,当需要大批量安装时仍然很麻烦。所以要想实现真正的全自动化,就要引入Kickstart程序服务,实现真正完全全自动化安装。
1.安装system-config-kickstart 工具
2.打开“Kickstart 配置程序”窗口
3.配置kickstart选项
①.基本配置
②.安装方法
③.引导装载程序选项
④.分区信息
⑤.网络配置
⑥.防火墙配置
⑦.安装后脚本
4.保存自动应答文件
5.配置需要安装的软件包
将 /root/anaconda-ks.cfg 的软件包安装脚本中 %packages 到%end 部分复制到 ks.cfg 文件中。