PXE自动装机 嗯?原来装机不需要自己动手

文章目录

一、PXE概述

PXE(预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统

二、PXE批量部署的优点

1、规模化:同时装配多台服务器
2、自动化:安装系统、配置各种服务
3、远程实现:不需要光盘、U盘等安装介质

PXE自动装机 嗯?原来装机不需要自己动手

三、搭建PXE网络体系所需条件

1、客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器都支持,只需要在BIOS设置中允许从Network或LAN启动即可。

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

3、服务器要通过TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。

四、搭建PXE远程安装服务器

PXE远程安装服务器集成了CentOS7安装源、TFTP服务、DHCP服务,能够向客户机裸机发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

1、安装并启动TFTP服务

TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69

xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

yum -y install tftp-server xinetd            #安装并启用 TFTP 服务
vim /etc/xinetd.d/tftp                       #修改TFTP服务的配置文件
protocol            = udp		             #TFTP默认使用UDP协议	
wait                = no		             #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args         = -s /var/lib/tftpboot	 #指定TFTP根目录(引导文件的存储路径)
disable             = no		             #no表示开启TFTP服务

systemctl start tftp #开启ftp服务
systemctl enable tftp #开启ftp服务开机自启
systemctl start xinetd #开启xinetd服务
systemctl enable xinetd #开启xinetd服务开机自启

PXE自动装机 嗯?原来装机不需要自己动手

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

2.安装并启用 DHCP 服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。

yum -y install dhcp                                 #安装dhcp软件包
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
                                                    #将dhcp配置模板复制到dhcp配置文件中
vim /etc/dhcp/dhcpd.conf    						#修改DHCP服务的配置文件
ddns-update-style none;					         	#禁用 DNS 动态更新
next-server 192.168.184.10; 					    #指定 TFTP 服务器的地址
filename "pxelinux.0";						        #指定要下载的 PXE 引导程序的文件

subnet 192.168.184.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.184.100 192.168.184.200; #设置地址池
option routers 192.168.184.10; #默认网关地址指向TFTP服务器的IP地址
}

systemctl start dhcpd #开启dhcp服务
systemctl enable dhcpd #开启dhcp服务开机自启

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

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

mount /dev/sr0 /mnt
cd /mnt/images/pxeboot						
cp vmlinuz /var/lib/tftpboot/				#复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/     		#复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

PXE自动装机 嗯?原来装机不需要自己动手

4.准备 PXE 引导程序

yum -y install syslinux									#PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	#复制 PXE引导程序 到TFTP根目录下

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

5.安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd               #安装vsftpd服务
mkdir /var/ftp/centos7              #在ftp根目录下创建目录centos7
cp -rf /mnt/* /var/ftp/centos7/     #将镜像文件强制复制到centos7目录中,可加&让它自己后台运行
systemctl start vsftpd              #开启vsftpd服务
systemctl enable vsftpd             #开启vsftpd服务开机自启

PXE自动装机 嗯?原来装机不需要自己动手PXE自动装机 嗯?原来装机不需要自己动手

6.配置启动菜单文件

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

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

default auto #指定默认入口名称
prompt 1 #设置是否等待用户选择,“1”表示等待用户控制

label auto #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.184.10/centos7

label linux text #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.184.10/centos7

label linux rescue #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.184.10/centos7

systemctl stop firewalld.service #关闭系统防火墙
setenforce 0 #关闭系统安全机制

PXE自动装机 嗯?原来装机不需要自己动手

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

注意:使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。

开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;
若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。

五、实现Kickstart无人值守安装(使用桌面环境)

1、准备安装应答文件

yum install -y system-config-kickstart       #安装system-config-kickstart 工具

PXE自动装机 嗯?原来装机不需要自己动手

2、打开“Kickstart 配置程序”窗口

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

PXE自动装机 嗯?原来装机不需要自己动手
或直接执行 “system-config-kickstart” 命令打开
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

3、配置kickstart选项

基本配置

默认语言设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”。

PXE自动装机 嗯?原来装机不需要自己动手

安装方法

选FTP
FTP服务器:ftp://192.168.80.10
FTP目录:centos7

PXE自动装机 嗯?原来装机不需要自己动手

引导装载程序选项

“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序

PXE自动装机 嗯?原来装机不需要自己动手

分区信息

主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间

PXE自动装机 嗯?原来装机不需要自己动手
注意:各个分区分配大小自己酌情而定,swap分区属于文件系统类型,其它的在挂载点中寻找

PXE自动装机 嗯?原来装机不需要自己动手

●网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”

PXE自动装机 嗯?原来装机不需要自己动手

●防火墙配置:
禁用 SELinux、禁用防火墙

PXE自动装机 嗯?原来装机不需要自己动手

●安装后脚本:
勾选“使用解释程序”:/bin/bash
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

PXE自动装机 嗯?原来装机不需要自己动手

其它选项保持默认设置即可

 
 
  • 1

4、保存自动应答文件

选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg

 
 
  • 1
  • 2

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

5、配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。

如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

PXE自动装机 嗯?原来装机不需要自己动手

cp /root/ks.cfg /var/ftp/ks.cfg

 
 
  • 1

将/root/anaconda-ks.cfg 的软件包安装脚本复制到/var/ftp/ks.cfg以实现桌面安装
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
注意先后顺序,开机引导读取的是/var/ftp内的内容,不是/root,/root仅仅是暂时保存的对方,所以,修改完再复制过去,或者直接复制过去再修改。

6、编辑引导菜单文件 default,添加 ks 引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default	
default auto 							
prompt 0 								#设置是否等待用户选择,“0”表示不等待用户控制

label auto
kernel vmlinuz #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg #添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。

7、创建新虚拟机检验

PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手
PXE自动装机 嗯?原来装机不需要自己动手

上一篇:Linux环境Zookeeper部署


下一篇:hibernate.cfg.xml和xxx.hbm.xml