个人用云计算学习笔记 --25 OpenStack 框架

OpenStack 框架

一、存储类型对比(核心特性 + 性能维度)

1. 三大存储类型核心差异

存储类型 类比 核心特点 速度 存储容量 适用场景
块存储(Cinder) 硬盘 提供持久化块设备,生命周期独立于虚拟机,支持多种后端存储(如 LVM、SAN、Ceph) 最快 最小 虚拟机持久化存储、数据库存储、主机直接存储
文件存储(Manila) NFS 基于文件系统,支持多节点共享访问,通过 NFS/CIFS 协议提供服务 中等 中等 多节点共享数据、应用程序共享存储
对象存储(Swift) 百度网盘 分布式、高可用、最终一致性,存储非结构化数据,按 "账户 - 容器 - 对象" 层级组织 最慢 超大 海量非结构化数据存储(如虚拟机镜像、备份文件、图片、日志)、弹性扩展场景

2. 性能与容量排序

  • 速度排序:块存储 > 文件存储 > 对象存储
  • 容量排序:对象存储 > 文件存储 > 块存储

二、OpenStack 核心服务框架(组件 + 功能 + 依赖 + 版本)

1. 核心服务详情(截止ironic为关键属性,后面的作为了解)

服务名称 核心功能 首次出现版本 核心依赖 服务定位
Horizon 提供基于 Web 的控制界面,支持云管理员和用户管理 OpenStack 各类资源与服务 Essex Keystone(认证服务) 前端 UI 界面(Web 控制台)
Keystone 身份认证(Authentication)、服务发现、分布式多租户授权;支持 LDAP、OAuth、OpenID Connect、SAML 和 SQL Essex 无(为其他服务提供认证支持) 身份认证与权限管理服务
Glance 虚拟机镜像的发现、注册、检索;支持镜像存储在本地文件系统、Swift、Cinder 等位置 Bexar Keystone(认证服务) 镜像管理服务
Nova 大规模、可扩展的计算资源调度与管理;支持裸金属、虚拟机、容器三种计算形态 Austin Keystone(认证)、Neutron(网络)、Glance(镜像) 计算服务(核心计算组件)
Cinder 块存储服务,将存储设备转化为块存储池,为虚拟机提供持久化块存储;支持多种存储接口驱动 Folsom Keystone(认证服务) 块存储服务
Swift 高可用、分布式、最终一致的对象存储服务;高效、安全、廉价存储大量非结构化数据 Austin 无(为其他服务提供对象存储支持) 对象存储服务
Neutron 网络即服务(NaaS),管理虚拟网络;提供二层交换、三层路由、安全组、浮动 IP 等网络功能 Folsom Keystone(认证服务) 网络管理服务
Heat 云应用程序编排,通过模板定义 OpenStack 基础架构资源;提供 OpenStack 原生 REST API 和 CloudFormation 兼容查询 API Havana Keystone(认证服务) 编排服务(自动化部署资源)
Ceilometer 数据收集服务,跨 OpenStack 核心组件规范化、转换数据;支持客户计费、资源跟踪、警报功能 Havana 无(对接其他核心组件收集数据) 计量与数据收集服务
Ironic 裸金属服务器管理,支持裸金属节点的部署、管理与生命周期维护 - Keystone(认证)、Neutron(网络)、Glance(镜像) 裸金属服务
Zun 容器管理服务,支持容器的部署、调度与生命周期管理 - Nova(计算调度)、Neutron(网络) 容器服务
Kuryr 容器与 OpenStack 集成服务,实现容器网络、存储与 OpenStack 资源的对接 - Neutron(网络)、Cinder(存储) 容器集成服务
Barbican 密钥管理服务,为 OpenStack 资源提供加密密钥、证书等安全凭证管理 - Keystone(认证) 安全凭证管理服务
Placement 资源优化服务,跟踪计算节点的资源库存与使用情况,辅助 Nova 调度 - Nova(计算) 资源调度辅助服务
Watcher 资源优化服务,提供 OpenStack 资源的动态优化与调整(如负载均衡、节能) - Nova(计算)、Neutron(网络) 资源优化服务
Vitrage 故障诊断与根因分析服务,监控 OpenStack 组件状态,提供故障定位与告警 - Ceilometer(数据收集) 故障诊断服务
Adjutant 管理操作自动化服务,简化 OpenStack 管理员的日常运维操作(如用户管理、配额调整) - Keystone(认证) 运维自动化服务
CloudKitty 计费服务,基于 Ceilometer 收集的数据实现多维度计费统计与报表生成 - Ceilometer(数据收集) 计费服务
Tacker 网络功能虚拟化(NFV)服务,支持虚拟网络功能(VNF)的部署与管理 - Neutron(网络) NFV 服务
Octavia 负载均衡服务(LBaaS),提供四层 / 七层负载均衡功能,基于 HAProxy 实现 - Neutron(网络) 负载均衡服务
Designate DNS 服务,为 OpenStack 资源提供域名解析与 DNS 管理功能 - Neutron(网络) DNS 服务
Cyborg 硬件加速服务,管理 GPU、FPGA 等硬件加速资源,为虚拟机 / 容器提供硬件加速支持 - Nova(计算) 硬件加速服务
Tempest 测试工具,为 OpenStack 核心服务提供自动化测试用例,验证服务功能与兼容性 - 无(测试工具) 测试工具
Rally 性能基准测试工具,评估 OpenStack 集群的性能、可扩展性与稳定性 - 无(基准测试工具) 性能测试工具
Magnum 容器编排引擎服务,支持 Kubernetes、Swarm 等容器编排引擎的部署与管理 - Nova(计算)、Neutron(网络) 容器编排服务
Trove 数据库即服务(DBaaS),支持 MySQL、PostgreSQL 等数据库的自动化部署与管理 - Nova(计算)、Cinder(存储) 数据库服务
Freezer 备份服务,提供 OpenStack 资源(虚拟机、卷、对象)的备份与恢复功能 - Swift(对象存储)、Cinder(块存储) 备份服务
Masakari 高可用服务,提供 OpenStack 实例的故障自动恢复、迁移功能,保障服务高可用 - Nova(计算)、Neutron(网络) 高可用服务
Mistral 工作流服务,支持 OpenStack 操作的自动化工作流定义与执行 - Keystone(认证) 工作流服务
Aodh 告警服务,基于 Ceilometer 收集的数据设置告警规则,触发告警通知 - Ceilometer(数据收集) 告警服务
Zaqar 消息队列服务,为 OpenStack 应用提供可靠的消息传递功能 - Keystone(认证) 消息队列服务
Blazar 资源预留服务,支持 OpenStack 资源(计算、网络、存储)的预约与预留 - Nova(计算)、Neutron(网络) 资源预留服务

