云网牛站
所在位置:首页 > Linux云服务器 > 为Ceph对象网关存储配置AWS S3 CLI:使用AWS CLI访问Ceph对象存储

为Ceph对象网关存储配置AWS S3 CLI:使用AWS CLI访问Ceph对象存储

2020-02-15 09:57:19作者:吴弈达稿源:云网牛站

在本文中,我们将重点介绍配置Amazon S3 CLI以与Ceph对象存储集群一起使用,这将对自动个人备份以及将您的服务器数据和配置推送到Ceph对象存储很有帮助。Ceph对象网关是在librados之上构建的对象存储接口,旨在为应用程序提供通往Ceph存储集群的RESTful网关,Ceph对象网关守护进程(radosgw)是用于与Ceph存储群集进行交互的HTTP服务器,它提供与OpenStack Swift和Amazon S3兼容的接口,并具有嵌入式用户管理。Ceph对象存储支持两个接口:第一个与S3兼容,为对象存储功能提供与Amazon S3 RESTful API的大部分子集兼容的接口,第二个兼容Swift,通过与OpenStack Swift API的大部分子集兼容的接口,为对象存储功能提供支持。

 

步骤一、安装AWS CLI

我们需要在将要访问Ceph Object Gateway的服务器或机器上安装AWS CLI,参考在Linux系统上安装和使用AWS CLI的方法

验证安装:

$ aws --version

aws-cli/1.17.10 Python/2.7.5 Linux/3.10.0-1062.el7.x86_64 botocore/1.14.10

 

步骤二、创建对象存储用户以进行S3访问

应该在Ceph对象存储后端创建用户,这将生成S3 API凭证,我们将配置AWS S3 CLI使用。

在可以访问群集进行管理的Ceph群集节点之一中运行命令:

sudo radosgw-admin user create --uid="computingforgeeks" --display-name="Computingforgeeks S3User"

注:

computingforgeeks是要创建的用户的名称。

Computingforgeeks S3User是用户的显示名称。

这是命令的示例输出:

{

"user_id": "computingforgeeks",

"display_name": "Computingforgeeks S3User",

"email": "",

"suspended": 0,

"max_buckets": 1000,

"subusers": [],

"keys": [

{

"user": "computingforgeeks",

"access_key": "J18YW5BHJIVF69Y57IIT",

"secret_key": "JthVuEmluDqMuAZyc1oA0abaquc1U0WfemmzL5XS"

}

],

"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": []

}

记下access_key和secret_key,即:

"user": "computingforgeeks"

"access_key": "J18YW5BHJIVF69Y57IIT"

"secret_key": "JthVuEmluDqMuAZyc1oA0abaquc1U0WfemmzL5XS"

 

步骤三、使用AWS CLI访问Ceph对象存储

在开始使用AWS CLI工具与AWS服务进行交互之前,您需要通过运行aws configure命令对其进行配置:

$ aws configure --profile=ceph

AWS Access Key ID [None]: J18YW5BHJIVF69Y57IIT

AWS Secret Access Key [None]: JthVuEmluDqMuAZyc1oA0abaquc1U0WfemmzL5XS

Default region name [None]:

Default output format [None]: json

粘贴您在上一步中复制的访问密钥和秘密密钥,凭据被写入文件~/.aws/credentials,即:

$ cat ~/.aws/credentials

[ceph]

aws_access_key_id = J18YW5BHJIVF69Y57IIT

aws_secret_access_key = JthVuEmluDqMuAZyc1oA0abaquc1U0WfemmzL5XS

配置文件位于~/.aws/config中:

$ cat ~/.aws/config

[profile ceph]

output = json

您需要配置Rados Gateway节点之一的IP地址或等效的DNS名称,使用以下命令获取rgw服务器的列表:

$ sudo ceph -s | grep rgw

rgw: 3 daemons active (ceph-rgw-01, ceph-rgw-02, ceph-rgw-03)

在我的设置中,我有三个rgw服务器,我将使用其中之一-ceph-rgw-01,其URL为http://172.21.148.53:

$ aws --profile=ceph --endpoint=http://172.21.148.53 s3 mb s3://test

该命令将创建一个名为test的存储桶,可以使用radosgw-admin命令确认创建:

$ sudo radosgw-admin bucket list

[

"jkmutai-bucket",

"test"

]

您可以列出使用以下命令创建的存储桶:

$ aws --profile=ceph --endpoint=http://172.21.148.53 s3 ls

2020-02-13 15:17:13 test

将测试文件复制到存储桶中:

$ aws --profile=ceph --endpoint=http://172.21.148.53  s3 cp release.asc s3://test/

upload: ./release.asc to s3://test/release.asc

确认文件是否已上传:

$ aws --profile=ceph --endpoint=http://172.21.148.53 s3 ls s3://test/

2020-02-13 16:04:17       1645 release.asc

您可以从Ceph仪表板的“对象网关”>“存储桶”(Object Gateway > Buckets)选项中确认相同的内容。

为Ceph对象网关存储配置AWS S3 CLI:使用AWS CLI访问Ceph对象存储

 

相关主题

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

精选文章
热门文章