Ceph存储之四(部署与使用 CephFS对象存储)-共享的是接口-可以用来做网盘

要配置一个 Ceph 对象网关需要一个运行着的 Ceph 存储集群,以及启用了 FastCGI 模块的 Apache web服务器。

何为对象存储
    将多个硬盘,合成一个大硬盘,提供一个接口服务供外部使用

Ceph 对象网关是 Ceph 存储集群的一个客户端,作为 Ceph 存储集群的客户端,它需要:
    1、需要为网关实例配置一个名字,在本手册中我们使用 gateway .
    2、存储集群的一个用户名,并且该用户在keyring中有合适的权限.
    3、存储数据的资源池.
    4、网关实例的一个数据目录.
    5、Ceph 配置文件中有一个实例配置入口.
    6、web 服务器有一个配置文件跟 FastCGI 交互.
在ceph存储服务器上部署ceph-radosgw(可以部署在其中某台或多台)
    yum install ceph-radosgw -y

在ceph集群上 部署rgw 对象存储网关服务(可以部署在其中某台或多台),他会在服务器上打开7480端口
    ceph-deploy rgw create ceph50 ceph51 ceph52

方法A:创建rgw用户并授权,并将生成的key分发到 客户端上
    ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rwx'  | tee ./ceph.client.radosgw.gateway.keyring
    scp ceph.client.radosgw.gateway.keyring root@192.168.200.60:/etc/ceph/

方法B:在rgw服务器上创建用户并授权,会生成两个key"access_key","secret_key"
    radosgw-admin user create --uid="testuser" --display-name="First User"

创建存储池
    Ceph 对象网关需要 Ceph 存储集群资源池来存储特定的网关数据. 如果你新建的用户有权限, 网关将会自动新建所需资源池. 
    然而,你需要确保在你的 Ceph 配置文件中给资源池设置了合理的默认 PG 值
    Ceph 对象网关有多个存储池,考虑到所有存储池会共用相同的 CRUSH 分级结构,所以 PG 数不要设置得过大,否则会影响性能

当使用默认的 region 和 zone 时,资源池的命名规则通常省略了 region 和 zone 的名字,但是你可以使用任何你想要的命名规则. 举例如下:
.rgw
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.rgw.buckets.extra
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid

    ceph osd pool create {poolname} {pg-num} {pgp-num} {replicated | erasure} [{erasure-code-profile}]  {ruleset-name} {ruleset-number}

第二:对象存储网关的客户端配置

这些对象存放在存储段中,在S3里存储段叫做bucket
在客户端安装S3工具(AWS的协议服务)
    yum install s3cmd -y
    #注意:多个用户连接同一个对象网关也不能创建同名的bucket,因为一个对象存储看着一个大硬盘,bucket就像里面的子目录,不能同名

生成配置文件(注意里面是填写rgw的ip地址,不是ceph集群的管理ip地址)
    vi ~/.s3cfg

[default]
access_key = AWJ8W9BIOLUB2FW1Y8RJ
host_base = 192.168.200.51:7480
host_bucket = 192.168.200.51:7480/%(bucket)  
secret_key = R5jcw5vacOxOfolyCObjzpsffagY5qbuOpg7StKV
cloudfront_host = 192.168.200.51:7480  
use_https = False

s3建桶,看到后面执行后的提示,表示成功
[root@localhost ~]# s3cmd  mb  s3://fnkcloud
Bucket 's3://fnkcloud/' created

s3查看
[root@localhost ~]# s3cmd  ls s3://
2020-05-10 15:53  s3://fnkcloud

放文件进筒
    s3cmd put ubuntu-16.04-desktop-amd64.iso s3://fnkcloud
从桶里把文件取出来
    s3cmd get s3://fnkcloud/ubuntu-16.04-desktop-amd64.iso 

部署seafile企业内部网盘,并使用s3类型的ceph对象存储作为后端存储(当然seafile也能直接使用ceph存储作为后端存储)
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/186.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/12/11作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???