2020-12-25

一 无人值守安装技术简介

1.1 什么是PXE和kickstart

1.1.1 PXE简介

PXE全称为“Pre-boot Execution Environment”,预启动执行环境。工作于S/的网络模式,通过配置仅主机模式的网络接口启动计算机,使用无人值守系统的启动文件,而不依赖于本地的镜像文件。
在启动工程中,PXE服务器使用DHCP服务为客户端提供同网段的IP地址,基于同一网段IP地址访问PXE服务器的TFTP服务,客户端通过HTTP服务提供的访问路径下载TFTP协议里相关启动软件包完成终端软件配置,按照启动软件包参数引导预先安装在服务器中的终端操作系统。

1.1.2 kickstart简介

Kickstart安装是目前主要的一种无人值守自动部署安装操作系统的方式,使用这种技术,我们可以很轻松地实现自动安装以及配置操作系统。这种技术的核心是自动应答文件(Kickstart文件),即将本来在安装过程中需要我们手动设置的语言、密码、网络参数等通过读取自动应答文件ks.cfg实现自动设置。也就是说,我们需要事先将对操作系统的设置写入自动应答文件,开始安装操作系统时,指定安装程序读取自动应答文件实现自动安装及部署操作系统。
Kickstart文件可以通过如下三种方式生成:
手动书写(仅需要一个vim编辑工具即可)
通过system-config-kickstart图形工具
通过红帽的安装程序Anacoda自动生成
1.2 PXE工作流程图
在这里插入图片描述
图1-1
在这里插入图片描述

图1-2

1.3 无人值守系统的工作原理

  1. PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
  2. DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上);
    3.PXE Client向本网段中的TFTP服务器索取pxeLinux.0文件;
    4.PXE Client取得pxeLinux.0文件后执行该文件;
    5.根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统;
    6.进入安装界面,此时可以通过选择HTTP、FTP、NFS方式之一进行安装;
    详细工作流程结合图1-1和图1-2理解
    1.3 无人值守系统的工作原理
  3. PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
  4. DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上);
    3.PXE Client向本网段中的TFTP服务器索取pxeLinux.0文件;
    4.PXE Client取得pxeLinux.0文件后执行该文件;
    5.根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统;
    6.进入安装界面,此时可以通过选择HTTP、FTP、NFS方式之一进行安装;
    详细工作流程结合图1-1和图1-2理解

二 无人值守系统搭建步骤

2.1 实验环境

2.1.1工作准备

虚拟化软件 :VMware Workstation。
Linux虚拟机 :RHEL 7(两台),DHCP+TFTP+VSFTP服务器,PXE客户端。
DHCP+TFTP+VSFTP服务器 :IP:192.168.100.1/24 网卡模式:VMnet2。
PXE客户端:IP:自动获取
拓扑图如下:
在这里插入图片描述

2.1.2 环境配置

1、设置PXE服务器的网卡为VMnet2,仅主机模式
在这里插入图片描述

2、修改虚拟机的首选项配置
设置VMnet的信息,去除使用本地dhcp服务器IP地址分配给虚拟机,否则测试网卡会自动生成IP地址分配给虚拟机,与自己设置的DHCP范围不一致
在这里插入图片描述

3、配置主机名称和网卡IP地址
在PXE服务器上,修改主机的名称为本人信息
[root@localhost ~]# hostnamectl set-hostname txm2305
[root@localhost ~]# su
查看当前的网卡信息和IP地址
[root@txm2305 ~]# ip addr
切换至网卡信息的主配置文件
[root@txm2305 ~]# cd /etc/sysconfig/network-scripts/
[root@txm2305 network-scripts]# ls
修改当前与VMnet2关联的网卡eno16777736
[root@txm2305 network-scripts]# vim ifcfg-eno16777736
在这里插入图片描述
在这里插入图片描述
修改信息如下图:
在这里插入图片描述

