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 原理”,面试时一讲就清晰直观。

你希望我画吗?