Skip to content

OpenStack 千节点架构设计

1. 整体架构

1.1 设计原则

原则说明
高可用所有控制节点三副本部署,消除单点故障
可扩展计算节点支持在线扩容,存储节点支持动态扩容
松耦合控制平面与数据平面分离,组件间通过消息队列通信
自动化全链路自动化部署、运维、监控
安全合规多租户隔离、网络微分段、全链路审计

1.2 版本选型

组件版本说明
OpenStack2024.2 (Dalmatian) 或 2025.1 (Epoxy)最新稳定版本
CephReef (18.2.x) 或 Squid (19.2.x)与 OpenStack 兼容
OVN24.03+替代传统 OVS agent
操作系统Rocky Linux 9.x / Ubuntu 22.04 LTS企业级长期支持
Docker24.xKolla-Ansible 容器化
MariaDB10.11+ Galera Cluster高可用数据库
RabbitMQ3.12+ Mirrored Queue消息队列
HAProxy2.8+API 负载均衡
Keepalived2.2+VIP 高可用

1.3 部署工具选型: Kolla-Ansible

选择理由:

  1. 容器化部署: 所有服务以 Docker 容器运行,升级回滚方便
  2. 生产验证: 全球数千家企业生产环境使用
  3. 自动化程度高: Ansible 驱动,支持幂等操作
  4. 社区活跃: OpenStack 官方推荐
工具优点缺点适用场景
Kolla-Ansible容器化、自动化学习曲线陡大规模生产 ✅
TripleORH 官方支持复杂度高RHOS 用户
OpenStack-Ansible灵活度高非容器化定制需求

2. 节点角色规划

2.1 节点类型与数量

角色数量CPU内存系统盘数据盘
Controller532C256GB2x480G SSD RAID12x1.92T NVMe
Compute1000+64C-128C512GB-1TB2x480G SSD RAID1-
Storage OSD30+32C128GB2x480G SSD RAID112x8T HDD + 2x1.92T NVMe
Ceph Mon316C64GB2x480G SSD RAID12x1.92T NVMe
Network416C64GB2x480G SSD RAID1-
Management316C64GB2x480G SSD RAID14x4T RAID5

总计: ~1045+ 台物理服务器

2.2 超分比设计

资源超分比说明
vCPU4:1 (通用) / 2:1 (高性能)按业务类型配置
内存1:1 (不超分)生产环境建议
磁盘按实际容量Ceph 提供

2.3 服务组件矩阵

服务ControllerComputeStorageNetwork
Keystone---
Nova API---
Nova Compute---
Nova Scheduler---
Neutron Server---
OVN NB/SB---
ovn-controller--
Glance---
Cinder API---
Ceph MON/OSD---
Horizon---
Heat---
Octavia--
Barbican---

3. 高可用设计

3.1 控制平面 HA

  • 5 控制节点: 满足 Galera 奇数要求,支持 2 节点故障
  • MariaDB Galera: 5 节点同步复制
  • RabbitMQ: 5 节点镜像队列
  • HAProxy + Keepalived: 主备 VIP 自动切换

3.2 数据平面 HA

组件高可用策略
计算节点VM HA — 故障自动重建
Ceph 存储3 副本 + CRUSH 跨机架
网络OVN 多活网关
负载均衡Octavia active-standby

3.3 故障域隔离

机架1        机架2        机架3        机架4        机架5
┌──────┐    ┌──────┐    ┌──────┐    ┌──────┐    ┌──────┐
│Ctrl-1│    │Ctrl-2│    │Ctrl-3│    │Ctrl-4│    │Ctrl-5│
│Stor-1│    │Stor-2│    │Stor-3│    │Stor-4│    │Stor-5│
│Comp  │    │Comp  │    │Comp  │    │Comp  │    │Comp  │
└──────┘    └──────┘    └──────┘    └──────┘    └──────┘
  • 控制节点跨 5 机架,任意 2 机架故障不影响服务
  • Ceph CRUSH 规则确保副本跨机架
  • 每机架独立 TOR 交换机上联 Spine

4. 迁移策略 (Virsh → OpenStack)

4.1 迁移路径

阶段内容周期
Phase 1资产清点、依赖分析、网络/容量规划4-6 周
Phase 2OpenStack 上线、新业务部署、灰度迁移8-12 周
Phase 3剩余 VM 迁移、旧平台下线4-6 周

4.2 VM 迁移方法

方法场景停机时间
virt-v2v + 镜像导入离线迁移分钟级
块设备热迁移在线迁移秒级
OVA/OVF 导入跨平台分钟级
bash
# 迁移示例
# 1. 导出磁盘
qemu-img convert /var/lib/libvirt/images/vm.qcow2 -O raw vm.raw

# 2. 上传 Glance
openstack image create "vm" --file vm.raw --disk-format raw --container-format bare

# 3. 创建实例
openstack server create "vm-new" --image "vm" --flavor "m1.large" --network "biz-net"