1 项目说明
1.1 概述
1、该项目共分为2个子项目,由iventoy和定制安装两部分组成。
2、该项目旨在复习巩固系统服务部署使用、shell编程等知识,旨在让学生增加知识面,提高项目实习经历,充实简历。
1.2 项目组织方式
通过VmWare17虚拟机实现平台搭建
2 项目背景知识
2.1 需求
公司新购了一批服务器和台式机,需要为台式机和服务器安装系统,一部分需要安装国产OpenEuler,一部分要求安装CentOS 7.9,同时也要满足定制化需求,即按要求分区安装相应软件。
2.2 常见系统批量安装方式
2.2.1 使用商业化软件
使用商业化软件要额外成本开支
2.2.2 使用开源软件
1、Linux 操作系统基于pxe技术结合kickstart实现定制化需求。
2、Linux 操作系统基于cobbler结合自定义ks文件实现定制化需求。
3、windows 系统安装 iventoy 结合自定义配置文件实现定制化需求。
4、U盘装系统,制作u盘启动盘引导安装。
5、服务器通过ipmi远程ISO安装。
6、刻录光盘,外接光驱安装系统。
2.3 结论
综合比较,选择iventoy,将我们自己笔记本打造成pxe服务器,操作相对简单,官方已经检测通过100多种操作系统。
2.4 iventoy介绍
1、主页:iVentoy
2、iVentoy 可以看成是一个增强版的 PXE 服务器,使用iVentoy 你可以通过网络同时给多台机器启动、安装操作系统。
3、iVentoy 使用极其简单,无需复杂的配置,直接把 ISO 文件放到指定位置,客户机在启动时根据菜单选择要启动的ISO文件即可。
4、iVentoy 同时支持 x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI 和 ARM64 UEFI 模式。
5、iVentoy 支持 110 多种常见类型的操作系统
6、iVentoy 在运行时会使用系统的一些端口号,这些端口需要在防火墙中放开,否则 iVentoy 会无法正常工作。
2.5 pex介绍
1、PXE,预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
2、PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
3 项目环境
3.1 项目拓扑结构
安装win10/11 笔记本一台、服务器若干、交换机一台
3.2 软硬件环境清单
注意:为了学习方便,文档使用VMware 17 workstation 里面创建新的虚拟机代替台式机和服务器来验证。
主机名 | IP地址 | 硬件 | 软件 |
pxe-control | windows本机分配IP | Windows本机 | iventoy-1.0.20-win64-free.zip |
CentOS 7 64 位 | 192.168.116.200 |
cpu:1颗2核 内 存:4GB HDD:20GB 网 络:NAT |
VmWare17 Centos7.9 |
node | 192.168.116.201 |
cpu:1颗2核 内 存:4GB HDD:20GB 网 络:NAT |
VmWare17 OpenEuler22.03 SP4 |
4 任务清单
4.1 系统平台部署
1、安装VmWare17
2、虚拟出2台计算机
4.2 Windows下安装iventoy
1、前置处理
2、解压缩部署
4.3 配置iventoy
1、配置网卡信息
2、配置vmware
4.4 测试安装
1、安装centos7.9
2、安装openeuler
4.5 自动化脚本安装
5 实施步骤
5.1 安装下载
1、下载地址:Download . Ventoy
注意:下载解压缩iventoy-1.0.20-win64-free.zip,解压位置的全路径中不能有中文或空格, 软件解压后的目录结构如下:
5.2 配置iventoy
5.2.1 拷贝ISO文件
1、将需要安装的系统ISO文件都拷贝到 F:\\01\\01\\iventoy-1.0.20-win64-free\\iventoy-1.0.20\\iso目录下
2、可以在此目录下任意创建子目录来归类存放各种不同类型系统的ISO文件。
3、注意:(1)目录名和ISO文件名中不能有中文或空格.(2)也可以管理员身份打开cmd,使用命令创建iso快捷方式(软连接),即不需要将ISO文件从别的位置拷贝到这个 iso 目录下。
在 Windows 系统中你可以使用 mklink 目标 源 命令创建
5.2.2 运行软件
要将windows防火墙关闭,用管理员身份启动iventoy。
分析客户端IP地址设置:打开vmware17->编辑菜单->虚拟网络编辑器->VMnet8 NAT 网卡查看网段,点击NAT设置查看网关地址,注意:需要关闭VMware nat模式的dhcp服务,如图:
5.2.3 启动PXE服务
在 iVentoy 主界面上选择本机 IP 地址,根据之前的分析设置好 IP 地址池,然后点击绿色的开始按钮即可,如图:
启动 iventoy 后如图示:
5.3 系统安装
本文使用VMware workstation 新建虚拟机测试,新建虚拟机时不要加载iso镜像。
新建Centos7.9虚拟机
PXE自动识别
后续就和正常装机一样,过程略。
安装完成
新建openEuler虚拟机,过程和Centos7.9一样。
PXE自动识别
安装完成
5.4 iVentoy 定制安装
5.4.1 作用
1、通过 iVentoy 你无需重新制作ISO文件,只需要简单地为一个ISO文件指定一个或者多个自动安装脚本来实现无人值守、自动安装部署系统的方案。
2、可以使用 Windows 中的 unattend XML、Redhat/CentOS系列中的 Kickstart 脚本、SUSE系列中的 autoYast XML、Debian系列中的preseed脚本等等。
3、下面的示例模版脚本位于安装包内的 user/scripts/example 目录下,如图:
发行版 | 脚本格式 | 示例脚本 | 说明 |
Windows | Unattend XML | unattended.xml | Windows系列 |
Deepin/UOS | INI | deepin.ini | Deepin/UOS 系统 |
RHEL8/CentOS8 | Kickstart script | kickstart8.cfg | 同时也支持基于这几个派生出来的发行版。比如 OpenAnolis, RockyLinux 等。 |
RHEL7/CentOS7/Fedora | Kickstart script | kickstart7.cfg | 同时也支持基于这几个派生出来的发行版。比如 Oracle Linux, EuroLinux 等。 |
RHEL6/CentOS6 | Kickstart script | kickstart6.cfg | 同时也支持基于这几个派生出来的发行版。 |
openEuler | Kickstart script | openeuler.cfg | openEuler 版本。 |
Debian | Preseed script | preseed.cfg | Debian 系列的发行版。 |
Ubuntu Server (< 20.x) | Preseed script | preseed.cfg | 早期 Ubuntu Server 版本 |
Ubuntu Server (20.x+) | cloud-init | cloud-init-user-data | Ubuntu Server 20.x 以后的版本 |
SUSE | autoYast XML | autoYast.xml | SLES 和 openSUSE |
注意,这里的示例脚本仅供参考,需要根据实际需要修改,尤其是里面磁盘分区设置的部分。否则会造成磁盘被误格式化、数据丢失等问题。
5.4.2 定制CentOS7
复制 kickstart7.cfg 为 CentOS7.cfg
关闭PEX服务
将设置好的自动部署脚本和镜像关联
5.4.3 测试效果
启动服务
本文使用VMware workstation 新建虚拟机测试,新建虚拟机时不要加载iso镜像,测试CentOS7,按回车键。
切换到自定义脚本,然后按 回车键
安装按预先设定脚本执行
安装完毕后,登录系统检查
连接xshell,进行软件包检查
检查防火墙和SELinux。
5.4.4 定制openEuler
复制openeuler.cfg 为 openEuler (2).cfg
将设置好的自动部署脚本和镜像关联
本文使用VMware workstation 新建虚拟机测试,新建虚拟机时不要加载iso镜像,测试openEuler,按回车键。
切换到自定义脚本,然后按 回车键
安装按预先设定脚本执行
安装完毕后,登录系统检查
连接xshell,进行软件包检查
检查防火墙和SELinux。
评论前必须登录!
注册