Linux PXE高效批量网络装机与kickstart 无人值守安装(一)

简介: Linux PXE高效批量网络装机与kickstart 无人值守安装(一)

目录



一、PXE高效批量网络装机


1.1 什么是pxe


1.2 实现的前提条件


1.3 系统安装过程


1.4 搭建过程中的服务详解


1.5 PXE批量部署的优点


二、Kickstart无人值守


2.1 kickstart文件主要包括三个部分


2.1.1 命令段


2.1.2 程序包段


2.1.3 脚本段


三、实验


四、总结


前面我们学习了使用光盘镜像来安装Linux系统的方法,这种方法只适合安装少量Linux系统的情况,如果生产环境中有数百台服务器都需要安装系统,这种方法就显得效率很低,这时,我们就需要使用PXE+TFTP+FTP+DHCP+Kichstart服务搭建出一个无人值守安装系统。这种无人值守安装系统可以自动地为数十台服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,也大大提升了系统安装的效率


image.png

image.png


一、PXE高效批量网络装机



1.1 什么是pxe


PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统


image.png


1.2 实现的前提条件


客户端


BIOS支持

网卡支持(现在基本都已支持)

服务器


需要在BIOS中开启开关,服务器一般没打开(bmc界面里打开)

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

服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载

安装syslinux,提供PXE引导程序

使用ftp服务,提供yum安装源


1.3 系统安装过程


加载boot loader

加载启动安装菜单

加载内核和initrd系统

加载根系统

运行anaconda的安装向导

Linux安装光盘的安装相关文件


在系统光盘的isolinux目录下有和安装相关的文件


image.png


boot.cat: 相当于grub的第一阶段


isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目


isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件


image.png


vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单


memtest:内存检测程序


splash.png:光盘启动菜单界面的背景图


vmlinuz:是内核映像


image.png


initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等),用来挂载root根


1.4 搭建过程中的服务详解


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

vsftp:安装系统镜像文件获取方式,也可以使用http服务


syslinux:一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统


DHCP服务:自动获取IP地址


1.5 PXE批量部署的优点


规模化:同时转配多台服务器

自动化:安装系统、配置各种服务

远程实现:不需要光盘、U盘等安装介质


二、Kickstart无人值守



image.png


2.1 kickstart文件主要包括三个部分


命令段

程序包段

脚本段


2.1.1 命令段


指明各种安装前配置,如键盘类型等


命令段中的常见命令:


keyboard: 设定键盘类型


lang: 语言类型


zerombr:清除mbr


clearpart:清除分区


part: 创建分区


rootpw: 指明root的密码


timezone: 时区


text: 文本安装界面


network:指定网络设置


firewall:设置防火墙设置


selinux:设置selinux设置


reboot:安装完自动重启


user:安装完成后为系统创建新用户


url: 指明安装源


2.1.2 程序包段


指明要安装的程序包组或程序包,不安装的程序包等


%packages


@^environment group: 指定环境包组,如:@^minimal-environment


@group_name


package


-package


%end


2.1.3 脚本段


%pre: 安装前脚本


%post: 安装后脚本


注意:CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用


[root@localhost ~]#yum install system-config-kickstart -y

#安装图形化工具

目录
相关文章
|
17小时前
|
关系型数据库 MySQL Linux
【MySQL】如何在Linux上安装MySQL
【MySQL】如何在Linux上安装MySQL
11 0
|
3天前
|
Linux 测试技术 开发工具
Linux系统之advcpmv工具的安装和基本使用
【5月更文挑战第21天】Linux系统之advcpmv工具的安装和基本使用
14 2
|
4天前
|
NoSQL Linux 测试技术
如何在Linux环境下安装Redis呢?
如何在Linux环境下安装Redis呢?
|
5天前
|
JSON 安全 网络协议
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
|
5天前
|
存储 网络协议 Unix
【Linux 网络】网络编程套接字 -- 详解
【Linux 网络】网络编程套接字 -- 详解
|
5天前
|
存储 网络协议 Linux
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(下)
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(下)
|
5天前
|
存储 网络协议 安全
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)
|
7天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
10天前
|
运维 网络协议 Linux
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》