linux网络服务-PXE批量装机与KICKSTART 无人值守

145 阅读4分钟

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

1.系统装机的三种引导方式

  1. 硬盘
  2. 光驱(u盘)
  3. 网络启动 PXE

2.系统安装的过程

  • 加载 boot loader
  • 加载启动安装菜单
  • 加载内核和initrd系统
  • 加载根系统
  • 运行anaconda的安装向导

2.1 PXE安装系统过程

  1. 客端的网卡查找dhcp服务,获取ip地址和时间
  2. dhcp服务器给客户机分配ip地址和引导地址,同时通过offer报文把tftp服务器地址发给客户机
  3. tftp服务器把引导文件(pxelinux.0)传给客户机
  4. 客户机把引导程序加载到内存中
  5. 引导程序在tftp服务器中查找配置文件,服务器把配置文件传给客户端
  6. 服务器通过vsftp服务和客户端互传文件,客户端获得系统的镜像文件

p1.png

p2.png

3.PXE装机

3.1 PXE装机的优势

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

3.2 PXE装机的先决条件

PXE是通过网卡引导启动的,实现需要有必要的硬件条件,需要满足以下四个条件,才可以实现PXE

  1. 网卡必须要支持,不过也不需要担心,基本目前的网卡都支持
  2. BIOS支持,需要在bios中开启开关,需注意服务器bios一般没打开,需要在bmc界面打开
  3. 网络中必须有一台DHCP服务器,用于给客户机自动分配地址,指定引导文件位置,网卡自带DHCP功能,dhcp指明分配的ip地址
  4. .安装了TFTP服务,使用TFTP服务(简单文件传输协议)给提供系统内核和引导镜像的下载。

3.3 PXE装机四大文件及需要的四个服务软件

四大文件

  1. pxelinux.0:引导程序。(来自syslinux程序)
  1. default:引导程序的配置文件,可以理解成引导实现Kickstart的一个文件,在pxelinux.0目录下(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
  1. vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
  1. initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

四个服务

  1. DHCP服务

DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

  1. TFTP服务

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

TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。

自带的站点:/var/lib/tftpboot

  1. syslinux

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

安装syslinux程序后,可获得 pxelinux.0 文件。

  1. vsftp:安装系统镜像文件获取方式

可以使用http、ftp等方式,ftp文件传输的一种,vsftpd是提供ftp服务的软件之一。

4. kickstart 无人值守安装

Kickstart 文件是一个包含安装配置信息的文本文件。通过将Kickstart文件放置在网络上的可访问位置,并将PXE服务器进行相应的配置,可以实现使用Kickstart文件来配置和自动化执行操作系统安装过程

Kickstart的配置文件在ks.cfg中

如何实现Kickstart无人值守安装

需要先安装Kickstart

yum install system-config-kickstart -y

然后去服务端的图形化页面中进行一些配置操作

k1.png

k2.png

k3.png

k4.png

k5.png

k6.png

k7.png

k8.png

k9.png

k10.png

k11.png

k12.png

k13.png

k14.png

k15.png

5.PXE+Kickstart无人值守装机示例

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

10.png

11.png

最后一个文件 pxelinux.cfg中的 default(引导程序的配置文件),可以理解成引导实现Kickstart的一个文件(需要在图形化页面完成好配置)

12.png

13.png

14.png

15.png

16.png

PS:需要注意,四大文件中 pxelinux.cfg中的 default(引导程序的配置文件)文件,如果不需要执行Kickstart无人值守安装,可以不配置这个文件内容,只需确保 pxelinux.cfg 目录中包含名为 default 的文件即可(如果 default 文件为空,PXE 客户端将使用内置的默认配置)