IT袋

当前位置:主页 > 经验教程 > 系统教程 >

Ceph分布式存储系统实战操作演示

Ceph分布式存储系统实战操作演示(2)

时间:2023-09-23 17:35:12 来源:IT袋 作者:苏晓敏
导读:Ceph分布式存储系统实战操作演示,1、查看ceph集群中有多少个pool rados lspools# 同 ceph osd pool ls 输出结果一致 2、显示整个系统使用率 rados df 3、创建一个pool ceph osd pool create test 4、创建一个对

Ceph分布式存储系统实战操作演示

Ceph分布式存储系统实战操作演示

1、查看ceph集群中有多少个pool

rados lspools
# 同  ceph osd pool ls 输出结果一致

2、显示整个系统使用率

rados df

3、创建一个pool

ceph osd pool create test

4、创建一个对象object

rados create test-object -p test

5、查看对象文件

rados -p test ls

6、删除一个对象

rados rm test-object -p test

7、通过api接口使用 Ceph 存储存储

为了使用 Ceph SGW REST 接口, 我们需要为 S3 接口初始化一个 Ceph 对象网关用户. 然后为 Swif接口新建一个子用户,最后就可以通过创建的用户访问对象网关验证了。

官方文档:https://docs.ceph.com/en/latest/api/#ceph-restful-api

这里使用radosgw-admin,radosgw-admin是 RADOS 网关用户管理工具,可用于创建和修改用户。

【1】创建 S3 网关用户

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

info

{
    "user_id": "rgwuser",
    "display_name": "This is first rgw test user",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "subusers": [],
    "keys": [
        {
            "user": "rgwuser",
            "access_key": "48AIAPCYK7S4X9P72VOW",
            "secret_key": "oC5qKL0BMMzUJHAS76rQAwIoJh4s6NwTnLklnQYX"
        }
    ],
    "swift_keys": [],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "default_storage_class": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "temp_url_keys": [],
    "type": "rgw",
    "mfa_ids": []
}

Ceph分布式存储系统实战操作演示

【2】测试访问 S3 接口

#参照官方文档,我们需要编写一个 Python 测试脚本,该脚本将会连接 radosgw,然后新建一个新的 bucket 再列出所有的 buckets。脚本变量 aws_access_key_id 和 aws_secret_access_key 的值就是上边返回值中的 access_key 和 secret_key。
#首先,我们需要安装 python-boto 包,用于测试连接 S3。:
yum install python-boto -y
# 然后,编写 python 测试脚本。
# cat s3.py
#!/usr/bin/python
import boto
import boto.s3.connection
access_key = '48AIAPCYK7S4X9P72VOW'
secret_key = 'oC5qKL0BMMzUJHAS76rQAwIoJh4s6NwTnLklnQYX'
conn = boto.connect_s3(
    aws_access_key_id = access_key,
    aws_secret_access_key = secret_key,
    host = 'local-168-182-130', port=80,
    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,
)

【温馨提示】这里使用了python-boto 包,使用认证信息连接 S3,然后创建了一个 my-first-s3-bucket 的 bucket,最后列出所有已创建的 bucket,打印名称和创建时间。

Ceph分布式存储系统实战操作演示

【3】创建 Swift 用户

#要通过 Swift 访问对象网关,需要 Swift 用户,我们创建subuser作为子用户。
radosgw-admin subuser create --uid=rgwuser --subuser=rgwuser:swift --access=full

info

{
    "user_id": "rgwuser",
    "display_name": "This is first rgw test user",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "subusers": [
        {
            "id": "rgwuser:swift",
            "permissions": "full-control"
        }
    ],
    "keys": [
        {
            "user": "rgwuser",
            "access_key": "48AIAPCYK7S4X9P72VOW",
            "secret_key": "oC5qKL0BMMzUJHAS76rQAwIoJh4s6NwTnLklnQYX"
        }
    ],
    "swift_keys": [
        {
            "user": "rgwuser:swift",
            "secret_key": "6bgDOAsosiD28M0eE8U1N5sZeGyrhqB1ca3uDtI2"
        }
    ],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "default_storage_class": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "temp_url_keys": [],
    "type": "rgw",
    "mfa_ids": []
}

