文章目录
PXE批量部署的优点:
- 规模化:同时装配多台服务器
- 自动化:安装系统,配置各种服务
- 远程实现:不需要光盘,U盘等安装介质
- Kickstart不需要人在本地,直接自定义部署安装
- 应答文件:实现批量装机
- PXE接触到服务:1DHCP 2.TFTP 3.VSFTPD
只需要搭建一台,PXE装机服务器,后面都是裸机,没有系统等待安装,网络带宽是装机的瓶颈,建议千兆带宽,下面挂指定数量的裸机,进行安装。
PXE概述:
PXE:预启动执行环境,在操作系统之前运行
服务端:
- 运行DHCP服务,用来分配地址,定位应道程序
- 运行TFTP服务,引提供引导程序下载
- 一定要有一台DHCP服务器来分配地址;
客户端: - 网卡支持PXE协议
- 主板支持网络引导
PXE装机流程:
DHCP:让客户端获取IP地址,能主动联网PXE服务器 不止配地址池配置中指向TFTP
引导程序:对方提供的,根据引导程序一步一步运行
TFTP:简单文件系统; UDP协议 69端口 要求快速加载引导程序,并且引导程序容量较小,只能放小容量文件,放的都是系统的引导程序,有一个流程表默认配置文件指向FTP镜像位置
TFTP 四大文件
Default 需要创建pxelinux.cfg目录 引导配置文件默认被加载
Vmlinuz 压缩内核 在default中被定义最先加载
Initrd.img 初始化镜像文件 在default中第二个加载
Pxelinux.0 引导文件 需要安装syslinux包才会有,在dhcp配置文件中定义FTP :文件系统 TCP协议 21端口连接服务 20传输数据 放系统镜像三个服务都不可以少
基本部署过程
- 准备CentOS 7 安装源(YUM仓库)
- 安装并启用TFTP服务
- 提供Linux内核。PXE引导程序等
- 安装并启用DHCP服务
- 配置启动菜单
Linux内核和PXE都必须有
准备CentOS 7 安装源
CentOS 7 安装源支持HTTP,FTP,NFS等协议发布
安装并启用TFTP服务
安装tftp-server软件包,启用tftp服务
配置文件位于/etc/xinetd.d/tftp
Xinetd.d是一个平台,里面放了很多小服务
准备Linux内核,PXE引导程序
Linux内核,初始化镜像文件分别为vmlinuz和initrd.img
引导程序为pxelinux.0,由软件包syslinux提供
Linux内核一定要有;初始化镜像文件;PXE引导程序这三个文件要放到tftp中
DHCP PXE设置:
要配置裸金属机子的地址池,网关
其中Net-server指向TFTP服务器IP地址
Filename 指向Pxelinux 0文件
配置启动菜单文件
Prompt 1:1s后启动模式
Append:追加 初始化镜像文件
Method 方法
三个服务:DHCP TFTP FTP
验证PXE网络安装:
为客户机安装系统
调整BIOS设置,以便从网络引导
自动获取IP地址,并指定CentOS 7安装源
其余过程与本地安装相同
PXE自动部署安装实验:
推荐步骤:
1.先选择一台虚拟机作为服务端,配置双网卡,一个网卡为NAT;一个为仅主机模式,用于DHCP服务
2.创建另外一台虚拟机,等待PXE装系统,网卡选择仅主机模式,镜像文件不用选择,因为要配置自动装机
3.配置两个网卡的IP地址,一个配置NAT模式网卡,一个配置DHCP网卡,注意配置DHCP服务的网卡不要配置网关
4.安装dhcp服务
[root@localhost ~]# yum -y install dhcp
5.将文件拷贝到dhcpd.conf中
6. 配置dhcp文件内容,按照图中样式配置;wq保存退出
7.安装tftp工具,引导程序包,需要放到tftp中
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# yum -y install syslinux
8.先修改配置文件,让tftp服务能够开启,将yes改为no
9.查找pxelinux文件位置,需要拷贝到tftp站点当中
10.将引导程序拷贝到tftp站点中
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
11.安装vsftpd服务,需要将系统镜像文件挂载到ftp站点中
[root@localhost tftpboot]# yum -y install vsftpd
12.在ftp站点中创建centos7的目录,将镜像文件挂载centos7目录当中
[root@localhost ftp]# mkdir centos7 ##创建centos7文件[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
13.将pxeboot文件中的内核和初始化镜像文件复制到tftp站点当中
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
14.先创建pxelinux.cfg目录,在目录下创建一个默认配置
15.将三个服务全部开启
[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl start vsftpd
16.回到没装机的虚拟机中,显示开始装机
kickstart无人值守技术:
创建应答文件,预先定义好各种安装设置
免去交互设置过程,从而实现全自动化安装
应答文件的来源
编辑Centos7 系统中现有的的应答文件/root/anaconda-ks.cfg
使用system-config-kickstart工具创建新的应答文件
需要安装system-config-kickstart软件包
无人值守安装kickstart实验
推荐步骤:
1.先用yum工具安装无人值守工具kickstart
yum -y install system-config-kickstart
2.进入图形化界面中,选择kickstart工具
基本配置:
1.基本配置按照图中样式修改
安装方法:
1.安装方法按照图中样式配置
引导装载程序选项:安装新引导装载程序,这边一定要勾选
分区信息:
1.引导程序不需要改,修改分区,先创建boot,只需500M就可以
2.第二个创建/home,分4096M即可
3.第三步选择swap,属于文件系统类型;也分4096M,点击确定
4.最后选择根目录,将磁盘上全部空间都给“/”
网络配置:
1.网络设置选择ens33网卡,点击确定
防火墙配置:
可以选择禁用防火墙
使用解释程序为/bin/bash 选择保存
将文件保存至/var/ftp当中
进入到CRT当中,查看ks.cfg刚刚配置的文件
进入到root的家目录中,可以查看到我们需要安装的文件
将需要安装的文件拷贝到ks.cfg当中
在引导配置文件中添加图中