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 创建虚拟机全过程?

👉 必考题 ⭐

流程要说完整:

  1. 用户认证(Keystone)
  2. API 请求(Nova API)
  3. Scheduler 选节点
  4. Neutron 创建网络
  5. Glance 拉镜像
  6. Cinder 挂载卷(可选)
  7. 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 用户自定义权重(如特殊硬件)

面试要点:加权阶段是“软指标”,可以微调策略优化资源利用率。


🔄 三、调度完整流程

  1. API 接收请求
    用户调用 Nova API 创建实例
  2. Scheduler 获取节点信息
    从 Compute 节点资源统计表(或者 Placement 服务)获取资源状态
  3. Filter 过滤不合格节点
    根据 CPU、内存、磁盘、AZ 等条件筛选
  4. Weight 给节点打分
    根据负载、资源剩余量等计算权重
  5. 选择最优节点
    如果有多个最高分,随机选择一个
  6. 通知 Compute 创建实例
1
用户 → Nova API → Scheduler(Filter + Weight) → Compute 节点 → 创建实例

🧩 四、补充知识点(面试加分)

  1. 调度类型
    • Chance Scheduler(随机/权重)
    • Filter Scheduler(最常用,过滤+加权)
  2. 调度优化
    • 可以自定义 Filter 或 Weight 类
    • 可结合 Placement API 获取精确资源信息(CPU 核心、NUMA 拓扑、PCI 设备等)
  3. 异常处理
    • Scheduler 会尝试多次选择节点
    • 如果所有节点都不满足,会报错

🎯 五、面试标准回答(必背版)

Nova Scheduler 的调度原理是“先过滤再加权”。Scheduler 会根据节点的 CPU、内存、磁盘、可用区等条件,过滤出符合要求的节点,再按照资源剩余量、负载等权重打分,选择分数最高的节点创建虚拟机。整个流程是“获取节点信息 → 过滤 → 加权 → 选择 → 通知 Compute 执行”,可以通过自定义 Filter/Weight 扩展调度策略。


💡 工程师加分点:

  • 能讲清 Placement API + Scheduler + Compute 的关系
  • 能指出 Filter 过滤是硬约束,Weight 打分是软约束
  • 能结合你的经验说如何调优负载或支持特殊硬件(GPU、NUMA)

如果你愿意,我可以帮你画一张 “Scheduler 调度流程图 + Filter/Weight 原理”,面试时一讲就清晰直观。

你希望我画吗?