超融合 HCI 概览
什么是超融合
超融合基础设施(HCI,Hyper-Converged Infrastructure)将计算、存储、网络融合在同一台服务器上,通过软件定义的方式统一管理。
传统三层架构:
计算层(服务器)
↕ FC/iSCSI
存储层(SAN/NAS)
↕ 以太网
网络层(交换机)
问题:设备多、布线复杂、扩展困难、成本高
超融合架构:
HCI 节点(计算 + 存储 + 网络 融合)
├── CPU/内存(计算)
├── NVMe SSD(存储)
└── 网卡(网络)
通过软件(分布式存储)将多节点存储聚合
优势:简单、弹性、易扩展H3C 超融合产品
H3C UniStor HCI
H3C UniStor HCI 是新华三的超融合产品,基于 CAS 虚拟化 + 分布式存储构建:
H3C UniStor HCI 节点规格(标准型):
├── CPU:2× Intel Xeon 32C
├── 内存:512GB DDR4
├── 存储:
│ ├── 缓存层:2× 1.6TB NVMe SSD(读写缓存)
│ └── 容量层:6× 3.84TB SATA SSD 或 12× 8TB HDD
├── 网络:
│ ├── 2× 25GbE(业务网络)
│ └── 2× 25GbE(存储网络)
└── 管理:HDM 带外管理软件栈
H3C HCI 软件栈:
管理层:CVM(统一管理界面)
↓
虚拟化层:CAS(KVM 虚拟化)
↓
分布式存储:H3C DSS(基于 Ceph)
├── 块存储(VM 系统盘/数据盘)
├── 对象存储(备份/归档)
└── 文件存储(共享文件系统)
↓
物理硬件:HCI 节点最小部署规模
最小配置:3 节点(生产环境)
原因:分布式存储需要 3 副本,最少 3 节点
3 节点 HCI 集群:
每节点:2×32C CPU,512GB 内存,6×3.84TB SSD
总计算:192 vCPU(超分 3:1 = 576 vCPU)
总内存:1.5TB
总存储:3×6×3.84TB = 69TB 原始 / 23TB 可用(3副本)
可运行 VM 数量(参考):
4C8G VM:约 70 台
2C4G VM:约 140 台扩展方式
横向扩展(Scale Out)
添加节点,计算和存储同步扩展:
3 节点 → 6 节点 → 9 节点 → ...
扩展步骤:
1. 新节点上架,连接网络
2. 在 CVM 中添加新节点
3. 等待存储数据自动均衡(Rebalancing)
4. 新节点加入计算资源池
扩展时间:
添加节点:约 30 分钟
数据均衡:取决于数据量(100TB 约需 4-8 小时)纵向扩展(Scale Up)
升级现有节点的存储:
添加磁盘到现有节点
分布式存储自动识别并加入存储池
注意:纵向扩展不增加计算资源适用场景
适合 HCI 的场景
- 中小企业:IT 人员少,需要简单易管理的基础设施
- 分支机构:远程站点,无专业 IT 人员
- VDI(虚拟桌面):大量小型 VM,HCI 存储 IOPS 高
- 边缘计算:空间有限,需要紧凑部署
- 快速部署:项目周期短,需要快速上线
不适合 HCI 的场景
- 超大规模:1000+ VM,专用存储阵列更经济
- 极高 IOPS:核心数据库,全闪 SAN 性能更优
- 存储计算比例差异大:如大数据(存储多计算少),专用存储更合适
HCI vs 传统架构对比
| 维度 | HCI | 传统三层架构 |
|---|---|---|
| 初始成本 | 中等 | 高(需购买独立存储) |
| 扩展灵活性 | 高(按节点扩展) | 低(存储/计算独立扩展) |
| 运维复杂度 | 低(统一管理) | 高(多套系统) |
| 性能 | 中等(分布式存储开销) | 高(专用存储) |
| 故障域 | 节点级 | 设备级 |
| 适用规模 | 小中型(3-50 节点) | 中大型 |
快速部署
bash
# HCI 节点初始化(通过 CVM 自动化部署)
# 1. 所有节点上电,连接管理网络
# 2. 访问 CVM 部署向导:https://<deploy-node>:8080
# 3. 填写节点信息(IP/密码)
# 4. 选择部署模式(全闪/混合)
# 5. 配置网络(业务网/存储网)
# 6. 开始自动部署(约 2-3 小时)
# 部署完成后验证
# 检查集群状态
ceph health detail
# 检查计算节点
openstack compute service list
# 运行基准测试
fio --name=randwrite --ioengine=libaio --iodepth=32 \
--rw=randwrite --bs=4k --direct=1 --size=10G \
--numjobs=4 --runtime=60 --group_reporting \
--filename=/mnt/test/fio-test