Ceph分布式存储之对象存储

2020-01-17 15:08:53 浏览数 (1)

1、安装Ceph对象网关

从管理节点的工作目录,在ceph_admin节点上安装 Ceph 对象网关软件包

ceph-deploy install --rgw ceph_admin

2、 ceph-deploy rgw create ceph_admin

3、通过7480端口来访问

http://10.20.10.215:7480/

4、为S3访问新建一个RADOSGW用户

为了使用 REST 接口, 首先需要为 S3 接口初始化一个 Ceph 对象网关用户. 然后为 Swift 接口新建一个子用户.

sudo radosgw-admin user create --uid="yuanfan2020" --display-name="yuanfan2012 test"

5、创建一个SWIFT用户

如果要通过 Swift 访问,必须创建一个 Swift 子用户。需要分两步完成,第一步是创建用户,第二步创建密钥。

在 gateway host 主机上进行如下操作:

1)创建 Swift 用户:

sudo radosgw-admin subuser create --uid=yuanfan2020 --subuser=yuanfan2020:swift --access=full

2)创建用户的密钥:

sudo radosgw-admin key create --subuser=yuanfan2020:swift --key-type=swift --gen-secret

6、测试S3访问

你需要写一个 Python 测试脚本,并运行它以验证 S3 访问. S3 访问测试脚本将会连接 radosgw, 然后新建一个新的 bucket 再列出所有的 buckets.aws_access_key_id 和 aws_secret_access_key 的值就是前面radosgw_admin 命令的返回值中的 access_key 和 secret_key.

1)yum install python-boto

2)vi s3test.py

import boto

import boto.s3.connection

access_key = 'FNH3FUBB27GRDID62DJY'

secret_key = 'TqdjLKVgjYWiNHUHuiTKCx3huEQg4kDtMVnZg6pe'

conn = boto.connect_s3(

aws_access_key_id = access_key,

aws_secret_access_key = secret_key,

host = '10.20.10.215',port=7480,

is_secure=False,

calling_format = boto.s3.connection.OrdinaryCallingFormat(),

)

bucket = conn.create_bucket('yuanfan2012-new-bucket')

for bucket in conn.get_all_buckets():

print "{name}t{created}".format(

name = bucket.name,

created = bucket.creation_date,

)

3)python s3test.py

7、测试SWIFT访问

Swift 访问能够通过 swift 命令行客户端来验证

1)yum install python-setuptools

2)easy_install pip

3)pip install --upgrade setuptools

4)pip install --upgrade python-swiftclient 安装``swift`` 客户端

5)验证

swift -A http://10.20.10.215:7480/auth/1.0 -U yuanfan2020:swift -K 'wKxrZUHksKPYtO1qNCrRWwLGsX05bxKyJrDOnmoM' list

看到上面的输出,说明swift接口正常

0 人点赞