【4】创建密钥

radosgw-admin key create --subuser=rgwuser:swift --key-type=swift --gen-secret
#注意:返回的 Json 值中,我们要记住swift_keys中的secret_key 因为下边我们测试访问 Swift 接口时需要使用。secret_key以这条命令为准

info

{
    "user_id": "rgwuser",
    "display_name": "This is first rgw test user",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "subusers": [
        {
            "id": "rgwuser:swift",
            "permissions": "full-control"
        }
    ],
    "keys": [
        {
            "user": "rgwuser",
            "access_key": "48AIAPCYK7S4X9P72VOW",
            "secret_key": "oC5qKL0BMMzUJHAS76rQAwIoJh4s6NwTnLklnQYX"
        }
    ],
    "swift_keys": [
        {
            "user": "rgwuser:swift",
            "secret_key": "AVThl3FGiVQW3VepkQl4Wsoyq9lbPlLlpKhXLhtR"
        }
    ],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "default_storage_class": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "temp_url_keys": [],
    "type": "rgw",
    "mfa_ids": []
}

【5】测试访问 Swift 接口

#注意,以下命令需要python环境和可用的pip服务。
yum install python-pip -y
pip install --upgrade python-swiftclient
#测试
swift -A http://192.168.182.130/auth/1.0 -U rgwuser:swift -K 'AVThl3FGiVQW3VepkQl4Wsoyq9lbPlLlpKhXLhtR' list

Ceph分布式存储系统实战操作演示

【5】S3相关操作

# 1、删除S3用户
radosgw-admin  user rm --uid=rgwuser
# 2、权限调整,允许rgwuser读写users信息:
radosgw-admin caps add --uid=rgwuser --caps="users=*"
# 3、允许admin读写所有的usage信息
radosgw-admin caps add --uid=rgwuser --caps="usage=read,write"
# 4、删除swift子用户
radosgw-admin subuser rm  --subuser=rgwuser:swift
# 5、列出当前系统下所有的bucket信息
radosgw-admin bucket list
# 6、查看具体某个BUCKET属性
radosgw-admin bucket stats --bucket=my-first-s3-bucket

一般是通过api接口使用对象存储,这里只是演示了一个非常简单的示例。

以上就是IT袋网带来的Ceph分布式存储系统实战操作演示的经验介绍,您知道和解决您袋问题了吗?

相关阅读

  • 错误代码0x0000052e 出现错误代码0xt000000e解决教程

    错误代码0x0000052e 出现错误代码0xt000000e解决教程

    本文核心导读:出现错误代码0xt000000e解决教程的电脑小知识,关于 出现错误代码0xt000000e解决教程,接下来IT袋小编就来介绍。 更新了win10系统之后许多的小伙伴都不知道出现错误代码0xt00000

  • 有过滤系统的鱼缸多久换一次水合适

    有过滤系统的鱼缸多久换一次水合适

    一篇关于有过滤系统的鱼缸多久换一次水合适方面的经验,接下来IT袋网小编为大家介绍。 对于养鱼爱好者来说,鱼缸过滤系统可以说是一个必备的设备。它可以帮助去除鱼缸中的废弃物和有

  • msdn我告诉你怎么下载 msdn我告诉你怎么下载系统

    msdn我告诉你怎么下载 msdn我告诉你怎么下载系统

    小编为你介绍msdn我告诉你怎么下载方面的介绍,关于msdn我告诉你怎么下载 msdn我告诉你怎么下载系统,下面IT袋为您详细介绍 msdn我告诉你是一款非常高人气的系统安装软件,有着非常好的口碑

  • win11系统什么时候更新 win11升级后数据是否还在详情

    win11系统什么时候更新 win11升级后数据是否还在详情

    跟大家聊一聊win11升级后数据是否还在详情的话题,关于win11升级后数据是否还在详情,接下来小编为网友介绍。 许多IT袋网友在电脑中存放了很多重要的文件,因此对于升级win11系统有顾虑,