当前位置: 首页 > article >正文

二五、pxe自动装机

pxe自动装机

pxe------------------------------自动安装系统必要的运行环境

无人值守--------------------为系统定制化的安装需要的软件

pxe的优点:

1、规模化:同时装配多台服务器(20-30)

2、自动化:系统安装和服务配置不需要人工干预

3、远程实现:不需要光盘,也不需要u盘

前提条件:

1、网卡都支持pxe协议

2、DHCP,动态的给客户机分配ipdz

3、需要FTP文件传输协议

4、我们需要准备好光盘镜像

安装依赖环境:

DHCP  VSFTP  TFTP(简单文件传输协议,他是基于UDP协议实现的文件传输协议,适用于小文件的应用场景,xinetd服务)

initrd.img: initrd  initrd.gz   linux引导加载模块

vmliuz:  linux的内核文件

pxe的引导文件:

yum -y install syslinux

安装vsftpd,进行系统文件的传输;

yum -y install vsftpd

default auto

声明pxe入口文件的位置

prompt 0

表示不等待用户选择,自行v

label auto                                                                 
kernel vmlinuz                                                           
append initrd=initrd.img method=ftp://192.168.233.10/centos7
图形化界面的安装人口

label linux text                                                         
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.233.10/centos7
字符串界面的安装入口

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

自动装机方法:

1、安装并启动TFTP服务

yum -y install tftp-server xinetd            #安装并启用 TFTP 服务
vim /etc/xinetd.d/tftp                       #修改TFTP服务的配置文件

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

2.安装并启用 DHCP 服务

yum -y install dhcp            #安装dhcp软件包

vim /etc/dhcp/dhcpd.conf                            #修改DHCP服务的配置文件

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根目录下
 

4.准备 PXE 引导程序

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

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服务开机自启

6.配置启动菜单文件


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

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

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

实现 Kickstart 无人值守安装

1.准备安装应答文件
(1)安装system-config-kickstart 工具
yum install -y system-config-kickstart

(2)打开“Kickstart 配置程序”窗口
通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开

执行 “system-config-kickstart” 命令打开

(3)配置kickstart选项

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

安装方法:
选FTP
FTP服务器:ftp://192.168.32.12
FTP目录:centos7

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

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

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


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

(4)保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg

(5)配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,
只需要复制%packages 到%end 部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

(6)编辑引导菜单文件 default,添加 ks 引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default    

2.验证无人值守安装


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


http://www.kler.cn/a/398539.html

相关文章:

  • C++深度搜索(2)
  • web——upload-labs——第三关——后缀黑名单绕过
  • PCL 三维重建 耳切三角剖分算法
  • 删除缓存之后,浏览器显示登录新设备
  • [Android]相关属性功能的裁剪
  • MySQL中Flashback(闪回)技术
  • C# WPF .NET6程序可以直接运行?不需要装.NET运行时?
  • 【jvm】HotSpot中方法区的演进
  • 【java】值传递引用传递
  • JAVA中对象实体与对象引用有何不同?举例说明
  • Transformer学习笔记(一)
  • 机器学习基础03
  • Android 关于使用videocompressor库压缩没有声音和异常的问题
  • 专题二十_动态规划_简单多状态dp问题_买卖股票系列问题_算法专题详细总结
  • 「Qt Widget中文示例指南」如何创建一个窗口标志?(二)
  • Android Framework层介绍
  • 半导体器件与物理篇3 P-N结
  • Redis的Zset在排行榜中应用
  • 【数据结构】树——顺序存储二叉树
  • 面试题1111
  • 使用Kafka实现大规模数据流处理的最佳实践
  • 用哈希表封装myunordered_map/_set--C++
  • LeetCode100之回文链表(234)--Java
  • 药方新解:Spring Boot中药实验管理系统设计
  • 比较TCP/IP和OSI/RM的区别
  • Maven常用打包方式