ceph对象存储rgw安装

本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章。

[root@ceph1 ceph-install]# ceph -v

ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)

一、执行安装前的准备工作

首先进行 环境检查并在你的 Ceph 对象网关节点上执行安装前的准备工作。特别的,你需要禁用部署 Ceph 集群所用用户的 requiretty ,同时设置 SELinux 为 Permissive 以及 Ceph 部署用户使用 sudo 时无需密码。对于 Ceph 对象网关,在生产环境下你需要开起 Civetweb 所使用的端口。Civetweb默认运行在 7480 端口上。

二、安装 Ceph 对象网关

在你的管理节点的工作目录下,给 Ceph 对象网关节点安装Ceph对象所需的软件包。例如:

ceph-deploy install --rgw [ ...]

ceph-common 包是它的一个依赖性,所以 ceph-deploy 也将安装这个包。 ceph 的命令行工具就会为管理员准备好。为了让你的 Ceph 对象网关节点成为管理节点,可以在管理节点的工作目录下执行以下命令:ceph-deploy admin

步骤如下:

1 在你的管理节点的工作目录下,使用命令在 Ceph 对象网关节点上新建一个 Ceph对象网关实例。

ceph-deploy rgw create ceph1

2 在网关服务成功运行后,你可以使用未经授权的请求来访问端口 7480 ,就像这样:

[root@ceph1 ceph-install]# curl http://ceph1:7480

anonymous

备注:ceph1为本地,或者可以解释成IP的主机名或者域名。

查看开启rgw服务

[root@ceph1 ceph-install]# ss -ltpn | grep gw

LISTEN 0 128 *:7480 *:* users:(("radosgw",pid=2457,fd=40))

[root@ceph1 ceph-install]# ps -ef | grep gw

ceph 2457 1 0 12:32 ? 00:00:38 /usr/bin/radosgw -f --cluster ceph --name client.rgw.ceph1 --setuser ceph --setgroup ceph

root 3694 2352 0 16:00 pts/0 00:00:00 grep --color=auto gw

查看rgw自动生成pool

[root@ceph1 ceph-install]# ceph df

GLOBAL:

SIZE AVAIL RAW USED %RAW USED

2.93TiB 2.92TiB 6.05GiB 0.20

POOLS:

NAME ID USED %USED MAX AVAIL OBJECTS

.rgw.root 1 1.09KiB 0 948GiB 4

default.rgw.control 2 0B 0 948GiB 8

default.rgw.meta 3 849B 0 948GiB 5

default.rgw.log 4 0B 0 948GiB 175

default.rgw.buckets.index 5 0B 0 948GiB 1

三 使用网关

1 为了使用 REST 接口,首先需要为S3接口创建一个初始 Ceph 对象网关用户。然后,为 Swift 接口创建一个子用户。然后你需要验证创建的用户是否能够访问网关。

为 S3 访问创建 RADOSGW 用户

一个``radosgw`` 用户需要被新建并被分配权限。命令 man radosgw-admin 会提供该命令的额外信息。

为了新建用户,在 gateway host 上执行下面的命令:

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

建立如下:

radosgw-admin user create --uid="wangjinxiong" --display-name="wangjinxiong"

{

"user_id": "wangjinxiong",

"display_name": "wangjinxiong",

"email": "",

"suspended": 0,

"max_buckets": 1000,

"auid": 0,

"subusers": [],

"keys": [

{

"user": "wangjinxiong",

"access_key": "NJFWJMCDV4IX966BWYHR",

"secret_key": "WWPGCA3s4hk2Frd9GdOS78Pbz2olceDlLUxOura0"

}

],

"swift_keys": [],

"caps": [],

"op_mask": "read, write, delete",

"default_placement": "",

"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"

}

2 新建一个 Swift 用户

如果你想要使用这种方式访问集群,你需要新建一个 Swift 子用户。创建 Swift 用户包括两个步骤。第一步是创建用户。第二步是创建 secret key。

在``gateway host`` 上执行喜爱按的步骤:

新建 Swift 用户:

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

步骤如下:

# radosgw-admin subuser create --uid=wangjinxiong --subuser=wangjinxiong:swift --access=full

