【容器技术】OpenStack 概览
2026/5/15 18:47:42 网站建设 项目流程

OpenStack 概览

一、核心概念与架构

1. 什么是 OpenStack?

  • 定义:一套由多个开源组件(服务)组成的软件集合,用于构建和管理公有云、私有云及混合云。
  • 本质:基础设施即服务(IaaS)平台。
  • 核心理念:通过 API 控制和管理数据中心内大量的计算、存储和网络资源。

2. 总体架构

OpenStack 采用分布式、无共享(Shared-Nothing)架构,所有核心服务通过消息队列(RabbitMQ)和数据库(MySQL/MariaDB)进行通信。用户通过 Dashboard(Horizon)或 CLI/API 与各服务交互。


二、核心组件详解

OpenStack 由多个“代号”项目组成,以下是当前最核心的“八大金刚”:

服务名称代号功能描述
计算Nova核心大脑。负责管理虚拟机(VM)和裸金属服务器的生命周期(创建、启动、停止、删除)。支持多种虚拟化技术(KVM, VMware, Xen)。
镜像服务Glance虚拟机模板仓库。负责存储和检索虚拟机磁盘镜像(如 ISO, QCOW2, RAW)。是 Nova 创建实例时的源头。
身份认证Keystone统一认证与授权中心。管理所有用户、租户/项目、角色和服务目录。所有组件间的通信都必须经过 Keystone 验证。
网络服务Neutron网络抽象层。提供虚拟网络功能:子网、路由器、防火墙(FWaaS)、负载均衡(LBaaS)、VPN等。支持 SDN控制器集成。
块存储Cinder持久化虚拟硬盘管理。为虚拟机提供可挂载/卸载的块存储设备(类似 AWS EBS)。支持多种后端存储技术 (LVM, Ceph, NFS)。
对象存储Swift(可选) RESTful对象存储系统,用于存储非结构化数据 (图片、视频备份等),通过 HTTP API访问 (类似 AWS S3)
仪表盘/UI界面DashboardUI界面Horizon给管理员和用户提供一个基于 Web的可视化管理界面调用后台API操作所有资源面板展示使用情况监控告警信息
编排OrchestrationHeat基于YAML/HOT模板自动化部署云应用基础设施一键创建一组关联的资源 (VM网络卷)实现“基础设施即代码”

注:Swift为可选组件,若使用Ceph则通常替代Swift;Horizon是管理工具;Heat是高级编排工具


三、关键工作流程

(1)启动一台虚拟机的基本流程

  1. 用户通过 Horizon/CLI -> Keystone进行身份验证。
  2. 请求到达 Nova-API。
  3. Nova-API查询Keystone确认权限。
  4. 调度器(Nova-Scheduler)根据资源策略选择一台合适的计算节点(Nova-Compute)。
  5. 计算节点从 Glance下载指定的镜像。
  6. 计算节点从 Neutron获取并配置网络接口(分配IP)。
  7. 计算节点从 Cinder挂载额外的数据卷(如果有)。
  8. 虚拟机在 Hypervisor(KVM)上启动。

(2)资源抽象关系

项目(Project/Tenant) ├── VM实例 (Instance) -> Nova │ ├── vCPU / RAM -> Nova-Scheduler调度 │ ├── IP地址 / Port -> Neutron │ └── Root Disk -> Glance + Cinder (Ephemeral) ├── Volume (数据盘) -> Cinder ├── Image (镜像) -> Glance └── Network / Subnet / Router -> Neutron

四、常见部署模式与拓扑

  1. [控制节点]:运行 Keystone, Glance, Nova-API/Scheduler, Neutron-Server, Horizon, RabbitMQ, MySQL。
    • 通常高可用部署为3个控制节点集群。
  2. [网络节点]:运行 Neutron-Agent (L3/DHCP/Metadata),负责南北向流量路由及NAT。
    • 现代部署中常与控制节点合并或采用 DVR(分布式虚拟路由)。
  3. [计算节点]:运行 Nova-Compute + Neutron-Agent(L2),运行实际虚拟机。
  4. [存储节点]:运行 Cinder/Swift/Ceph OSD等后端存储进程。

五、关键技术与特性

1 .SDN与Neutron技术栈:

*Provider Network:直接映射到物理网卡VLAN简单性能好* *Self-Service Overlay Network:基于VXLAN/GRE隧道隔离租户流量支持私有子网浮动IP NAT*

2 .Hypervisor支持:

*默认首选KVM Linux原生性能最佳* *也可支持VMware vSphere Hyper-V XenServer*

3. Storage Backend:

*本地磁盘(LVM):适合测试环境* *分布式存储(Ceph):生产环境首选统一提供块对象文件系统接口* *商业SAN(NetApp Dell EMC):企业级传统方案*

4. Placement Service:

较新版本引入的资源调度引擎独立于Scheduler跟踪各节点的资源库存CPU RAM Disk确保高效调度避免超分冲突

六、运维与管理要点

1. CLI工具:

`openstack`命令集 `nova-manage` `neutron-debug` `cinder list`

2.日志排查:

所有组件日志默认位于 `/var/log/{service}/` eg `/var/log/nova/nova-compute.log` 常见问题定位顺序: Horizon报错->查看API日志->查看Scheduler日志->查看Compute日志

3.数据库操作:

修改状态需谨慎 `nova-manage db sync` `mysql -u root -p cinder`

4.安全组 vs ACL:

安全组(Security Group)由Neutron实现状态化过滤作用于Port级别; ACL作用于Router端口更多是传统方式.

5.配额管理Quotas:

限制项目可使用的资源数(CPU内存卷数量浮动IP数量)

6.迁移方式:

冷迁移关机后移动磁盘;热迁移在线迁移需共享存储Ceph或NFS ;Resize调整规格.

7.高可用HA方案:

控制面 Pacemaker+Corosync或Kubernetes ;数据面Ceph多副本;网络面DVR+HA Router.

七、优缺点总结

优点缺点
完全开源免费无厂商锁定学习曲线陡峭安装配置复杂灵活性极高可深度定制生态碎片化不同版本兼容性问题社区活跃文档丰富成熟大规模生产环境对运维能力要求高硬件兼容性好支持X86ARM Power架构某些组件性能不如商业产品(AWS Azure)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询