OpenStack 核心服务与实操

OpenStack 核心服务与实操

一、OpenStack 核心服务组件概述

OpenStack 是开源的云计算管理平台,由多个相互协作的服务组件构成,各组件各司其职且相互依赖,共同实现计算、存储、网络等完整的云计算功能。核心服务组件及其核心功能如下表所示:

服务组件 核心功能 首次出现版本 核心依赖
Keystone(认证服务) 身份认证、权限管理、服务端点维护 Essex 无(基础支撑服务)
Glance(镜像服务) 虚拟机镜像的发现、注册、检索与管理 Bezar Keystone
Nova(计算服务) 虚拟机生命周期管理,支持裸机、虚拟机和容器 Austin Keystone、Neutron、Glance
Cinder(块存储服务) 提供持久化块存储卷,适配多种存储后端 Folsom Keystone
Swift(对象存储服务) 高可用分布式对象存储,适用于非结构化数据 Austin 无(为其他服务提供存储支持)
Neutron(网络服务) 虚拟网络管理,实现网络即服务 Folsom Keystone
Heat(编排服务) 云应用基础设施编排,支持 REST API 和 CloudFormation 兼容 API Havana Keystone
Ceilometer(计量服务) 数据收集,支持计费、资源跟踪和警报功能 Havana Keystone

二、各模块核心知识点详解

(一)认证管理 - Keystone

Keystone 是 OpenStack 的身份认证与权限控制核心,通过一系列核心概念实现对用户、资源和权限的精细化管理。

  1. 核心概念
    • 基础实体:包括域(Domain)、用户(User)、用户组(Group)、项目(Project)、角色(Role)等。其中域是顶层容器,项目用于资源隔离,角色定义权限集合,用户组用于批量管理用户权限。
    • 关键凭证:令牌(Token)是用户访问资源的临时凭证,有效期默认 24 小时;凭证(Credential)包括用户名密码、API 密钥等身份验证信息。
    • 服务相关:服务(Service)通过端点(Endpoint)暴露 API,Keystone 维护服务与端点的映射关系。
  2. 实操要点
    • 基础操作包括域、用户、用户组、项目的创建、禁用与删除,例如通过openstack domain create创建域,openstack user create创建用户。
    • 权限配置可通过给用户或用户组分配角色实现,支持项目级和域级权限分配。
    • 支持多域登录,需修改local_settings配置文件并重启 httpd 服务。

(二)镜像管理 - Glance

Glance 负责虚拟机镜像的全生命周期管理,支持多种镜像格式和存储后端,是虚拟机创建的基础。

  1. 核心概念
    • 镜像分类:分为公共镜像、私有镜像、共享镜像和市场镜像,适配不同场景需求。
    • 格式类型:磁盘格式包括 qcow2、vmdk、iso 等,其中 qcow2 支持动态扩展和写时复制;容器格式常用 bare(裸格式)。
    • 状态机:镜像状态包括 queued(已预留 ID)、saving(上传中)、active(可用)、deactivated(禁用访问)等,任务状态分为 pending、processing、success、failure。
  2. 实操要点
    • 镜像操作包括上传、创建、修改、共享、格式转换和导出,Web 界面需指定镜像名称、格式、可见性等参数,命令行可通过glance image-create实现。
    • 支持多种存储后端,可配置 Swift 作为后端存储,修改glance-api.conf文件即可切换。
    • 大文件镜像建议通过命令行上传,支持进度条显示,避免 Web 界面上传失败。

(三)计算管理 - Nova

Nova 是 OpenStack 的计算核心,负责虚拟机实例的调度与生命周期管理,支持多种虚拟化平台。

  1. 核心概念
    • 架构组件:包括 Nova-API(接收请求)、Nova-Scheduler(调度节点)、Nova-Compute(执行虚拟机操作)、Nova-Conductor(数据库代理)等进程。
    • 关键资源:实例类型(Flavor)定义虚拟机的 CPU、内存、磁盘配置;主机聚合用于将计算节点分组管理;密钥对(Key Pair)用于虚拟机登录认证。
    • 调度机制:通过过滤器(Filter)筛选符合条件的节点,再通过权重计算(Weight)选择最优节点,默认基于空闲内存权重排序。
  2. 实操要点
    • 虚拟机操作涵盖创建、启动、关闭、重启、暂停、挂起、快照、重建等,其中软重启仅重启操作系统,硬重启相当于关机再开机。
    • 实例锁定可防止意外删除,管理员可强制解锁,普通用户默认可解锁,可通过修改nova_policy.json限制权限。
    • 支持调整实例规格,需先创建新规格,再执行调整操作并确认。

(四)块存储管理 - Cinder

Cinder 提供持久化的块存储服务,卷的生命周期独立于虚拟机,支持多种后端存储技术。

  1. 核心概念
    • 卷类型与 QoS:卷类型用于区分不同存储后端,QoS 规格用于定义存储性能指标,二者可关联绑定。
    • 后端存储:默认使用 LVM,也支持 SAN、Ceph 等存储设备,通过驱动实现适配。
    • 卷相关:卷可从镜像、快照创建,支持挂载到虚拟机,快照用于卷数据备份与恢复。
  2. 实操要点
    • 核心操作包括卷的创建、挂载、卸载、扩容、快照创建、基于快照创建卷等,卷挂载需指定目标虚拟机实例。
    • 卷删除需先删除关联的快照和虚拟机实例,系统卷需删除虚拟机后才能卸载删除。
    • 可配置 NFS 共享存储作为后端,需修改cinder.conf并创建对应卷类型。

(五)对象存储管理 - Swift

