解决方案
对象存储不能像文件系统的磁盘那样被操作系统直接访问,相反,它只能通过 API 在应用层面被访问;
原理简述
Ceph 是一个分布式对象存储系统,该系统通过建立在 Ceph RADOS 层 之上的 RGW(RADOS Gate Way, 对象网关,也被称为 RADOS 网关接口)提供对象存储接口;
RGW 使用 librgw(RADOS 网关库) 和 librados,允许应用程序与 Ceph 对象存储建立连接;
librados 软件库非常灵活,允许用户应用程序通过 C、C++、Java、Python 和 PHP 绑定(bindings) 直接访问 Ceph 存储集群;
特性特征
RGW 为应用提供了与 RESTful S3/Swift 兼容的 API 接口,以在 Ceph 集群中存储对象格式的数据;
RGW 还支持 Ceph Admin API,它们用于通过原生 API 调用来管理 Ceph 存储集群;
Ceph 还支持多租户对象存储,通过 RESTful API 存取;
Ceph 对象存储还具有多站点功能,也就是说,它提供灾难恢复解决方案;
应用场景
对象存储
部署 RGW 实例
# for Ceph Octopus # 默认 HTTP 80 访问;并自动创建 systemd 服务单元文件; # ceph orch apply rgw myorg us-east-1 --placement="2 myhost1 myhost2"
通过客户端访问:通过 aws 命令;或其他兼容 S3 协议的 OSS 客户端;
参考文献
Deploying a new Ceph cluster — Ceph Documentation
Ceph Object Gateway — Ceph Documentation