ESXi 软件架构 简介

news2024/12/26 14:24:22

这里写目录标题

  • ESXi 软件架构图
    • VMkernel
    • 文件系统
      • 内存文件系统
      • VMFS 分布式文件系统
      • VMkernel 文件系统特点
    • 用户和组
    • 标准虚拟交换机
      • Standard Port Group Network
      • Vmkernel Network
    • User World
      • Swap 文件
      • DCUI
      • User World 上的其他进程
    • ESXi 管理模型
      • ESXi 管理模型设计的核心思想
      • System State Information (SSI)机制
      • Common Information Model
      • VI API
    • ESXi 分区说明

ESXi 软件架构图

在这里插入图片描述

VMkernel

VMkernel 是 VMware 开发的操作系统,拥有常见操作系统的功能,例如进程创建和控制,信号处理,文件系统等功能。它是专门为密集运行多台虚拟机而设计,并提供以下核心功能:
• 资源调度
• I/O 堆栈(网络与存储 IO 堆栈)
• 硬件设备驱动程序
下面将简要介绍 VMkernel 的组成。

文件系统

VMkernel 内部的文件系统包含两部分,分别是内存文件系统和 VMFS 分布式文件系统。

内存文件系统

VMkernel 使用简单的内存文件系统来分别保存 ESXi 配置文件、日志文件和临时的修补程序。由于是内存文件系统,当 ESXi 重启后该文件系统不保存原有数据,相当于内存文件系统所在目录重启就会被清空。以下是 VMkernel 中内存文件系统对应的路径
配置文件路径:/etc/vmware
日志文件路径:/var/log/
修补程序路径:/tmp/

VMFS 分布式文件系统

VMFS 文件系统主要用来储存虚拟机。在 ESXi 中使用 VMFS 文件系统存放虚拟机的存储空间称为 VMFS Datastore,它可以由主机本地硬盘或者网络共享存储创建,是可支持多主机共享访问的文件系统。

VMkernel 文件系统特点

• 远程登录的命令行可以同时管理内存文件系统和 VMFS 文件系统
• ESXi 可以支持网络存储启动,如采用网络存储启动,服务器本机不需要要配置硬盘
• 由于日志文件存放在内存文件系统,不支持永久保存,如需要保存日志文件必需配置远程的 syslog server。

用户和组

ESXi 允许在系统内部定义用户和组,当使用 Virtual Infrastructure Client\Web Client、SSH 或者 the VIM API 访问 ESXi 时可通过不同用户和组来区分身份。
• ESXi 组一般包含多个用户,支持以组为单位去控制权限,ESXi 有一些内置的组和用户,可作为辨别 VMkernel 中运行的多个进程的手段。
• ESXi 用户和组的配置文件存放路径:/etc/passwd, /etc/shadow, /etc/

在这里插入图片描述

标准虚拟交换机

vSphere Standard Switch(VSS)的工作模式类似物理交换机。虚拟机连接到虚拟交换机,实现虚拟机之间的通讯。 vSphere Standard Switch 可以通过物理网卡连接到物理交换机并通过上联链路链接到物理网络中。
在这里插入图片描述

Standard Port Group Network

虚拟机并不是直接连接到虚拟交换机的,而是通过 port groups 连接到虚拟交换机。一般来说一个 vSphere Standard Switch 拥有一个或者多个 port groups。用户可以为 port group 指定一些参数,例如:为每个不同 port group 设置带宽控制和 vLAN 标签等等。那么连接到这个 port group 的所有虚拟机的网络都会继承这个 port group 的网络属性。

Vmkernel Network

顾名思义,是与 vmkernel 相关的网络,用于连接虚拟交换机和主机的网络。主要用途包括管理网络 IP,IP 存储(NAS 和 iSCSI client ip)、vMotion、FT 等相关的网络设置。

User World

User world 功能类似 POSIX ,但它不是为运行通用应用程序而设计的机制,仅仅是为在 hypervisor 环境下运行的进程提供的足够框架。User world 具备以下特性:
• 一部分信号被限制
• 是 POSIX 的子集
• 严格限制使用 /proc

