PXE和Kickstart全自动化安装

107 阅读4分钟

PXE

PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。

PXE是通过网卡引导启动。

PXE服务优点

  • 规模化:同时装配多台服务器,无需每一台单独安装操作系统;
  • 自动化:实现服务器的自动安装及自动配置各种服务;
  • 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

搭建PXE网络体系所需条件

客户机

  • 客户机的网卡要支持PXE协议(集成BOOTROM芯片)。
  • 网卡自带DHCP服务和TFTP服务。
  • 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。

服务端

  • 配置 DHCP 服务器 :为客户机自动分配地址、指定引导文件位置(指明TFTP服务器地址)。
  • 服务器要开启 TFTP 服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
  • 安装软件包syslinux :提供PXE引导程序。
  • 服务器提供FTP服务(或http) :提供安装源(例如镜像文件系统等)。

四大文件

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

PXE实现过程

  1. 客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
  2. DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
  3. TFTP服务器把引导文件(pxelinux.0)传给客户机。
  4. 客户机将引导程序加载到内存中来。
  5. 引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
  6. 服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。

搭建服务详解

PXE远程安装服务器集成了CentOS 7安装源、TFTP 服务、DHCP 服务,能够向空白客户机(裸机)发送PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。

网卡自带DHCP服务和TFTP服务。

DHCP服务

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

TFTP服务

  • TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
  • TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。
  • 自带的站点:/var/lib/tftpboot

syslinux

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

vsftp

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

PXE网络装机

服务器

安装软件包:dhcp、tftp-server、vsftpd、syslinux

image.png

配置DHCP服务器,分配IP地址,指明tftp服务器的地址

image.png

image.png

修改TFTP服务配置文件/etc/xinetd.d/tftp,将服务开启

image.png

将光盘挂载到/var/ftp的子目录centos7下,并将三大文件先拷入/var/lib/tftpboot/ 目录中

image.png

在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在pxelinux.cfg目录下编写引导程序的配置文件default

image.png

关闭防火墙,启动 dhcpd、tftp、vsftpd服务

image.png

客户端

创建新的空白虚拟机

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

虚拟机自动获取IP地址、自动安装镜像文件系统,boot处手动回车

image.png

最后安装完成出现图形界面

image.png

Kickstart全自动化安装

下载kickstart软件包

image.png

进入虚拟机在应用程序中的系统工具菜单栏打开kickstart

image.png

设置语言

image.png

设置服务器ip和镜像目录

image.png

选择安装引导程序

image.png

自定义分区

image.png

image.png

image.png

image.png

设置网卡

image.png

选择关闭防火墙,因为没啥用

image.png

取消安装图像环境

image.png

设置bash以及系统安装完成后自动完成创建用户的脚本

image.png

保存文件到/var/ftp目录下

image.png

image.png

image.png

再次修改/var/lib/tftpboot/pxelinux.cfg目录下的default文件,添加ks参数

image.png

重新创建空白虚拟机,安装完成后发现已经创建lisi用户

image.png