2. 核心服务分类

  • 前端界面:Horizon
  • 身份认证:Keystone
  • 计算相关:Nova(虚拟机)、Ironic(裸金属)、Zun(容器)、Kuryr(容器集成)
  • 存储相关:Cinder(块存储)、Swift(对象存储)、Manila(文件存储)
  • 网络相关:Neutron(虚拟网络)、Octavia(负载均衡)、Designate(DNS)、Tacker(NFV)
  • 镜像相关:Glance
  • 编排相关:Heat(应用编排)、Mistral(工作流)
  • 监控计费:Ceilometer(数据收集)、Aodh(告警)、CloudKitty(计费)
  • 资源优化:Watcher(动态优化)、Placement(资源调度)、Vitrage(故障诊断)
  • 工具类:Tempest(功能测试)、Rally(性能测试)
  • 其他服务:Barbican(密钥管理)、Cyborg(硬件加速)、Adjutant(运维自动化)、Blazar(资源预留)、Magnum(容器编排)、Trove(数据库)、Freezer(备份)、Masakari(高可用)、Zaqar(消息队列)

三、OpenStack 虚拟机(VM)创建服务交互流程

1. 核心服务协同关系

虚拟机创建过程中,各核心服务通过 "请求 - 响应" 模式协同工作,关键交互如下:

  1. 前端入口:用户通过 Horizon(Web 界面)或 Heat(编排模板)发起虚拟机创建请求。
  2. 身份认证:Horizon/Heat 向 Keystone 提交认证请求,Keystone 验证用户身份后返回有效 Token。
  3. 计算调度:Nova 接收携带 Token 的创建请求,向 Keystone 校验 Token 有效性;通过 Placement 获取资源库存信息,由 Nova-Scheduler 完成计算节点调度。
  4. 网络配置:Nova 向 Neutron 发送网络资源请求(如虚拟网卡、子网、安全组),Neutron 为虚拟机分配 IP 和网络接口,配置网络连通性。
  5. 镜像获取:Nova 向 Glance 请求虚拟机镜像,Glance 校验 Token 后返回镜像地址(如本地文件系统、Swift 存储路径)。
  6. 存储分配:Nova 向 Cinder 请求块存储卷(持久化存储),Cinder 分配卷并返回挂载信息,Nova 将卷挂载到虚拟机。
  7. 实例启动:Nova-Compute 调用 Hypervisor(如 KVM、VMware),基于镜像和配置启动虚拟机实例。
  8. 备份支持:如需备份,Cinder/Swift 接收备份请求,将虚拟机数据 / 卷数据备份到对象存储或块存储。

2. 服务交互流程图解

plaintext 复制代码
用户 → Horizon/Heat(前端/编排)→ Keystone(认证)→ Nova(计算调度)
                                                      ↓
                    Neutron(网络配置)← Nova → Glance(镜像获取)
                                                      ↓
                    Cinder(块存储分配)← Nova → Swift(对象存储/备份)
                                                      ↓
                                            Nova-Compute(实例启动)→ 虚拟机(VM)
                      ↓
                                            Nova-Compute(实例启动)→ 虚拟机(VM)
相关推荐
小宇的天下2 小时前
Calibre DESIGNrev DRC/LVS启动和准备文件(10-3)
运维·服务器
Nwiliuyw2 小时前
Isaac Gym的WARNING: Forcing cpu pipeline. GPU pipeline disabled无法启用问题可能是个幌子骗了你
人工智能·经验分享·学习
我还为发觉2 小时前
Docker在系统运维中的应用与实现原理
运维·docker·容器
invicinble2 小时前
对服务器参数,基本认识
运维·服务器
淮北也生橘122 小时前
Linux驱动开发:移植一个MIPI摄像头驱动并将其点亮(基于Sstar 2355平台)
linux·运维·驱动开发·嵌入式linux
遇见火星2 小时前
Linux运维:RPM包配置管理指南
linux·运维·服务器·rpm
QQ__17646198242 小时前
Windows 免密 SSH 登录 Ubuntu配置全流程(可复用到 VS Code)
运维·ubuntu·ssh
iconball2 小时前
个人用云计算学习笔记 --27 云基础介绍
运维·笔记·学习·华为云·云计算
HABuo2 小时前
【Linux进程(一)】进程深入剖析-->进程概念&PCB的底层理解
linux·运维·服务器·c语言·c++·后端·进程