网络与存储¶
网络和存储是 OpenNebula 最常见的故障来源。平台只负责编排,底层交换机、Linux 网桥、VLAN、MTU、路由、存储权限和性能仍由运维人员负责。
网络模型¶
Virtual Network 主要定义:
- 使用哪个网络驱动和宿主机桥接口。
- VLAN/VXLAN 等网络标识。
- Address Range 中可分配的 IP 和 MAC。
- 网关、DNS、网络掩码等 Context 信息。
- 安全组和租户可见范围。
分配出 IP 不代表网络一定通。IP 可能只存在于平台地址池中,仍需客户机成功接收配置,底层二层网络和上游路由也必须可达。
常见网络方式¶
| 方式 | 特点 | 适用场景 |
|---|---|---|
| Bridge | VM 直接接入现有二层网络,结构直观 | 简单网络、已有 VLAN 规划 |
| VLAN | 用 VLAN 隔离租户或业务 | 交换机支持 Trunk,VLAN 数量受规划管理 |
| VXLAN | Overlay 扩展二层网络,减少物理 VLAN 依赖 | 多租户、跨更大规模网络;需关注 MTU 和封装路径 |
| Open vSwitch | 提供更灵活的虚拟交换和流表能力 | 已有 OVS 运维经验和明确集成需求 |
不要为了“高级”默认选 VXLAN 或 OVS。简单、可观测且团队能排障的网络通常更可靠。
网络上线检查¶
按顺序确认:
- VNet 地址池是否还有可用 IP。
- VM 的 NIC 是否挂到预期网络和桥。
- 客户机是否收到正确 IP、掩码、网关和 DNS。
- Host 端 TAP 接口、Bridge、VLAN 是否正确。
- 交换机 Trunk、聚合、MTU 和 MAC 学习是否正常。
- 网关、防火墙、安全组和回程路由是否允许流量。
存储数据流¶
| 存储方案 | 优点 | 主要代价 |
|---|---|---|
| 本地文件存储 | 简单、成本低、故障范围清楚 | 跨节点迁移与 HA 能力受限 |
| NFS/共享文件系统 | 部署直观,多个 Host 可访问 | 服务端可能成为性能或故障瓶颈 |
| LVM | 块设备路径清晰,性能稳定 | 快照、共享和容量管理需额外设计 |
| Ceph | 分布式、可扩展,可提供共享块存储 | 网络、容量水位和恢复过程更复杂 |
Ceph 的完整原理、部署和运维说明参见 Ceph。
选型应优先回答:是否需要热迁移、预期 IOPS/延迟、故障域、备份方式、恢复时间和团队是否能维护该存储。
容量为什么看起来不一致¶
一次镜像导入或 VMware 转换可能同时占用:
- 源 OVA/VMDK。
- 转换工作目录中的临时文件。
- Image Datastore 中的目标镜像。
- VM 实例化后的 System Datastore 空间。
- 快照、Ceph 副本或稀疏文件实际分配空间。
所以不能只看用户声明的虚拟磁盘容量。要同时监控工作目录、数据存储、底层存储池和副本开销。
存储排障顺序¶
onedatastore show <ID>查看平台状态、容量和驱动。onevm show <ID>判断失败发生在传输、克隆、启动还是清理阶段。- 检查 Front-end 和 Host 日志中的具体路径与驱动错误。
- 在底层确认挂载、权限、容量、inode、延迟和只读状态。
- Ceph 等分布式存储还要检查集群健康、恢复流量和容量水位。
不要直接删除数据存储里的陌生目录“释放空间”。先在 OpenNebula 对象、VM 部署记录和底层文件之间建立对应关系。
官方参考:Virtual Networks、Datastores。