linux系统服务-PXE批量部署kickstart无人值守

Posted 可乐卷儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统服务-PXE批量部署kickstart无人值守相关的知识,希望对你有一定的参考价值。


一、PXE技术

1、概述

PXE全称:preboot execute environment,批量部署;PXE是用来通过网络引导系统的,也是一种C/S架构;不是一种服务,是多种服务形成一个技术

2、包含的服务器:

  • DHCP服务器:用于为需要PXE服务的主机提供IP、定位引导程序
  • TFTP服务器(简单文件传输协议):系统引导文件pxelinux.0文件,用于引导程序下载;使用udp69端口,是一个小而易于实现的文件传送协议
    • 容易实现、速度快、不验证身份权限等,客户端请求文件就给他
    • 一般用作于小文件的传输
    • 包含内核文件和驱动文件,通过复制centos7的光盘里的内核和驱动文件
    • pxelinux.0文件通过yum下载某一个软件获得
  • FTP服务器:存储软件包;通过挂载centos7的光盘ftp获得软件包

3、工作原理

  • 客户端向dhcp服务器发送广播,请求ip地址
  • dhcp服务器响应客户端请求,分配地址池中的可用地址给客户端
  • dhcp服务器提供tftp服务器的地址,引导客户端去tftp服务器取得系统所需的引导文件
  • 客户端需要系统启动的内核文件和驱动文件
  • 当操作系统安装之后需要一些软件包,客户端向ftp服务器请求(寻找软件包)

二、kickstart无人值守技

  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

三、实操

1、配置PXE

1.1、实验环境

服务器网卡配置文件,配置net模式下载软件包
在这里插入图片描述
服务器增加一张网卡,配置vm1仅主机模式,用于实验测试
在这里插入图片描述

1.2、安装软件

hostname server  #服务器改名
yum -y install dhcp   #安装dhcp服务
cp -p /usr/share/doc/dhcp*/dhcpd.conf.exampl
/etc/dhcp/dhcpd.conf #复制内容到dhcp主配置文件内
vim /etc/dhcp/dhcpd.conf   #编辑dhcp配置文件
next-server 192.168.10.100  #指定tftp服务器的ip地址

在这里插入图片描述

systemctl  start dhcpd   #开启dhcp服务
yum -y install tftp-server.x86_64   #下载tftp服务
rpm -ql tftp-server  #查询tftp所有安装完成的软件并找到其家目录
/var/lib/tftpboot     #tftp家目录

在这里插入图片描述

yum provides */pxelinux.0 #查询包含支持pxelinux.0文件的软件包

在这里插入图片描述
syslinux提供了pxe的引导文件

yum -y install syslinux         # 安装syslinux服务,得到系统引导文件,在tftp的家目录/var/lib/tftpboot/ 
rpm -ql syslinux | grep pxe  #查询已安装的软件名包含pxe
cp -p /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/      #引导文件复制到tftp的家目录内挂载

在这里插入图片描述
挂载目录下包含:内核执行文件:vmlinuz 驱动伪文件系统:initrd.img
在这里插入图片描述

/mnt/images/pxeboot   # pxeboot光盘的目录

在这里插入图片描述

cp vmlinuz initrd.img  /var/lib/tftpboot/   #内核执行文件和驱动伪文件系统复制到tftp家目录

tftp家目录包含:系统引导文件:pxelinux.0;内核执行文件:vmlinuz;驱动伪文件系统:initrd.img
在这里插入图片描述

yum -y install vsftpd      # 安装ftp服务

在这里插入图片描述

mkdir /var/ftp/centos7   #vsftp默认的共享目录/var/ftp下创建一个目录centos7,专门存放所需的文件
cp -rf /mnt/*  /var/ftp/centos7/   #挂载点下所有的文件复制到ftp共享目录下
mkdir pxelinux.cfg    #创建存放菜单文件的目录
isolinux.cfg   #找到真正的菜单文件
cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  #菜单文件内的内容复制到pxelinux.cfg目录下的空文件defaule

在这里插入图片描述

vim /var/lib/tftpboot/pxelinux.cfg/default     #查看菜单文件内容

在这里插入图片描述

cp -p splash.png vesamenu.c32 /var/lib/tftpboot/  #复制背景图和图形化到tftp家目录下
ls /var/lib/tftpboot/  #查询tftp家目录内容

在这里插入图片描述

vim /var/lib/tftpboot/pxelinux.cfg/default  #打开菜单文件
menu title PXE CentOS7 install  # 更改菜单标题

在这里插入图片描述
只留lanle linux 其余删除
在这里插入图片描述

1.3、启动服务

systemctl start vsftpd   #开启vsftp服务
vim  /etc/xinetd.d/tftp   #tftp是由xinetd管家管理的,若开启的话,需要编辑

在这里插入图片描述

systemctl start tftp # 启用tftp服务
netstat -anup | grep *  # 验证端口是否开启;TFTP:udp69端口;FTP:21端口

在这里插入图片描述

1.4、安装PXE

客户机Bios选择Network boot 进入安装
在这里插入图片描述
回撤即可安装
在这里插入图片描述

2、kickstart无人值守

2.1、下载kickstart工具

yum install -y system- config-kickstart #在 CentOS 7系统中安装system- config- kickstart工具

2.2、安装kickstart无人值守

  • 通过图形化向导工具来配置安装应答文件

    • 调用Kickstart2种方法
      • 一种直接点击图标
        在这里插入图片描述
      • 第二种通过命令调用
        system-config-kickstart
        在这里插入图片描述
  • 如果用户对自动应答文件的配置比较熟悉,也可以直接编辑CentOS 7
    在这里插入图片描述
    安装后自动创建的应答文件(/root/anaconda-ks.cfg) ,根据需要适当修订后使用

2.3、具体配置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证默认,无须更改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim /etc/yum.repos.d/CentOS-Base.repo  #编辑yum配置文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存在root目录下
在这里插入图片描述
查询root,产生文件ks.cfg,就是kickstart配置程序
vim ks.cfg
在这里插入图片描述
不勾选,配置文件直接显示密码
在这里插入图片描述
把ks.cfg拷贝到vsftp家目录下
在这里插入图片描述

2.4、自动读秒

vim /var/lib/tftpboot/pxelinux.cfg/default  #服务器配置更改内容

在这里插入图片描述
在这里插入图片描述
无须手动选择菜单回撤,直接自动安装
在这里插入图片描述

以上是关于linux系统服务-PXE批量部署kickstart无人值守的主要内容,如果未能解决你的问题,请参考以下文章

http+tftp+pxe+kickstar自动化部署

linux系统服务-PXE批量部署kickstart无人值守

PXE批量部署 Linux 系统

PXE远程装机服务批量部署LINUX系统

linux部署pxe+kickstart批量安装linux操作系统实施方案

PXE批量自动部署linux系统环境