无人值守安装

news/2024/11/15 4:01:39/

自动化安装Linux

  • 一、PXE
    • 1.1PXE概念
    • 1.2协议分类
    • 1.3 优点
    • 1.4 批量安装的前置条件
    • 1.5 PXE实现的过程详解
  • 二、配置PXE远程安装服务器
    • 2.1 思路
    • 2.2 配置步骤
    • 2.3 配置应答文件
    • 总结:

引言: 学会自动安装,安逸的很

一、PXE

1.1PXE概念

PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。

1.2协议分类

协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

端口:69

1.3 优点

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

1.4 批量安装的前置条件

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

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

其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数 PC 都能够提供此支持,只需在 BIOS 设置中允许从 Network 或 LAN 启动即可。

1.5 PXE实现的过程详解

1.网卡需要查找相关的dhcp服务器(获取地址时间)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

3.网卡使用tftp客户端吧引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

二、配置PXE远程安装服务器

2.1 思路

1、安装并启用 DHCP 服务
2、安装并启用 TFTP 服务
3、准备 PXE 引导程序pxelinux.0
4、配置启动菜单文件
5、安装ftp服务,准备 CentOS 7 安装源

2.2 配置步骤

 [root@localhost li]# rpm -q dhcp    ###查看DHCP服务是否安装
未安装软件包 dhcp 
[root@localhost li]# yum install -y dhcp    ###安装DHCP服务
已加载插件:fastestmirror, langpacks[root@localhost li]# ls /etc/yum.repos.d/  查看本地源
local.repo  repos.bak
[root@localhost li]#cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
复制配置文件
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost li]# vim /etc/dhcp/dhcpd.conf   ###编辑DHCP配置文件

在这里插入图片描述

[root@localhost li]# cd /etc/sysconfig/network-scripts/   ###转到网卡目录下
[root@localhost network-scripts]# ifconfig   ###查看安装好的网卡信息

在这里插入图片描述

[root@localhost network-scripts]# cp -p ifcfg-ens33  ifcfg-ens36   将33网卡配置复制到36下(省事)
[root@localhost network-scripts]# vim ifcfg-ens36   编辑36网卡
[root@localhost network-scripts]# systemctl restart network  重启网卡
[root@localhost network-scripts]# ifconfig  查看网卡配置

在这里插入图片描述