Swap 文件

• 单个 swap 文件可以被整个 user world 进程使用
• ESXi 有本地磁盘的情况下,系统在 vfat 分区中自动创建 swap 文件
• ESXi 没有本地磁盘的情况下,可以指定 swap 文件挂载到一个远程的 VMFS Datastore 之上。

DCUI

The Direct Console User Interface (DCUI) 是在 ESXi 本地的用户界面,界面操作有点类似 BIOS,主要用途是提供配置管理以及故障处理功能。包括以下功能:
• 设置管理员密码
• 设置网络信息
• 简单网络连通性测试
• 查看日志
• 重启代理程序
• 还原系统状态
ESXi 一般在系统安装后通过 DCUI 配置网络,后面就通过 vCenter 或者远程工具访问 ESXi。

在这里插入图片描述

User World 上的其他进程

ESXi 移除了 Service Console ,VMware 的一些管理功能从 Service Console 移植到 user world 上运行。
• hostd
hostd 进程为 VMkernel 提供编程接口,VI client 和 VI API 可以直接使用 hostd
• vpxa
vpxa 进程是用于连接 vCenter 的 agent,该进程使用系统内置用户 vpxuser 的身份运行。vpxa 实际上是作为 hostd 与 vCenter 之间的代理角色
• HA agent
vCenter HA 代理
• syslog daemon
当配置了远程 syslog server 后,syslog daemon 负责发送日志到 syslog server
• iSCSI 发现
用于初次发现和处理 iSCSI Target ,后续所有操作都由 VMkernel 来处理。
• NTP synchronization
NTP 时间同步代理
• SNMP
SNMP 监控代理

ESXi 管理模型

ESXi 管理模型设计的核心思想

• 可集中式管理,包括运维操作和策略
• 计算基础架构是无状态的,可切换到不同设备上运行
• 系统使用定义优良的标准化 API 进行通讯,取代难以定位和审计的非结构化的交互式会话
ESXi 的管理模型由 CIM、VI API 和 SSI 等几个机制组成,下面将简要介绍各个机制的原理

System State Information (SSI)机制

• 使用少数几个配置文件保存 ESXi 系统状态信息
• 配置文件同时保存在内存,并复制到持久化存储,即使服务器突然掉电,重启后会自动载入最后一份存储的配置文件进行启动
• 可通过下载配置文件进行备份系统配置
• 可将配置文件复制到其他 ESXi 服务器上使用
以上机制可保证 ESXi 系统与配置解耦,系统配置更容易备份与还原。任意安装了 ESXi 系统的主机都可以成为无状态的载体,通过导入配置,快速地就绪并提供服务。

Common Information Model

The Common Information Model (CIM) 是一个开放的标准,用于展示和管理计算资源。这个是无代理的软件框架。主要包含两种组件:
• CIM providers
CIM providers 主要用作底层硬件和设备驱动的管理入口,服务器厂商和硬件设备厂商可以依照 CIM 标准编写 providers,用于监控和管理硬件。VMware 自身也会提供 providers,用于监控服务器,存储以及其他特定的虚拟化资源。
• CIM broker
CIM broker 收集所有 providers 的信息后,通过标准的 API (包括 WS-MAN 协议)展现给外界。

VI API

VMware Virtual Infrastructure API 为开发集成 VMware Infrastructure 程序提供了強大的接口。它允许的你的程序调用 vCenter 上的 vCenter Web Service 接口功能管理和控制 ESXi。
• VI Client 可用通过 VI API 访问 vCenter 以及直接管理 ESXi 主机
• vCenter 与 ESXi 之间的通讯是通过 vCenter 私有协议

VI API 与 CIM 标准共同提供一种远程中心管理 ESXi 的方案
方案优势:
• 无代理,避免底层硬件改变、重新安装或者更新而引起的代理程序调整,所有监控和管理相关的程序都可以放在外部。
• 管理多个主机更加简单(比起管理多个代理)
• 无代理,使得 ESXi 变成一个无状态的实体,虚拟机可以无需调整地在不同服务器上运行。

ESXi 分区说明

