Ceph部署中RGW如何搭建

小编给大家分享一下Ceph部署中RGW如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

站在用户的角度思考问题,与客户深入沟通,找到南江网站设计与南江网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖南江地区。

部署Ceph RGW

进入上文所述的my-cluster目录。

$ cd my-cluster

修改默认端口(可选的)

RGW默认使用Civetweb作为其Web Sevice,而Civetweb默认使用端口7480提供服务,如果想修改端口(如80端口),就需要修改Ceph的配置文件。在配置文件中增加一个section[client.rgw.<gateway-node>],其中<gateway-node>需要修改为RGW的hostname。如下:

[client.rgw.node4]
rgw_frontends = "civetweb port=80"

然后再将配置文件推送到RGW节点。

$ ceph-deploy --overwrite-conf config push node4

安装CEPH OBJECT GATEWAY

格式为:

$ ceph-deploy install --rgw <gateway-node1> [<gateway-node2> ...]

由于我们环境中只有一个RGW,所以执行命令:

$ ceph-deploy install –-rgw node4

管理RGW节点

Ceph CLI工具需要在管理员模式下运行,因此需要执行以下命令:

$ ceph-deploy admin node4

安装RGW实例

执行命令:

$ ceph-deploy rgw create node4

一旦RGW开始运行,我们就可以通过端口7480(如果没有修改的话)来访问。如:

http://node4:7480

如果RGW运行正常,它应该返回类似的信息:

<ListAllMyBucketsResult>
  <Owner>
    <ID>anonymous</ID>
    <DisplayName/>
  </Owner>
  <Buckets/>
</ListAllMyBucketsResult>

注意:剩下的创建用户的步骤都应该在RGW节点上运行。

创建S3用户

想正常的访问RGW,需要创建相应的RGW用户,并赋予相应的权限,radosgw-admin命令实现了这些功能。
  执行下面命令,来创建一个名为testuser的用户:

$ radosgw-admin user create --uid="testuser" --display-name="First User"

命令的输出大致如下:

{
    "user_id": "testuser",
    "display_name": "First User",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "auid": 0,
    "subusers": [],
    "keys": [{
        "user": "testuser",
        "access_key": "I0PJDPCIYZ665MW88W9R",
        "secret_key": "dxaXZ8U90SXydYzyS5ivamEP20hkLSUViiaR+ZDA"
    }],
    "swift_keys": [],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "temp_url_keys": []
}

注意:需要记住返回结果中keys->access_key和keys->secret_key的值,用于S3接口访问确认。

创建Swift用户

Swift用户是作为子用户subuser被创建的,执行以下命令:

$ radosgw-admin subuser create --uid=testuser --subuser=testuser:swift --access=full

输出结果大致如下:

    "user_id": "testuser",
    "display_name": "First User",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "auid": 0,
    "subusers": [{
        "id": "testuser:swift",
        "permissions": "full-control"
    }],
    "keys": [{
        "user": "testuser:swift",
        "access_key": "3Y1LNW4Q6X0Y53A52DET",
        "secret_key": ""
    }, {
        "user": "testuser",
        "access_key": "I0PJDPCIYZ665MW88W9R",
        "secret_key": "dxaXZ8U90SXydYzyS5ivamEP20hkLSUViiaR+ZDA"
    }],
    "swift_keys": [{
        "user": "testuser:swift",
        "secret_key": "244+fz2gSqoHwR3lYtSbIyomyPHf3i7rgSJrF\/IA"
    }],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "temp_url_keys": []

注意:需要记住返回结果中swift_keys->secret_key的值,用于Swift接口访问确认。

测试S3接口

需要创建一个Python测试脚本来测试S3访问。该脚本会连接RGW,创建一个bucket并列出所有的bucket。其中,变量access_key和secret_access的值,来自于创建S3用户命令时,radosgw-admin命令返回的keys->access_key和keys->secret_key。
  执行以下步骤,首先安装python-boto库,该库用于连接S3:

$ apt-get install python-boto

创建并编辑Python脚本:

$ vi s3test.py

import boto.s3.connection

access_key = 'I0PJDPCIYZ665MW88W9R'
secret_key = 'dxaXZ8U90SXydYzyS5ivamEP20hkLSUViiaR+ZDA'
conn = boto.connect_s3(
        aws_access_key_id=access_key,
        aws_secret_access_key=secret_key,
        host='{hostname}', port={port},
        is_secure=False, calling_format=boto.s3.connection.OrdinaryCallingFormat(),
       )

bucket = conn.create_bucket('my-new-bucket')
for bucket in conn.get_all_buckets():
    print "{name} {created}".format(
        name=bucket.name,
        created=bucket.creation_date,
    )

替换{hostname}、{port}为真实环境的hostname(或者ip)和RGW的端口。执行命令进行测试:

$ python s3test.py

输出应该类似如下:

my-new-bucket-2 2017-02-19T04:34:17.530Z

5.4.8 测试Swift接口

Swfit的访问可以通过命令行。首先安装相关软件包:

$ apt-get install python-setuptools
$ apt-get install python-swiftclient

执行下列命令,范文Swift接口:

$ swift -A http://{IP ADDRESS}:{port}/auth/1.0 -U testuser:swift -K '{swift_secret_key}' list

替换{IP ADDRESS}、{port}、{swift_secret_key}等相关参数,其中{swift_secret_key}为创建Swift用户时,radosgw-admin命令返回的swift_keys->secret_key的值。正常的输出应该为:

my-new-bucket

以上是“Ceph部署中RGW如何搭建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!

分享标题:Ceph部署中RGW如何搭建
转载来于:https://www.cdcxhl.com/article48/jdhjep.html

成都网站建设公司_创新互联,为您提供标签优化网站设计品牌网站制作云服务器定制开发微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化