Linux网络服务 PXE网络批量装机 与 Kickstart无人值守安装

36 阅读5分钟

本章重点如何批量安装操作系统。

一、系统安装的方法

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

光驱( u盘)

硬盘

网络PXE

2.系统安装过程

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

二、PXE

1.什么是PXE

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

2.PXE批量部署的优点

  1. 规模化:同时装配多台服务器,无需每一台单独安装操作系统;
  2. 自动化:实现服务器的自动安装及自动配置各种服务;
  3. 远程实现:不需要光盘、U盘等安装介质,光盘、u盘只限于对少量机器使用。方便快捷的同时又可以保障服务器安全。

3.PXE安装系统过程

  1. 客端的网卡查找dhcp服务,获取ip地址和时间;

  2. dhcp服务器给客户机分配ip地址和引导地址,同时通过offer报文把tftp服务器地址发给客户机;

  3. tftp服务器把引导文件(pxelinux.0)传给客户机;

  4. 客户机把引导程序加载到内存中;

  5. 引导程序在tftp服务器中查找配置文件,服务器把配置文件传给客户端;

  6. 服务器通过vsftp服务和客户端互传文件,客户端获得系统的镜像文件;

image.png

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地址和子网掩码。在PXE中起到给裸机提供IP地址的作用,IP配在裸机的网卡中。

  1. TFTP服务

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

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

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

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

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

  1. syslinux

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

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

二、PXE网络装机操作过程

实验环境:

服务器内网IP地址:192.168.83.101。

DHCP、TFTP、FTP服务全都搭建在这一台服务器上。

服务器配置步骤:

1、安装四个软件包:dhcp、tftp-server、vsftpd、syslinux。 image.png

2.配置DHCP服务器,分配IP地址,指明tftp服务器的地址。 image.png image.png image.png

3.编辑TFTP服务配置文件,开启服务(默认是关闭状态) image.png image.png

4. 挂载软件安装源(通常情况下都使用光盘中的安装源,即挂载光驱) image.png 5.将三大文件先拷入/var/lib/tftpboot/ 目录中:pxelinux.0,vmlinuz,initrd.img。 image.png

image.png image.png

6、在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在pxelinux.cfg目录下编写引导程序的配置文件default。(可参考光盘 isolinux 目录下的 isolinux.cfg 文件)

image.png

default linux


label linux
  kernel vmlinuz
  append initrd=initrd.img  method=ftp://192.168.83.101/centos7
  使用ftp服务,指明安装源路径在/var/ftp/centos7

label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.83.101/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.83.101/centos7

image.png

7.关闭防火墙和selinux。启动 dhcpd、tftp、vsftpd 三个服务。

image.png

8.新建一台虚拟机测试能否自动装机

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

9.开启虚拟机:

虚拟机自动获取IP地址、自动安装镜像文件系统,最后出现图形化界面,之后的参数需要手动设置。

image.png 10.出现图形化界面,实验成功。之后的参数需要手动设置。

image.png

三、kickstart无人值守安装

1. kickstart文件

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

  • 命令段
  • 程序包段
  • 脚本段

服务端安装kickstart软件

[root@node3 ~]#  yum install system-config-kickstart -y   //安装kickstart软件

演示:

1.进入虚拟机图形界面,在应用程序中找到 Kickstart 工具并进行配置。 image.png 2.进行基本配置调试 image.png 3.安装方法 image.png 4.引导文件 image.png 5.分区 image.png

image.png

image.png

image.png 6.禁用防火墙

image.png 7.取消图形化安装

image.png 8.安装后脚本

image.png 9.保存配置

image.png

image.png