ESXi 系统所在磁盘根据功能需要被分成多个区域,下面将简要介绍各个区域的用途

在这里插入图片描述

  1. 引导分区
    容量为 4 MB,用于 ESXi 系统引导
  2. 活动系统分区
    容量为 250MB,用于储存操作系统及相关文件,其中 Core Hyprevisor(VMkernel )占用 32MB,其余是用于存放服务器制造商定制程序(CIM providers)。
  3. 备用系统分区
    容量与活动系统分区一样(250MB),该分区初始状态为空白,当 ESXi 系统执行升级,升级操作将写入备用系统分区,保留原来版本在活动系统分区,升级成功后,备用系统分区转为活跃分区进行启动。当新升级的分区无法正常启动,则可使用原来版本分区进行启动,可有效防止系统升级失败导致无法启动的问题。
  4. 存储分区
    容量为 286MB,主要用于存放各种操作系统对应的 VMtools 软件。
  5. 日志分区
    容量为 4GB,当系统需要导出 VM-Support 日志时,该目录作为导出日志存放路径。
  6. 第一 Core Dump 分区
    容量为 110MB,用于存放 ESXi 系统 Crash 日志,主要用于故障分析
  7. 第二 Core Dump 分区
    容量为 2.5GB,作为第一 Core Dump 分区的扩展,当第一 Core Dump 分区日志已满,自动写入第二 Core Dump 分区。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2265879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新的强大的文生视频模型Pyramid Flow 论文阅读及复现

《PYRAMIDAL FLOW MATCHING FOR EFFICIENT VIDEO GENERATIVE MODELING》 论文地址:2410.05954https://arxiv.org/pdf/2410.05954 项目地址: jy0205/Pyramid-Flow: 用于高效视频生成建模的金字塔流匹配代码https://github.com/jy0205/Pyram…

ESP32_H2(IDF)学习系列-ADC模数转换(连续转换)

一、简介(节选手册) 资料参考https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32h2/api-reference/peripherals/adc_calibration.html 1 概述 ESP32-H2 搭载了以下模拟外设: • 一个 12 位逐次逼近型模拟数字转换器 (SAR ADC)&…

“信任构建”:网上购物商城的用户评价与信誉系统

2 相关技术 2.1 SSM框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架…

数据分析的分类和EDIT思维框架

为了服务于企业不同层次的决策,商业数据分析过程需要提供相应的数据科学产出物。 一般而言,数据分析需要经历从需求层、数据层、分析层到输出层四个阶段。 第一个阶段是需求层——确定目标,具体目标需要依据具体的层次进行分析&#xff1a…

使用 Conda 环境创建 Docker 镜像的完整指南

使用 Conda 环境创建 Docker 镜像的完整指南 在现代开发中,容器化已经成为管理和部署复杂软件环境的首选方式。对于基于 Conda 的 Python 环境,如何将本地环境高效地迁移到 Docker 镜像中是一项常见但关键的任务。本文提供了两种方法,分别是基…

HTML-CSS(day01)

