OpenStack 云计算平台
一、概述
OpenStack 是一个开源的 IaaS 私有云平台,统一管理计算、网络、存储资源,实现虚拟机创建、调度、网络编排、存储挂载、资源自助管理。自 2010 年诞生以来,已成为开源云计算领域的重要标准。
核心特点
- 开源免费:由社区协作开发,用户可自由使用、修改代码
- 模块化架构:各组件(如计算、存储、网络)独立运行,支持按需组合
- 资源管理:整合服务器、存储、网络等硬件资源,通过 API 实现自动化调度
- 多租户隔离:不同部门/项目独立租户,计算、网络、存储逻辑隔离,配额独立
OpenStack vs KVM vs VMware
| 产品 | 定位 |
|---|---|
| KVM | 底层虚拟化 Hypervisor |
| OpenStack | 上层管理平台,调用 KVM 创建、管理虚拟机 |
| VMware | 商用私有云(OpenStack 是开源替代方案) |
二、核心五大组件
1. Nova —— 计算服务
负责虚拟机全生命周期管理:创建、启停、重启、销毁、热迁移、调度。
2. Neutron —— 网络服务
虚拟网络管理:子网、路由器、安全组、浮动 IP、VXLAN 隧道、虚拟交换机。
三种网络类型:
- 内部私有网络:租户虚拟机互相通信
- 管理网络:平台组件内部通信
- 外部网络:访问公网、外网接入
3. Cinder —— 块存储
虚拟机硬盘管理:卷创建、挂载、卸载、快照、备份、扩容。
4. Glance —— 镜像服务
存放系统镜像,创建虚拟机时从镜像快速生成系统盘。
5. Keystone —— 认证授权
统一身份认证、令牌签发、角色权限、服务注册、访问鉴权。
附加常用组件
| 组件 | 功能 |
|---|---|
| Swift | 对象存储,存放备份、镜像文件 |
| Horizon | Web 可视化管理面板 |
| Heat | 模板编排,批量创建资源 |
| Ceilometer | 监控、计量、告警 |
三、创建虚拟机完整流程
用户登录 Horizon → Keystone 认证身份
→ 下发创建虚拟机请求到 Nova
→ Nova 向 Glance 拉取系统镜像
→ Nova 调用 Cinder 创建磁盘卷
→ Nova 调用 Neutron 分配网卡、内网 IP
→ Nova 通过计算节点 KVM 真正启动虚拟机
四、关键术语
| 术语 | 说明 |
|---|---|
| Instance(实例) | OpenStack 中的虚拟机 |
| Flavor(规格) | 预定义 CPU、内存、磁盘模板 |
| Security Group(安全组) | 虚拟机端口访问白名单 |
| Floating IP(浮动 IP) | 外网公网 IP |
| Metadata(元数据) | 虚拟机初始化配置 |
| AZ(可用区) | 物理机房分组,故障隔离 |
五、网络核心
Neutron 网络模型
基于 OVS(Open vSwitch) 虚拟交换机,支持 VLAN 和 VXLAN 隧道,实现多租户隔离。
路由与 DHCP
- 虚拟路由器:内网虚拟机通过虚拟路由器访问外网,实现 SNAT 地址转换
- DHCP 服务:自动给虚拟机分配内网 IP、网关、DNS
六、存储分类
| 存储类型 | 组件 | 用途 |
|---|---|---|
| 镜像存储 | Glance | 系统模板 |
| 块存储 | Cinder | 虚拟机硬盘 |
| 对象存储 | Swift | 文件、备份、归档 |
七、调度与高可用
Nova 调度流程
过滤节点 → 权重打分 → 选择最优计算节点创建虚拟机
高可用机制
- HA:计算节点故障,虚拟机自动重启到其他正常节点
- 热迁移:虚拟机不关机跨节点搬迁,业务无感知
八、常用排查命令
# 查看实例列表
openstack server list
# 查看镜像
openstack image list
# 查看卷
openstack volume list
# 查看网络子网
openstack network list
openstack subnet list
# 查看服务状态
openstack service list
九、常见故障面试题
虚拟机创建失败排查思路
- 检查配额是否超限
- 计算节点资源(CPU、内存)是否不足
- 镜像状态是否正常
- 网络子网 IP 是否耗尽
- Nova、Neutron、Cinder 服务是否存活
虚拟机无法外网访问
- 检查是否绑定浮动 IP
- 安全组是否放行端口
- 虚拟路由器网关状态
- 外部网络连通性
卷无法挂载虚拟机
卷状态异常、租户权限不匹配、存储节点离线、计算存储网络不通。
页面登录失败
Keystone 认证服务异常、账号密码错误、令牌失效。
十、优缺点与适用场景
优点
- 开源免费、生态成熟
- 定制灵活、适配国产化
- 大规模私有云的通用方案
缺点
- 组件多,部署复杂
- 运维门槛高
- 版本升级难度大
- 稳定性弱于商用云
应用场景
- 企业私有云:资源集中管理与按需分配
- 服务提供商公有云:电信运营商、IDC 搭建公有云服务
- 混合云架构:与 AWS、阿里云等公有云结合
十一、面试一句话总结
OpenStack 是开源 IaaS 私有云平台,以 Keystone 认证、Nova 计算、Neutron 网络、Cinder 存储、Glance 镜像五大核心组件协同工作,实现虚拟机全生命周期管理、多租户隔离、资源弹性调度,广泛用于企业私有云、专有云场景。
关联文档
- ../storage/Ceph 分布式存储 — Ceph 是 OpenStack 的默认存储后端(Cinder/RADOS)
- ../kubernetes/core/K8s 核心概念 — OpenStack 与 K8s 共同构建混合云
- ../linux/system/Linux — OpenStack 部署在 Linux 之上
- ../network/网络 — Neutron 网络组件涉及网络知识