在本文中,我们将重点介绍配置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)选项中确认相同的内容。
相关主题 |