重启网络更新网卡信息,可以看见配置已生效
[root@txm2305 network-scripts]# systemctl restart network
[root@txm2305 network-scripts]# ip addr
在这里插入图片描述

4、关闭安全设置
关闭防火墙的保护策略,否则服务器无法向外界提供服务
[root@txm2305 ~]# systemctl stop firewalld.service
[root@txm2305 ~]# systemctl status firewalld.service
在这里插入图片描述

将selinux的强制模式设置为disabled,该模式下的安全防范弱
[root@txm2305 ~]# getenforce
[root@txm2305 ~]# vim /etc/selinux/config
在这里插入图片描述
在这里插入图片描述

2.2 DHCP服务器配置

2.2.1 配置仓库源

切换至yum的主配置文件
[root@txm2305 ~]# cd /etc/yum.repos.d/
[root@txm2305 yum.repos.d]# ls
新增yum源名称为TXM2305rhel7.repo,内容如下图:
[root@txm2305 yum.repos.d]# vim TXM2305rhel7.repo
将光盘挂载于/media目录下,方便软件包安装
[root@txm2305 yum.repos.d]# mount /dev/cdrom /media/
在这里插入图片描述
在这里插入图片描述

2.2.2安装DHCP服务

[root@txm2305 ~]# yum -y install dhcp
在这里插入图片描述

2.2.3配置DHCP服务器

切换到/etc/dhcp主配置文件,查看dhcpd.conf文件,编辑此文件。填写完毕后,重新启动该服务,显示为active为正常启动。
[root@txm2305 ~]# cd /etc/dhcp/
[root@txm2305 dhcp]# ls
[root@txm2305 dhcp]# vim dhcpd.conf
[root@txm2305 dhcp]# systemctl restart dhcpd
[root@txm2305 dhcp]# systemctl status dhcpd
在这里插入图片描述

/etc/dhcp/dhcpd.cond文件内,新增如下一段话,详细信息如下图:
在这里插入图片描述

2.3 TFTP服务器配置

2.3.1安装TFTP服务器

[root@txm2305 ~]# yum -y install tftp-server

23.2配置TFTP服务器

切换到TFTP的主配置文件/etc/xinetd.d/并查看目录下的tftp文件,编辑此文件的内容,将disable处的yes改为no。重新启动tftp.socket,状态为active正常。
[root@txm2305 dhcp]# cd /etc/xinetd.d/
[root@txm2305 xinetd.d]# ls
[root@txm2305 xinetd.d]# vim tftp
[root@txm2305 xinetd.d]# systemctl restart tftp.socket
[root@txm2305 xinetd.d]# systemctl status tftp.socket
在这里插入图片描述

/etc/xinetd.d/tftp文件内容如下图:
在这里插入图片描述

2.3.3配置SYSLinux服务

安装SYSLinux服务软件包
[root@txm2305 ~]# yum -y install syslinux

通过tftp文件,可以看到tftp的默认文件位置,需要拷贝syslinux的四个文件到该目录下,用于提供测试机装机。把SYSLinux提供的引导文件复制到TFTP的默认目录下,pxelinux.0、menu.c32、vmlinuz和initrd.img这四份文件能让客户机获取引导文件和光盘中的一些引导文件同时拷贝到TFTP服务器的默认目录。“.”表示当前目录/var/lib/tftpboot
[root@txm2305 xinetd.d]# cat tftp
[root@txm2305 xinetd.d]# cd /var/lib/tftpboot/
[root@txm2305 tftpboot]# ls
[root@txm2305 tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@txm2305 tftpboot]#
[root@txm2305 tftpboot]# cp /usr/share/syslinux/menu.c32 .
[root@txm2305 tftpboot]#
[root@txm2305 tftpboot]# cp /media/isolinux/vmlinuz .
[root@txm2305 tftpboot]#
[root@txm2305 tftpboot]# cp /media/isolinux/initrd.img .
[root@txm2305 tftpboot]#
在这里插入图片描述

