3.1.7 未来展望
随着云计算的发展,Ceph乘上了OpenStack 的春风,进而成为开源社区最受关注的分布式块存储方案,其在块存储市场上的地位是不可撼动的,Ceph 社区块存储也在不断发展,主要有以下几个方面。
1. 容灾方案更加多元化
CephL版开始稳定支持 CephRBDjournal-basedmirroring,但该特性会造成严重的性能问题,开启之后卷性能下降近 50%,该方案在性能要求比较苛刻的块存储场景内难以商用落地。CephO版新引入了基于snapshot的异步远程复制,支持通过 fast-diff定时将增量数据推送至远端集群,虽然牺牲了一点 RPO,但是也减少了对卷性能的影响,也算是一个折中的选择。另外,Ceph 社区还实现了延展集群容灾支持,算是追平与VMwarevSAN等商业存储的容灾能力上的差距,后续还会支持跨 3可用区3副本机制,为用户提供更完美的容灾效果。
2. 支持 Windows块存储服务
Ceph一直以来对 Linux平台的支持比较完善, 允许 Linux应用通过 LinuxRBDdriver使用 Ceph作为块存储后端,后续又增加了 LIOiSCSIgateway,允许VMware、Windows等异构平台通过 iSCSI协议对接 Ceph,但是iSCSI 网关的引入也一定程度上拉长了 I/O路径,且目前仅支持 ALUA模式。另外,受限于 iSCSI网关能力,Ceph存储后端性能至今无法充分发挥。CephP版新增了一个原生的 WindowsRBDdriver,允许用户在Windows主机、Hyper-V虚机上跨平台直接通过该驱动访问Ceph存储后端,大大优化了 I/O路径,Ceph努力致力于为 Linux、VMware、Windows 三种平台提供块存储服务。
3. librbd支持客户端加密
以往 Ceph社区推荐使用 dm-crypt进行存储端加密,这里所谓的 OSD端加密,其实是对硬盘进行加密的。基本原理是通过 Linux内核 dmcrypt模块,进行数据的加密与解密, 其缺点在于不够灵活,所有的数据在写入硬盘之前,会经过dmcrypt模块进行加密与解密, 无法针对特定的卷单独开启或关闭加密功能。因此 CephP版的librbd新增了卷级别的客户端加密,允许用户通过自定义密钥加密指定存储卷,目前支持通过LinuxLUKS进行加密,已支持AES-128、AES-256两种加密算法,加密模式为xts-plain64。