openstack面试常见题
openstack面试常见题
这个我给你整理一套**“面试高频 + 有深度 + 你能讲出亮点”的 OpenStack 面试题清单**。不会只给问题,我会顺带告诉你面试官想听什么点,你更容易答出层次。
☁️ 一、基础类(必问)
1️⃣ OpenStack 是什么?有哪些核心组件?
👉 标准答案要带这些组件(至少说5个):
- Nova(计算)
- Neutron(网络)
- Cinder(块存储)
- Glance(镜像)
- Keystone(认证)
- Horizon(UI)
👉 加分点:
- RabbitMQ(消息队列)
- MySQL(数据库)
2️⃣ Nova 的工作流程?
👉 面试官想听的是“调度流程”:
大致流程:
1 | 用户请求 → API → Scheduler → Compute → 创建虚拟机 |
👉 加分点:
- Scheduler 过滤 + 权重机制
- Compute 调用 KVM/libvirt
3️⃣ Neutron 网络模型?
👉 常问三种:
- Provider Network
- VLAN
- VXLAN(重点)
👉 加分点:
- Overlay 网络
- VTEP 概念
4️⃣ Cinder 和 Glance 区别?
👉 核心一句话:
- Glance:镜像仓库(模板)
- Cinder:云硬盘(运行时数据)
⚙️ 二、进阶类(面试分水岭)
5️⃣ OpenStack 创建虚拟机全过程?
👉 必考题 ⭐
流程要说完整:
- 用户认证(Keystone)
- API 请求(Nova API)
- Scheduler 选节点
- Neutron 创建网络
- Glance 拉镜像
- Cinder 挂载卷(可选)
- Compute 创建 VM(KVM)
👉 加分点:
- 消息队列通信(RabbitMQ)
- 异步机制
6️⃣ Nova Scheduler 调度策略?
👉 关键点:
- Filter(过滤)
- Weight(加权)
常见 filter:
- RAM
- CPU
- Availability Zone
7️⃣ Neutron 常见组件?
👉 至少说这些:
- neutron-server
- L2 agent(Open vSwitch)
- L3 agent(路由)
- DHCP agent
👉 加分点:
- 安全组(iptables/OVS flow)
8️⃣ VXLAN 原理?
👉 面试很爱问
核心点:
- Overlay 网络
- UDP 封装
- VNI(类似 VLAN ID)
🧱 三、运维实战类(你很有优势)
9️⃣ OpenStack 常见故障?
👉 可以这样答(很加分):
❌ VM 创建失败
- Scheduler 无节点
- Compute down
❌ 网络不通
- Neutron agent down
- OVS 配置问题
❌ 挂载卷失败
- Cinder backend 问题(Ceph)
👉 加分点:
你可以说你用过:
- Ceph 做后端(你确实做过)
🔟 OpenStack 如何高可用?
👉 关键点:
- API HA(Keepalived + HAProxy)
- 数据库主从
- RabbitMQ 集群
🐳 四、结合虚拟化(重点)
11️⃣ OpenStack 支持哪些虚拟化?
👉 重点说:
- KVM(主流)
- VMware
- Hyper-V
👉 加分点:
- libvirt 驱动
📦 五、存储相关(很常问)
12️⃣ Cinder 后端有哪些?
👉 常见:
- LVM
- Ceph(RBD)⭐
- NFS
👉 加分点:
- Ceph 优势(高可用、分布式)
🌐 六、网络深入(高阶)
13️⃣ OpenStack 网络如何实现隔离?
👉 答:
- VLAN
- VXLAN(主流)
👉 加分点:
- 多租户隔离
14️⃣ Floating IP 是什么?
👉 核心:
- 公网 IP
- DNAT 映射
🎯 七、面试官最喜欢的“加分问题”
15️⃣ OpenStack vs Kubernetes?
👉 可以这样说:
| 对比 | OpenStack | Kubernetes |
|---|---|---|
| 管理对象 | 虚拟机 | 容器 |
| 层级 | IaaS | PaaS |
| 适合 | 传统应用 | 微服务 |
🧠 八、你可以这样总结(面试收尾)
👉 建议你这样说(很加分):
OpenStack 是一个 IaaS 云平台,通过 Nova、Neutron、Cinder 等组件实现计算、网络和存储的资源池化,底层通常基于 KVM 虚拟化,并结合 Ceph 实现分布式存储,适合构建私有云环境。
💬 给你一点“针对你背景”的建议
你已经有:
- Kubernetes
- Ceph
- OpenStack 部署经验
👉 面试可以重点强调:
- KVM + Ceph + OpenStack 的整套架构
- 网络(VXLAN)
- 故障排查
如果你想,我可以帮你做一版:
👉 “OpenStack 面试高频问题 + 标准答案(可背版)”
或者
👉 “一问一答模拟面试”(我当面试官问你)
openstack scheduler是通过什么机制去调度的
好,你问的是 “OpenStack Nova Scheduler 调度原理” 或类似云平台的调度原理,这属于面试中很常考的知识点,我给你从 原理 → 流程 → 机制 → 优化点 一条线讲清楚。
🧠 一、核心理解
Scheduler 的作用:在多台计算节点中挑选一个最合适的节点来创建虚拟机或 Pod。
本质是 资源匹配 + 权重排序,最终选择“最优节点”。
⚙️ 二、调度原理
OpenStack Nova Scheduler 主要有 两个阶段:
| 阶段 | 功能 |
|---|---|
| 过滤(Filtering) | 根据条件筛掉不符合的节点 |
| 加权(Weighting / Weighing) | 给剩余节点评分,选择最优节点 |
1️⃣ 过滤(Filter)
Scheduler 会把计算节点分为“合格”和“不合格”,常用过滤器有:
| Filter | 功能 |
|---|---|
| RamFilter | 内存是否足够 |
| DiskFilter | 磁盘是否足够 |
| ComputeFilter | 是否启用 |
| AvailabilityZoneFilter | 可用域匹配 |
| CoreFilter / CPUFilter | CPU 核心是否满足 |
面试要点:过滤阶段是“硬条件”,不满足直接剔除。
2️⃣ 加权(Weight / Weighing)
剩下的节点,会打分,评分高的优先被选中。
常用权重算法:
| Weight | 说明 |
|---|---|
| LeastLoaded | 剩余资源最多优先 |
| Random | 随机选择 |
| Custom | 用户自定义权重(如特殊硬件) |
面试要点:加权阶段是“软指标”,可以微调策略优化资源利用率。
🔄 三、调度完整流程
- API 接收请求
用户调用 Nova API 创建实例 - Scheduler 获取节点信息
从 Compute 节点资源统计表(或者 Placement 服务)获取资源状态 - Filter 过滤不合格节点
根据 CPU、内存、磁盘、AZ 等条件筛选 - Weight 给节点打分
根据负载、资源剩余量等计算权重 - 选择最优节点
如果有多个最高分,随机选择一个 - 通知 Compute 创建实例
1 | 用户 → Nova API → Scheduler(Filter + Weight) → Compute 节点 → 创建实例 |
🧩 四、补充知识点(面试加分)
- 调度类型
Chance Scheduler(随机/权重)Filter Scheduler(最常用,过滤+加权)
- 调度优化
- 可以自定义 Filter 或 Weight 类
- 可结合 Placement API 获取精确资源信息(CPU 核心、NUMA 拓扑、PCI 设备等)
- 异常处理
- Scheduler 会尝试多次选择节点
- 如果所有节点都不满足,会报错
🎯 五、面试标准回答(必背版)
Nova Scheduler 的调度原理是“先过滤再加权”。Scheduler 会根据节点的 CPU、内存、磁盘、可用区等条件,过滤出符合要求的节点,再按照资源剩余量、负载等权重打分,选择分数最高的节点创建虚拟机。整个流程是“获取节点信息 → 过滤 → 加权 → 选择 → 通知 Compute 执行”,可以通过自定义 Filter/Weight 扩展调度策略。
💡 工程师加分点:
- 能讲清 Placement API + Scheduler + Compute 的关系
- 能指出 Filter 过滤是硬约束,Weight 打分是软约束
- 能结合你的经验说如何调优负载或支持特殊硬件(GPU、NUMA)
如果你愿意,我可以帮你画一张 “Scheduler 调度流程图 + Filter/Weight 原理”,面试时一讲就清晰直观。
你希望我画吗?