Swift 适用于海量非结构化数据的长期存储,具有高可用、分布式、最终一致性的特点。

  1. 核心概念
    • 存储结构:采用 Account(账户)、Container(容器)、Object(对象)三级结构,通过 Ring(环)维护存储位置映射。
    • 关键特性:无中心节点,通过多副本保证数据可靠性,支持数据冗余存储。
  2. 实操要点
    • 基础操作包括创建容器、上传对象、下载对象等,可通过 Web 界面或swift命令行工具操作。
    • 实验环境中可通过添加磁盘、创建挂载点、配置 Ring 等步骤搭建 Swift 存储节点。

(六)网络管理 - Neutron

Neutron 实现软件定义网络,支持多种网络类型和隔离技术,为虚拟机提供灵活的网络配置。

  1. 核心概念
    • 基础网络实体:网络(Network)是二层广播域,支持 local、flat、VLAN、VXLAN 等类型;子网(Subnet)是 IP 地址段;端口(Port)对应虚拟交换机端口。
    • 网络组件:路由器(Router)实现跨子网通信;安全组(Security Group)通过 iptables 限制流量;浮动 IP 用于虚拟机访问外部网络。
    • 虚拟化技术:支持 Linux Bridge 和 Open vSwitch 两种虚拟交换机,适配不同场景需求。
  2. 实操要点
    • 网络配置流程为创建网络→创建子网→创建路由器→添加路由器接口→分配浮动 IP。
    • 可通过 OVN 实现网络整体部署,验证不同子网虚拟机的连通性,同一网络默认互通,不同网络需通过路由器实现通信。

(七)编排管理 - Heat

Heat 通过模板实现基础设施即代码,自动化部署和管理云应用资源。

  1. 核心概念
    • 模板类型:支持 HOT(Heat Orchestration Template)和 CloudFormation 兼容模板,采用 YAML 语法编写。
    • 架构组件:包括 Heat-API(接收请求)、Heat-API-CFN(兼容 AWS API)、Heat-Engine(核心编排组件)。
  2. 实操要点
    • 模板包含版本、描述、参数、资源、输出等字段,可定义虚拟机、网络、存储等资源及依赖关系。
    • 实操流程为编写模板→创建堆栈→部署资源,支持堆栈的创建、更新与删除。

(八)计量管理 - Ceilometer

Ceilometer 是 OpenStack 的数据收集服务,核心功能是跨组件采集数据,为计费、资源监控和警报提供数据支撑,依赖 Keystone 实现认证,数据可用于 OpenStack 各核心组件的运营分析。

三、易混淆知识点区分

OpenStack 各模块存在较多易混淆概念,准确区分是实操的关键,核心区分要点如下:

  1. 认证管理类
    • Project vs Domain:Project 用于资源隔离,可理解为租户或项目组,域内唯一;Domain 是顶层容器,包含多个 Project,全局唯一。
    • Role vs Group:Role 定义权限集合,Group 是用户集合,将 Role 分配给 Group 可批量授权用户。
  2. 计算管理类
    • 暂停(Pause)vs 挂起(Suspend):暂停将实例状态保存到内存,恢复快;挂起保存到磁盘,适合长时间暂停,恢复后状态为关机。
    • 软重启 vs 硬重启:软重启仅重启操作系统,实例保持运行状态;硬重启相当于关机再开机,会中断实例运行。
  3. 存储管理类
    • Cinder vs Swift:Cinder 是块存储,类似硬盘,可挂载到虚拟机;Swift 是对象存储,适用于存储文件、镜像等,通过 API 访问。
    • 卷快照 vs 实例快照:卷快照针对 Cinder 卷,用于卷数据备份;实例快照针对 Nova 实例,生成 Glance 镜像,用于实例恢复。
  4. 网络管理类
    • VLAN vs VXLAN:VLAN 基于物理网络划分,隔离范围受限于二层网络;VXLAN 基于隧道技术,是 Overlay 网络,突破物理网络限制。
    • 安全组 vs 防火墙:安全组针对虚拟机实例控制流量;防火墙(FWaaS)针对虚拟路由器控制流量。

四、核心记忆知识点

为提升学习与实操效率,提炼各模块必须记忆的核心知识点:

  1. 基础依赖关系:所有服务均依赖 Keystone 认证;Nova 依赖 Glance(镜像)和 Neutron(网络);Heat 编排需调用 Nova、Cinder 等服务接口。
  2. 关键命令前缀 :OpenStack 统一使用openstack命令,核心子命令包括user(用户)、project(项目)、image(镜像)、server(虚拟机)、volume(卷)、network(网络)。
  3. 默认配置信息 :Token 默认有效期 24 小时;Glance 默认镜像存储路径为/var/lib/glance/images/;Cinder 默认后端为 LVM,卷组名称为cinder-volumes
  4. 状态判断标准 :镜像active状态表示可用;虚拟机ACTIVE状态表示运行中;卷available状态表示可挂载。
  5. 权限控制核心admin角色拥有最高权限;_member_角色为普通用户默认角色;策略文件(policy.json)控制各角色的操作权限。
相关推荐
哈里谢顿4 天前
devstack重启恢复方案
openstack
哈里谢顿4 天前
openstack 中的二层网络跟三层网络范围对比
openstack
哈里谢顿4 天前
devstack中的systemd管理介绍
openstack
哈里谢顿5 天前
在远程服务器上部署 DevStack 后如何访问 Horizon Dashboard?
openstack
哈里谢顿5 天前
使用devstack部署openstack
openstack
忧思幽释5 天前
Mariadb Galera集群在Openstack中的应用
wpf·openstack·mariadb
阿干tkl5 天前
本地源方式安装开源 OpenStack (V版本)
开源·openstack
孪生质数-7 天前
Ansible基础入门
服务器·自动化·ansible·openstack
阿干tkl11 天前
CentOS Stream 8 通过 Packstack 安装开源OpenStack(V版本)
openstack