4. Ceph创建rgw对象存储

Ceph创建rgw对象存储

1、功能特性

对象存储最基本的功能包括用户,存储桶,对象的增删改查,在此基础之上结合对象存储应用的特征,引申出更多的功能,比如在对象存储应用中,如果对一个存储桶或者对象没有任何访问的限制,该储存桶或对象就会变成公开的资源,任何人都可以访问。因此对存储桶和对象的访问控制变得尤为重要,存储桶和对象的访问功能成为了对象存储的基本功能之一。

2、 创建rgw 集群 (对象存储集群)

2.1、安装

#rgw节点都安装
yum install -y ceph-radosgw
#创建rgw网关 在管理(ceph01)节点添加
ceph-deploy rgw create ceph01 ceph02 ceph03

2.2、ceph -s 出现以下列证明成功

在这里插入图片描述

从日志中可以看到 RGW 已经运行起来了,我们来访问以下试下。

在这里插入图片描述

修改7480端口(可选)

#将7480端口修改为80端口
# 修改 Ceph 配置文件
$ sudo vim /etc/ceph/ceph.conf
 
# 在 [global] 节点下增加
[client.rgw.admin]
rgw_frontends = "civetweb port=80"
 
# 重启 Ceph 对象网关
$ systemctl restart ceph-radosgw.target

3、使用 Ceph 对象网关

3.1、创建rgw对象存储客户认证用户

radosgw-admin user create --uid="rgwuser" --display-name="This is first rgw test user"

在这里插入图片描述

注意:记住 access_key 和 secret_key 值,测试访问 S3 接口时需要使用

3.2、如果用户的access_key忘记可通过以下命令查看

[root@ceph01 my-cluster]# radosgw-admin user info --uid rgwuser

3.4 ceph radosgw-admin的操作

https://blog.csdn.net/qq_40017427/article/details/106358210

4、测试访问 S3 接口

#我们需要安装 python-boto 包用于测试
yum install python-boto

4.2、编写 python 测试脚本

[root@ceph03 ~]# vim s3.py 
import boto
import boto.s3.connection
access_key = 'ZN8UJ26A7V8CAI6R1BAI'			//改为创建用户时所生成的access_key
secret_key = 'KXNbELqaJH0ZsZIqd892vhN6IBNuda9TtGZ1GDw8'		//改为创建用户时所生成的secret_key
conn = boto.connect_s3(
    aws_access_key_id = access_key,
    aws_secret_access_key = secret_key,
    host = 'ceph02', port=7480,			//改为rgw网关地址
    is_secure=False,
    calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('my-first-s3-bucket')
for bucket in conn.get_all_buckets():
        print "{name}\t{created}".format(
                name = bucket.name,
                created = bucket.creation_date,
)

测试

[root@ceph03 ~]# python s3.py
my-first-s3-bucket	2020-12-24T06:58:44.682Z

测试通过。

5、测试访问Swift接口

5.1、创建 Swift 用户

radosgw-admin subuser create --uid=rgwuser --subuser=rgwuser:swift --access=full

在这里插入图片描述

注意:返回的 Json 值中,我们要记住两个 secret_key 因为下边我们测试访问 Swift 接口时需要使用。

5.2、测试访问 Swift 接口

yum -y install python-setuptools
easy_install pip
pip install --upgrade setuptools
pip install --upgrade python-swiftclient
 
# 访问 Swift 接口
[root@ceph03 ~]# swift -A http://ceph01:7480/auth/1.0 -U rgwuser:swift -K 'iEi7pwkbVeZTaQjELLMlaQ4mtZtOf9SBA0kJp8Tm' list
my-first-s3-bucket

测试成功

猜你喜欢

转载自blog.csdn.net/weixin_43357497/article/details/111683738