{

"user_id": "wangjinxiong",

"display_name": "wangjinxiong",

"email": "",

"suspended": 0,

"max_buckets": 1000,

"auid": 0,

"subusers": [

{

"id": "wangjinxiong:swift",

"permissions": "full-control"

}

],

"keys": [

{

"user": "wangjinxiong",

"access_key": "NJFWJMCDV4IX966BWYHR",

"secret_key": "WWPGCA3s4hk2Frd9GdOS78Pbz2olceDlLUxOura0"

}

],

"swift_keys": [

{

"user": "wangjinxiong:swift",

"secret_key": "UoyOcMgRSzzIUheXHx4oUf4By3cXfwomhskJzSPk"

}

],

"caps": [],

"op_mask": "read, write, delete",

"default_placement": "",

"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"

}

新建 secret key:

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

步骤如下:

[root@ceph1 ceph-install]# radosgw-admin key create --subuser=wangjinxiong:swift --key-type=swift --gen-secret

{

"user_id": "wangjinxiong",

"display_name": "wangjinxiong",

"email": "",

"suspended": 0,

"max_buckets": 1000,

"auid": 0,

"subusers": [

{

"id": "wangjinxiong:swift",

"permissions": "full-control"

}

],

"keys": [

{

"user": "wangjinxiong",

"access_key": "NJFWJMCDV4IX966BWYHR",

"secret_key": "WWPGCA3s4hk2Frd9GdOS78Pbz2olceDlLUxOura0"

}

],

"swift_keys": [

{

"user": "wangjinxiong:swift",

"secret_key": "V4jLCpnztAmiiwIo9fdPAQcpTbRozM2L1wXOQMOW"

}

],

"caps": [],

"op_mask": "read, write, delete",

"default_placement": "",

"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"

}

四 访问验证

1 测试 swift 访问

Swift 访问的验证则可以使用``swift`` 的命令行客户端。可以通过命令 man swift 获取更多命令行选项的更多信息。

执行下面的命令安装 swift 客户端,

sudo yum install python-setuptools sudo easy_install pip sudo pip install --upgrade setuptools sudo pip install --upgrade python-swiftclient

步骤如下:

# yum install python-setuptools

# easy_install pip

# pip install --upgrade setuptools

# pip install --upgrade python-swiftclient

执行下面的命令验证 swift 访问:

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

使用网关服务器的外网 IP 地址替换其中的 {IP ADDRESS} ,使用新建 swift 用户时执行的命令 radosgw-admin key create 的输出替换其中的 {swift_secret_key} 。使用你的 Civetweb 所使用的端口替换其中 {port} ,比如默认是 7480 。如果你不替换这个端口,它的默认值是 80.

举例如下:

[root@localhost ~]# swift -A http://192.168.3.232:7480/auth/1.0 -U wangjinxiong:swift -K 'V4jLCpnztAmiiwIo9fdPAQcpTbRozM2L1wXOQMOW' list

wangjinxiong

查看容器里面的文件

[root@localhost ~]# swift -A http://192.168.3.232:7480/auth/1.0 -U wangjinxiong:swift -K 'V4jLCpnztAmiiwIo9fdPAQcpTbRozM2L1wXOQMOW' list wangjinxiong

CentOS-7-x86_64-Minimal-1804.iso

环球都会广场光缆建设图.jpg

2 使用S3 windows客户端软件 Gladinet下载

软件下载地址:https://pan.baidu.com/s/1-CZ1m48uAtWuAtIh3fD63A 提取码:5crs

操作如下:

打开软件,点击attach cloud storage

ceph对象存储rgw安装_第1张图片

在storage server选择:Amazon S3 Compatible storage

ceph对象存储rgw安装_第2张图片

接着点击下一步

ceph对象存储rgw安装_第3张图片

输入一下信息,点击下一步完成。

ceph对象存储rgw安装_第4张图片

备注:以上地址为ceph rgw的地址。

我的电脑会出现以下图标:

ceph对象存储rgw安装_第5张图片

接着可以跟操作网络盘一样,随意上传,下载,删除文件。

ceph对象存储rgw安装_第6张图片

你可能感兴趣的:(ceph,运维,分布式)