W3C标准: W3C( World Wide Web Consortium,万维网联盟) W3C是万维网联盟,这个组成是用来定义标准的。他们规定了一个网页是由三部分组成,分别是: 三个组成部分:(1&…

HTTP,续~

文章目录 前提摘要给HTTP完整的一生请求行栗子 请求头部空行请求体 代码实现 前提摘要 上一章地址,点击浏览 给HTTP完整的一生 一个完整的HTTP请求至少需要以下几个部分 … 一、请求行. 二、请求头部. 三、空行. 四、请求体. … 请求行 结构 > 请求方式 请求U…

在kali Linux虚拟机上,运行“binwalk -e 文件名”命令会报错

文章目录 报错解决方法 报错 Extractor Exception: Binwalk extraction uses many third party utilities, which may not be secure. If you wish to have extraction utilities executed as the current user, use ‘–run-asroot’ (binwalk itself must be run as root). …

(Arxiv-2024)CLOVer:跨层正交向量自适应

CLOVer:跨层正交向量自适应 Paper 是北京大学发表在Arxiv 2024的工作 Paper Title:CLOVer: Cross-Layer Orthonormal Vectors Adaption Code地址 ABSTRACT 为了将一个预训练的大型模型适配到下游任务中,通过在其原始潜在空间内利用基向量的线…

下划线表示任意单个字符引发的bug

遇到一个奇葩的bug!!! 功能是模糊搜索:列表中有一条数据“IMSCM-CM_PMS_ORDER” 使用“IMSCM_”(这里是下划线,数据为中划线)进行搜索,竟然可以搜索出这条数据!&#x…

前端编程图表化助手!Echarts入门

Echarts-一个基于javaScript的开源可视化图表库 在日常编程中,我们经常会用到类似饼图、柱状图等,而在网页中使用原生html和css很难做到类似效果。那么作为前端工程师,我们如何做出来一份好看而且实用的图标呢? 那么接下来&…

【论文阅读笔记】IC-Light

SCALING IN-THE-WILD TRAINING FOR DIFFUSION-BASED ILLUMINATION HARMONIZATION AND EDITING BY IMPOSING CONSISTENT LIGHT TRANSPORT 通过施加一致的光线传输来扩展基于扩散模型的真实场景光照协调与编辑训练 前言摘要引言相关工作基于学习的基于扩散模型的外观和光照操纵光…

开发微信小程序的过程与心得

起因 作为家长,我近期参与了学校的护学岗工作。在这个过程中,我发现需要使用水印相机来记录护学活动,但市面上大多数水印相机应用都要求开通会员才能使用完整功能。作为一名程序员,我决定利用自己的技术背景,开发一个…

前端样式练手:阴阳图+时钟的组合

开篇 今天的小作品是突然脑子灵光一闪写出来的&#xff0c;代码不多&#xff0c;就不过多赘述了。 代码实现 <template><div class"clock-container"><!-- 八卦图 --><!-- <div class"bagua"><divv-for"(trigram, ind…

LabVIEW软件项目设计方案如何制定

制定LabVIEW软件项目设计方案需要综合考虑需求分析、架构设计、功能模块划分和时间预算等多个方面&#xff0c;确保项目开发过程高效、可控且最终满足目标要求。以下是一个详细的制定流程&#xff1a; ​ 1. 需求分析 目标定义&#xff1a;明确项目的目标&#xff0c;例如数据采…

IMX芯片启动方式

一、启动方式选择 a)概述 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置 来选择 BOOT 方式。 BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝),一种是修改相应的 GPIO 高低电平。第一种修改 eFUSE 的方式只能修改一次…

Pyside6 在 pycharm 中的配置

打开文件->设置 找到 工具->外部工具 点击 号 创建一个外部工具 QtDesigner 名称:QtDesigner 程序&#xff1a;D:\miniconda\envs\ergoAI-qt\Lib\site-packages\PySide6\designer.exe 实参&#xff1a;$FileName$ 工作目录&#xff1a;$FileDir$ PyUIC 名称&#xf…

Elasticsearch:什么是提示工程 - prompt engineering?

提示工程流程定义 提示工程是一种工程技术&#xff0c;用于设计生成式 AI 工具&#xff08;generative AI tools&#xff09;的输入&#xff0c;以调整大型语言模型并优化输出。 提示&#xff08;prompts&#xff09;被称为输入&#xff0c;而由生成性 AI 工具生成的答案是输…

金融租赁系统的发展与全球化战略实施探讨

内容概要 金融租赁系统的演变并非一帆风顺&#xff0c;像一场跌宕起伏的电影。首先&#xff0c;咱们得看看它的起源及现状。随着经济的快速发展&#xff0c;金融租赁逐渐作为一种灵活的融资手段崭露头角。在中国市场中&#xff0c;企业对设备和技术更新换代的需求日益迫切&…

1.flask介绍、入门、基本用法

flask与djiango的区别 djiango是一个大而全的框架。 djiango内部为我们提供了非常多的组件: orm/session/cookie/admin/form/modelform/路由/视图/模板/中间件/分页/auth/contenttype/缓存/信号/多数据库连接 flask 是一个轻量级的框架&#xff0c;本身没有什么太多的功能&a…