新建pxelinux.cfg文件,切换到pxelinux.cfg下,新建一个default文件。
[root@txm2305 tftpboot]# mkdir pxelinux.cfg
[root@txm2305 tftpboot]# ls
[root@txm2305 tftpboot]# cd pxelinux.cfg/
[root@txm2305 pxelinux.cfg]# ls
[root@txm2305 pxelinux.cfg]# vim default
在这里插入图片描述

自己写一段脚本内容,该脚本内容参考isolinux.cfg文件精简后的,内容如下:
在这里插入图片描述

2.4 HTTP服务器配置

2.4.1安装HTTP服务

[root@txm2305 ~]# yum -y install httpd

2.4.2启动HTTP服务器

[root@txm2305 pxelinux.cfg]# systemctl restart httpd
[root@txm2305 pxelinux.cfg]#
[root@txm2305 pxelinux.cfg]# systemctl status httpd.service
在这里插入图片描述

2.4.3配置HTTP目录

在HTTP的主目录下,创建光盘挂载的文件为TXM2305,挂载光盘于该目录
[root@txm2305 pxelinux.cfg]# cd /var/www/html/
[root@txm2305 html]# ls
[root@txm2305 html]# mkdir TXM2305
[root@txm2305 html]# ls
[root@txm2305 html]#
[root@txm2305 html]# umount /dev/cdrom /media/
[root@txm2305 html]# mount /dev/cdrom /var/www/html/TXM2305/
在这里插入图片描述

2.5 制作kickstart应答文件

2.5.1配置应答文件

在root的家目录下,复制anaconda-ks.cfg的文件于HTTP的主目录,然后修改名称为ks.cfg,此文件为Kickstart的应答文件
[root@txm2305 html]# cd
[root@txm2305 ~]# ls
[root@txm2305 ~]#
[root@txm2305 ~]# cp anaconda-ks.cfg /var/www/html/
[root@txm2305 ~]#
[root@txm2305 ~]# cd /var/www/html/
[root@txm2305 html]# mv anaconda-ks.cfg ks.cfg
[root@txm2305 html]# ls
在这里插入图片描述

由于该文件没有可读的权限,因此给予r权限
在这里插入图片描述

[root@txm2305 html]# chmod +r ks.cfg
在这里插入图片描述

再次验证后,可以查看到文件信息
在这里插入图片描述

修改ks.cfg的文件,如下图:
将cdrom修改为url路径为HTTP服务器的IP地址,即本机地址
[root@txm2305 html]# vim ks.cfg
在这里插入图片描述
在这里插入图片描述

把cleanpart处的none修改为all
在这里插入图片描述

重启PXE服务器
[root@txm2305 html]# reboot

重启开机后,重新启动dhcp、tftp、http服务
[root@txm2305 ~]# systemctl restart dhcpd
[root@txm2305 ~]# systemctl restart tftp.socket
[root@txm2305 ~]# systemctl restart httpd
在这里插入图片描述

[root@txm2305 ~]# systemctl restart tftp.socket
[root@txm2305 ~]# systemctl status tftp.socket
在这里插入图片描述

2.5.2排除干扰因素

再次确认防火墙、selinux:
[root@txm2305 ~]# systemctl stop firewalld.service
[root@txm2305 ~]# systemctl status firewalld.service
[root@txm2305 ~]# getenforce
在这里插入图片描述

再次确认挂载光盘是否成功
[root@txm2305 ~]# df -h
[root@txm2305 ~]# mount /dev/cdrom /var/www/html/TXM2305/
[root@txm2305 ~]# df -h
在这里插入图片描述

验证光盘挂载
在这里插入图片描述

三 无人值守自动部署

3.1 测试机创建

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

3.2 自动部署过程

开机验证自动部署
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自动安装完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snow_55555

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值