您现在的位置是:首页 >技术杂谈 >【PXE高效的批量网络装机】网站首页技术杂谈
【PXE高效的批量网络装机】
目录
一、PXE的概述
PXE(预启动执行环境,在操作系统之前运行) 是由ntel公司开发的网络引导技术,工作在Clent/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
1.1、PXE批量部署的优点
·规模化: 同时装配多台服务器
·自动化:安装系统、配置各种服务。
·远程实现: 不需要光盘、U盘等安装介质
1.2、搭建PXE满足的以下的前提条件
若要搭建 PXE 网络体系,必须满足以下几个前提条件:
客户端:
1.客户机的网卡要支持Ex协议(集成BOOTROM心片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 network或 LAN 启动即可。
服务端:
2.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置.
3.服务器要通过 TETP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载
1.3、搭建PXE远程安装
PXE远程安装服务器集成了 Centos 7 安装源、TETP 服务、DHCP 服务、FTP 服务,能够向客户机裸机发送 PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。
TFTP(简单文件传输协议》,是一个基于UDP机议实现的用于在客户机和服条器之间进行简单文件传婚的协议,话合于小文件传验的应里场合。
TFTP服务默认由xinetd服务进行管理,使用UDP 端口69
xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级internet服务。
守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。
守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。
在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护讲程
二、搭建PXE远程安装服务器
1、安装并启动 TFTP 服务
1、临时关闭防火墙
开机后设置关闭防火墙和临时关闭selinux防火墙
systemctl stop firewalld
setenforce 0
2、开机自动关闭防火墙设置
systemctl disable firewalld 实现开机自动关闭防火墙
vim /etc/sysconfig/selinux 关闭selinux防火墙
mount /dev/sr0 /mnt 光盘进行挂载
yum install -y xinetd tftp-server 安装这两个软件
一个xinetd 一个 tftp-server
cd /etc/xinetd.d/
ls 查看xinetd里面看看有没有个tftp目录
vim tftp 进入tftp配置文件
systemctl enable --now xinetd tftp
启动并且实现开机自启
2、安装并启用 DHCP 服务
安装DHCP服务
yum install -y dhcp 安装DHCP服务
cd /etc/dhcp 进入dhcp下载目录里
ls 查看文件,看到dhcpd.conf配置文件
vim dhcpd.conf 修改配置文件
cd /usr/share/doc/dhcp-4.2.5/ 找到相同类型的文件
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf 覆盖配置文件
2、修改DHCP服务的配置文件
vim dhcpd.conf
systemctl enable --now dhcpd 实现开机自动启动dhcpd服务
netstat -lntup | grep 67
查看67号端口有没有打开,显示67号端口就是打开了
3、准备 Linux 内核、初始化镜像文件
cd /mnt 进入mnt目录
ls 查看到一个images目录
cd images/ 进入images目录,看见一个pxeboot目录
ls 在pxeboot目录里有
vmlinuz 系统的内核文件
initrd.img 镜像引导文件
cp vmlinuz initrd.img /var/lib/tftpboot/
复制内核文件和镜像引导文件
4、准备PXE 引导程序
yum install -y syslinux PXE引导程由软件包syslinux提供文件
rpm -ql syslinux 使用此命令查看文件
找到 PXE引导程序文件
/usr/share/syslinux/pxelinux.0
cd /usr/share/syslinux/ 进入PXE引导程序文件
cp pxelinux.0 /var/lib/tftpboot/
将pxelinux.0 复制到 var/lib/tftpboot/ 根目录里
使用 ls !$ 查看到有三个文件:
initrd.img 镜像引导文件
pxelinux.0 pxe程序引导文件
vmlinuz 内核文件
5、安装FTP服务,准备CentOS 7 安装源
yum install -y vsftpd 安装ftp服务
mkdir centos7 在ftp目录里创建一个centos7目录
mount /dev/sr0 /var/ftp/centos7/
挂载centos7目录,使centos7目录里有光盘镜像文件
systemctl enable --now vsftpd
让ftp直接启动,ftp直接启动开起了匿名服务,所以直接下载
ls /var/lib/tftpboot/
查看到ftp里安装了4个服务和设置了3个配置文件
6、配置启动菜单文件
默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
cd /var/lib/tftpboot/ 进入TFTP根目录
mkdir pxelinux.cfg/ 创建一个子目录
cd pxelinux.cfg/ 进入这个子目录
vim default 在子目录里设置一个文件名为default的文件
设置配置文件
进入TFTP根目录里使用
ls -R 查看是不是有以下配置文件
7、关闭防火墙,验证 PXE 网络安装
systemctl stop firewalld.service
setenforce 0
8、测试
1、使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
2、开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;
3、若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。
4、设置完成后就可以进行手动安装
三、实现Kickstart无人值守安装
mount /dev/sr0 /var/ftp/centos7/ 挂载目录
yum install -y system-config-kickstart
安装系统工具
使用Kickstart配置自动安装
设置安装的FTP的服务地址和创建的子目录
设置安装的引导过程
设置磁盘分区
配置网络设置
设置禁用防火墙
设置yum源仓库安装的脚本文件
保存设置文件的位置和改名
进入系统家目录,可以看见 anaconda-ks.cfg ,ks.cfg
vim ks.cfg
查看到刚刚设置的配置文件
vim anaconda-ks.cfg 当前系统的应答文件
软件包的禁止怎么解除
解除方法:
将anaconda-ks.cfg 里面的应答文件复制到刚刚创建的 ks.cfg 文件的行尾
复制到ks.cfg行尾
生产环境中实现最小化安装,在设置文件的行尾输入以下命令,进行最小化安装
%packages
@^minimal
%end
设置图形环境的配置
1、模拟自动安装
设置用户自己选择和不用用户选择
设置为1时手动确定安装
设置为0后直接安装