Cinder 后端存储选型对比:Ceph / NFS / iSCSI / LVM
新搭 OpenStack 必问:Cinder 后端选啥?本文按生产场景对比 4 种主流方案。
对比表
| 后端 | 性能 | HA | 快照 | 复杂度 | 推荐场景 |
|---|---|---|---|---|---|
| Ceph RBD | 高 | 是 | 是 | 中 | 通用,强推 |
| NFS | 中 | 看 NAS | 是 | 低 | 小集群、测试 |
| iSCSI (SAN) | 高 | 是 | 是 | 高 | 已有商用 SAN |
| LVM (本地) | 最高 | 否 | 是 | 低 | 单节点、性能极致 |
Ceph RBD(最常见)
[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_user = cinder
rbd_secret_uuid = <uuid>
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
volume_backend_name = ceph
优点:
- VM 可以在线迁移:所有 compute 节点都能访问同一个 RBD
- 从镜像 boot 秒级:Glance 镜像也存 Ceph 时,clone 而非 copy
- 快照便宜:COW,几乎不占空间
缺点:
- 延迟比本地 LVM 高(网络往返)
- Ceph 自己也得运维
NFS
[nfs]
volume_driver = cinder.volume.drivers.nfs.NfsDriver
nfs_shares_config = /etc/cinder/nfs_shares
nfs_mount_options = vers=4.1,proto=tcp,rsize=1048576,wsize=1048576
优点:简单到不能再简单。
缺点:
- 性能受 NAS 限制,IOPS 一般
- 单 NAS 挂了所有卷不可用
- 文件锁、缓存一致性偶尔翻车
实际场景:小公司、开发测试环境、已有 NAS 设备。
iSCSI(基于商用 SAN)
[hpe-3par]
volume_driver = cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
hpe3par_api_url = https://<3par>:8080/api/v1
hpe3par_username = ...
优点:商用 SAN 自带高可用、压缩去重,性能强。
缺点:
- 贵
- 厂商绑定,换设备就要换驱动
- 配置每家 SAN 不一样
实际场景:传统企业、已有 SAN 投资。
LVM(本地盘)
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
target_protocol = iscsi
target_helper = lioadm
优点:
- 性能最高(直接本地 NVMe)
- 配置最简单
缺点:
- 卷绑定到 compute 节点,VM 不能跨节点迁移
- 节点挂了卷就丢
实际场景:单节点 all-in-one、性能极致要求。
我的推荐
- 通用生产:Ceph RBD,没有之一
- 已有 SAN 投资:iSCSI,但只在那一栋楼里用
- POC / 学习:LVM 起步,玩明白了再上 Ceph
教训:千万别多种后端混用——卷迁移、备份、监控都会成倍复杂。