[root@localhost network-scripts]# systemctl start dhcpd   ###开启DHCP服务
[root@localhost network-scripts]# vim /etc/xinetd.d/tftp 
[root@localhost network-scripts]# mount /dev/sr0 /mnt   ### 挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost network-scripts]# cd /mnt/images/pxeboot/   ####切换到目录下
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost pxeboot]# cp initrd.img  vmlinuz  /var/lib/tftpboot/    ###初始化镜像文件到站点
[root@localhost pxeboot]# systemctl start xinetd.service
[root@localhost pxeboot]# systemctl enable xinetd.service
[root@localhost pxeboot]# systemctl start tftp
[root@localhost pxeboot]# systemctl enable tftpCreated symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@localhost pxeboot]# netstat -antup|grep tftp   ###查看端口
[root@localhost pxeboot]# netstat -antup|grep xinet
udp        0      0 0.0.0.0:69              0.0.0.0:*                           17804/xinetd        
[root@localhost pxeboot]# netstat -antup|grep dhcp
udp        0      0 0.0.0.0:67              0.0.0.0:*                           17505/dhcpd         
[root@localhost pxeboot]# yum provides  */pxelinux.0     ###查找这个文件是由哪个软件包安装的
[root@localhost pxeboot]# yum install syslinux -y     ###安装引导文件
[root@localhost pxeboot]# rpm -ql syslinux|grep pxelinux  ###查看引导文件的配置文件位置
/usr/share/doc/syslinux-4.05/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  
[root@localhost pxeboot]# ls /var/lib/tftpboot/    ###显示目录下内容
initrd.img  pxelinux.0  vmlinuz
[root@localhost pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg   ##创建安装方式文件[root@localhost pxeboot]# mkdir /var/ftp/centos7  创建centos7作为安装启动目录
[root@localhost pxeboot]# cp -rf /mnt/* /var/ftp/centos7  将光盘文件复制到centos7文件中
[root@localhost pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default  ##编辑安装方式

在这里插入图片描述

[root@localhost pxeboot]# systemctl start vsftpd    启动vsftpd服务
[root@localhost pxeboot]# yum install -y system-config-kickstart  安装自动安装文件
[root@localhost pxeboot]# ls /var/ftp 查看ftp下内容
centos7  ks.cfg  pub
[root@localhost pxeboot]# vim /var/ftp/ks.cfg  编辑安装内容

2.3 配置应答文件

(1)安装system-config-kickstart工具yum install -y system-config-kickstart

(2)打开"Kickstart配置程序”窗口
通过桌面菜单"应用程序"–>“系统工具”–>"Kickstart”打开或执行"system-config-kickstart”命令打开

(3)配置kickstart选项
基本配置:
默认语言设为"中文(简体)”时区设为"Asia/ shanghai"
设置root密码
高级配置中勾选"安装后重启"。
安装方法:
选FTP
FTP服务器:ftp://192.168.100.100
FTP目录: centos7
引导装载程序选项:安装新引导装载程序
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
添加分区:正常分区(需求)
添加网络设备 ens33
网络类型设为 DHCP
验证:无需操作
防火墙:禁用

在这里插入图片描述

总结:

在应对批量安装系统时PXE十分有必要,可以为我们减少很多的工作量


http://www.ppmy.cn/news/271057.html

相关文章

出租车不需要司机了?带你体验无人驾驶出租车!|『智能产品家』第三期

消费者真的了解什么是自动驾驶吗? 不同级别的自动驾驶汽车有什么区别? 自动驾驶系统开发商及汽车制造商真正了解消费者的现实需要吗? 正是这一系列的问题,促使自动驾驶标准制定组织SAE与上海国际汽车城、联合中智行和Velodyne Lid…

电话来电,接听解读

OutgoingCallBroadcaster将在往外拨打电话时被调用,当然执行其onCreate()方法 首先: mPhone PhoneApp.getInstance().phone; Intent intent getIntent(); if (LOGV) Log.v(TAG, "onResume: Got intent " intent "."); S…

无人驾驶入门1:无人驾驶概览

最近给大家分享了《百度Apollo无人驾驶入门课程下载》,我也学习了一些,把我做的笔记分享给大家。 第一课:无人驾驶概览 课程主要介绍了无人驾驶车的关键部分以及Apollo的架构,带大家入门无人驾驶技术。 1.欢迎学习Apollo课程 …

Android拨打、接听、挂断电话操作

Android2.3之前的系统可以通过反射机制调用ITelephone的方法来挂断电话,因为Android2.3以后增加了对permission android.permission.MODIFY_PHONE_STATE 的限制,之前的反射的方法不能用了,我们可以通过发送广播的方式来接听电话。 示例代码…

python安装使用Flask框架(Vscode)

编译器:VsCode,python3.** 首先安装,在终端输入 pip install flask安装成功后新建文件,app.python,创建一个简单的Web应用。 from flask import Flaskapp Flask(__name__)app.route(/) def hello():return Hello, …

Android中自动接听电话的功能

最近,需要完成一个自动化测试工具,来测试一些模块的功能,其中有些功能需要接通电话后才可以使用,因为这个工具是完全自动化的,所以需要处理自动接听电话 在4.1以前Android是提供了接口可以直接调用接听电话的&#xff…

android 监听电话状态 来电 接听 挂断

如果想要监听手机的来电状态 需要接收手机的电话广播 首先是静态注册 <receiver android:name".PhoneReceiver"android:exported"true"android:enabled"true"><intent-filter><action android:name"android.intent.actio…

Android 来电自动接听

1、闲聊 今天闲来无事&#xff0c;刚好一个朋友需要做一个来电自动接听的功能&#xff0c;我一想&#xff0c;咦&#xff0c;这尼玛我还没做过&#xff0c;好吧&#xff0c;去看看&#xff01;好吧&#xff0c;看就看吧那么我提来了&#xff0c;我该从哪儿入手呢&#xff1f;算…