PXE高效批量网络装机
- 一、部署PXE远程安装服务
- 1.1、搭建PXE远程安装服务器
- 1.1.1、PXE概述
- 1.1.2、配置PXE装机服务器
- 1.2、验证PXE网络安装
- 二、实现Kickstart无人值守安装
- 2.1、准备安装应答文件
- 2.2、实现批量自动装机
- 三、PXE远程安装服务实验
一、部署PXE远程安装服务
1.1、搭建PXE远程安装服务器
1.1.1、PXE概述
■PXE批量部署的优点
- 规模化:同时装配多台服务器
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装个质
■PXE (Preboot eXcution Environment)
- 预启动执行环境,在操作系统之前运行
■服务端
- 运行DHCP服务,用来分配地址、定位引导程序
- 运行TFTP服务,提供引导程序下载
■客户端
- 网卡支持PXE协议
- 主板支持网络引导
1.1.2、配置PXE装机服务器
■基本部署过程
- 准备CentOS 7安装源(YUM仓库)
安装并启用FTP服务,两个服务都要。 - 安装并启用TFTP服务
- 提供Linux内核、PXE引导程序等
- 安装并启用DHCP服务
- 配置启动菜单
■准备CentOS 7安装源
- CentOS 7安装源支持HTTP、FTP、NFS等协议发布
[root@localhost ~]# yum -y instalpvsftpd
[root@localhost ~]# mkdir lvar/ftp/centos7
[root@localhost ~]# cp -f /media/cdrom/* /var/ftp/centos7/
[root@localhost ~]# systemctl start vsftpd
■安装并启用TFTP服务
- 安装ftp-server软件包, 启用tp服务
- 配置文件位于/etc/xinetd/ftp
[root@localhost ~]# yum y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
server_ args = -8 /vrli/ttpboot
disable = no
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp
■准备Linux内核、PXE引导程序
- Linux内核、初始化镜像文件分别为vmlinuz和initrd.img
- 引导程序为pxelinux.0,由软件包syslinux提供
[root@localhost ~]# cd /media/cdrom/images/pxeboot
[root@localhost pxeboot]# cp vmlinuz initrd.img larlibitftpboot
[root@localhost ~]# yum y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /ar/itftpboot
■DHCP服务的PXE设置
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
subnet 192. 168.4.0 netmask 255 255.255.0 {
..
option routers 192. 168.4.254;
option domain-name-servers 192. 168.4.254,202.106.0.20;
range 192.168.4.100 192.168.4.200;
next-server 192.168.4.254;
filename "pxelinux.0";
[root@localhost ~]# systemctl start dhepd
[root@localhost ~]# systemctl enable dhcpd
■配置启动菜单文件
[root@localhost ~]# vi lrlibftpboot/pxeliux .cfg/default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method-ftp://192.168.4.254/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192. 1684.254/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img methodftp://192. 168.4254/centos7
1.2、验证PXE网络安装
■为客户机安装系统
- 调整BIOS设置,以便从网络引导
- 自动获取IP地址,并指定CentOS 7安装源
- 其余过程与本地安装相同
二、实现Kickstart无人值守安装
■kickstart无人值守技术
- 创建应答文件,预先定义好各种安装设置
- 免去交互设置过程,从而实现全自动化安装
2.1、准备安装应答文件
■应答文件的来源
- 编辑CentOS 7系统中现有的应答文件
/root/anaconda-ks.cfg - 使用system-config kickstart工具创建新的应答文件
需要安装system-config-kickstart软件包
■应答文件的内容
url -l*tp:// 168.4.254/centos7"-
%post -interpreter=/bin/bash
rm -f /etcl/yum.repos.d/*
echo -e
[base]Inname=CentOS7.3Inbaseutp://192. 168.4 254/centos7Inenabled=1\n
gpgcheck=1ngegke-le//c/pk/pm-gpg/RPM-GPG-KEY-CentOS-
7'>/etclyum.repos. d/centos7.repo
%end
%packages
@^minimal
%end
2.2、实现批量自动装机
■PXE与kickstart结合使用
[root@localhost ~]# cp lrootks.cfg /rarl/ftp/ks.cfg
[root@localhost ~]# vi larlbitftpbootpxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd .imng method-tp://192.168.4.254/centos7
kstp://192.168.4.254/ks.cfg
■验证自动安装
- 将客户机以PXE方式引导
- 系统会自动完成安装,并配置好软件仓库
- 整个安装过程无需手动干预
三、PXE远程安装服务实验
1、服务器,客户端虚拟机安装图形化界面
2、服务器 vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置如下
配置完之后刷新一下服务 systemctl restart network
3、进行远程登陆一下
4、进行永久挂载==>wq 保存退出
5、配置优化环境
进入vi编辑器改参数,先删掉前36行,36dd==>>完成如下配置
baseurl=file:///mnt 去哪个路径找,挂载点
Gpgcheck=0 不检验的
Enabled=1 开机自启
关闭防火墙,和开机自动关闭防火墙
关闭防火墙之后 内核的防护也给它开机关闭;
Centos7.4 yum缓存是需要手动清除的;
在重新mkae加载缓存;
6、配置完成–重启
7、创建ftp服务的centos7目录,把mnt里的本地源放进这个目录;
安装vsftpd服务
开启vsftpd服务,开机自启服务
8、安装tftp-server服务
9、开机不自启
10、重启和开机启动
11、进入/mnt/images/pxeboot目录,复制initrd.img vmlinuz到/var/lib/t里,复制initrd.img vmlinuz到/var/lib/tftpboot里
12、复制到指定目录
13、安装dhcp
14、编辑dhcp服务并重启和开机启动
15、配置启动菜单文件
16、创建一台新的虚拟机测试一下,随便创建,开机的时候自动到这个页面 ,boot要回车一下出现安装页面就是可以的
17、安装system-config-kickstart服务
18、打开图形界面系统工具的kickstart工具
19、kickstart设置如下
20、保存一下,保存在root目录下
21、编辑自动应答文件(软件包选择:CentOS 7 系统开始不再提供软件包的选择,如图 6.6 所示。如果需要安装软件包,可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg 文件中,只需要复制%packages 到%end 部分即可,在%packages 到%end 之间,包含以@开头的软件包列表,将不需要的软件名删除,剩下的就是系统会自动安装的软件包。例如,仅保留以下内容即为采用最小化安装)
22、复制ks.cfg应答文件到/var/ftp文件里,然后vi编辑
23、创建一个新的客户端启动后PXE自动安装系统
到这里我们的实验就结束拉!今天这个实验会帮我们自动装centos7的系统,这样可以省去很多麻烦,也会节约人力!
希望大家可以给我这个新手来个一键三连!感谢各位铁汁了!