ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OpenStack 核心组件管理完全指南:从认证到网络的实战

2026/9/4 6:45:17 拓冰建站 浏览量
OpenStack 核心组件管理完全指南:从认证到网络的实战 OpenStack 核心组件管理实战本文基于 OpenStack 管理实践系统梳理了 Keystone认证、Glance镜像、Nova计算、Cinder块存储、Swift对象存储、Heat编排和 Neutron网络的核心概念、架构与关键操作。适合作为云运维入门参考。1. 认证管理KeystoneKeystone 是 OpenStack 的身份基石承担三大职责用户与权限管理、服务端点Endpoint维护、认证Authentication与鉴权Authorization。核心概念速览概念说明User使用 OpenStack 的实体人/系统/服务Credentials凭证如用户名/密码Token认证成功后获得的临时访问凭据默认有效期 24 小时Project资源隔离单元亦称租户/Tenant资源属于项目而非用户Domain顶级容器可包含多个项目、用户、组全局唯一Group用户组可统一授予角色组内用户继承权限Role权限集合用于鉴权需全局唯一ServiceOpenStack 服务如 Nova、NeutronEndpoint服务访问 URL每个服务有 admin/internal/public 三类常用 CLI 操作bash# 用户管理openstack user list openstack user create--password密码用户名openstack user show用户名# 组管理openstack group create组名openstack groupadduser组名用户名# 角色管理openstack role list openstack roleadd--project项目--group组角色openstack role assignment list--names--group组# 项目管理openstack project create项目名openstack userset--project项目用户openstack roleadd--user用户--project项目角色# 服务与端点openstackservicelist openstack endpoint list认证流程以登录 Dashboard 为例用户提交用户名/密码。Keystone 验证通过生成 Token 并返回。后续请求携带 Token各服务向 Keystone 验证 Token 有效性。根据 Token 中的角色信息服务通过policy.json判定操作权限。2. 镜像管理GlanceGlance 提供镜像的存储、发现和检索服务是虚拟机启动的基础。镜像状态机状态含义queued元数据已创建数据未上传saving数据上传中active镜像可用deactivated管理员禁用普通用户不可访问killed上传失败镜像损坏deleted标记删除数据待清理常见磁盘格式raw裸格式性能好但占用空间大qcow2QEMU 推荐支持快照、压缩、写时复制vmdkVMware 兼容vhdHyper-V/Xen 兼容iso光盘镜像关键配置与操作配置文件/etc/glance/glance-api.conf日志文件/var/log/glance/api.log上传镜像带进度条bashglance image-create--name镜像名\--file本地文件\--disk-format qcow2\--container-format bare\--progress后端存储支持本地文件系统、Cinder、Swift、Ceph 等。3. 计算管理NovaNova 是 OpenStack 的计算核心管理虚拟机全生命周期。核心组件组件职责nova-apiREST API 入口参数校验配额管理nova-scheduler调度器通过“过滤权重”选择最优计算节点nova-compute调用 Hypervisor如 KVMDriver 执行虚拟机操作nova-conductor代理数据库操作解耦 compute 与 DB提升安全与并发nova-console提供 VNC/SPICE 等控制台访问Placement资源库存与使用情况跟踪供 scheduler 决策调度器工作流程过滤Filter排除不满足条件的节点AvailabilityZoneFilter按可用区筛选RamFilter/DiskFilter/CoreFilter按资源需求支持超配ComputeFilter仅选运行正常的 compute 节点ComputeCapabilitiesFilter按计算能力如 CPU 架构ImagePropertiesFilter按镜像属性如 hypervisor 类型ServerGroupAffinity/AntiAffinityFilter集中/分散部署权重Weight对剩余节点打分默认按空闲内存选最高分。实例操作备忘软重启 vs 硬重启软重启仅重启 OS硬重启等同于关机再开机。Pause vs SuspendPause 将状态存于内存恢复快Suspend 存于磁盘释放资源。Shelve将实例制成镜像存入 Glance并从主机删除彻底释放资源。Lock防止误删除普通用户解锁权限受policy.json控制。日志与调试开启 debug/etc/nova/nova.conf中debugTrue各组件日志/var/log/nova/nova-*.log查看服务状态openstack compute service list4. 块存储管理CinderCinder 提供持久化块存储云硬盘服务。组件架构组件功能cinder-api接收卷操作请求cinder-scheduler通过过滤器如 CapacityFilter选择后端存储节点cinder-volume调用后端驱动如 LVM、Ceph执行卷操作cinder-backup备份卷数据到其他存储Swift/Ceph典型后端LVM卷组cinder-volumes配置文件/etc/cinder/cinder.conf调度器过滤器AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter挂载流程简述Nova 调用 Cinder API 创建卷并传递主机连接信息如 iSCSI initiator 名。Cinder Volume 驱动通知存储端允许该主机访问卷返回连接参数。Nova 识别并挂载该卷到虚拟机。5. 对象存储SwiftSwift 是高可用、分布式的对象存储系统适合静态数据镜像、备份、日志等。核心设计无中心节点横向扩展能力强。环Ring将数据分区映射到物理设备包含 Account、Container、Object 三个环。数据冗余通过副本Replica和区域Zone保证持久性。典型操作示例bash# 查看账户、容器、对象信息swiftstat# 上传对象swift upload容器名本地文件6. 编排服务HeatHeat 通过声明式模板实现基础设施即代码IaC。核心组件heat-apiREST API 入口。heat-api-cfn兼容 AWS CloudFormation API。heat-engine核心引擎解析模板协调其他服务资源。模板结构YAMLyamlheat_template_version: 2018-08-31 description: 简单模板创建一个虚拟机实例 parameters: image_name: type: string label: Image ID public_net: type: string label: Network ID resources: my_server: type: OS::Nova::Server properties: image: { get_param: image_name } flavor: m1.small networks: - network: { get_param: public_net }使用流程编写 YAML 模板。通过 Dashboard 或 CLI 提交模板创建堆栈Stack。Heat 自动创建模板中定义的所有资源实例、网络、安全组等。7. 网络管理NeutronNeutron 提供网络即服务管理虚拟网络、子网、端口、路由、负载均衡等。核心概念概念说明Network隔离的二层广播域支持 flat/vlan/vxlan/gre 等类型SubnetIP 地址段属于某个 NetworkPort虚拟交换机端口关联 MAC 和 IP连接虚拟机 vNICRouter实现跨网段路由提供 SNAT/DNATSecurity Group基于 iptables 的端口/协议访问控制网络虚拟化基础TAP/TUN虚拟网络设备TAP 二层TUN 三层。VETH Pair成对设备常用于桥接。Linux Bridge二层虚拟交换机。Open vSwitch (OVS)功能更强大的虚拟交换机支持流表、VXLAN 等。典型组网步骤内部网络 路由器访问外网创建外部网络flat或vlan连接物理网络。创建内部网络如vxlan。在内部网络下创建子网指定 CIDR。创建路由器设置网关为外部网络并添加接口到内部子网。启动虚拟机连接到内部网络自动获取 IP即可通过路由器访问外网。常用 CLIbash# 查看网络代理状态openstack network agent list# 查看 OVN 逻辑交换机/路由器若使用 OVNovn-nbctl show结语OpenStack 组件虽多但每个服务职责清晰通过消息队列RabbitMQ和统一认证Keystone实现松耦合协作。掌握各个组件的核心概念、调度逻辑和关键操作是云平台运维的基础。实践时建议多动手操作 CLI 和 Dashboard加深印象。善用日志/var/log/和 debug 模式排查问题。理解资源配额、超配比例等参数合理规划资源。希望这份笔记能为您的 OpenStack 学习之路提供清晰的指引。欢迎在评论区交流讨论