ceph物件儲存RADOSGW安裝與使用

本文章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

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

<?xml version=“1。0” encoding=“UTF-8”?>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物件儲存RADOSGW安裝與使用

在storage server選擇:Amazon S3 Compatible storage

ceph物件儲存RADOSGW安裝與使用

接著點選下一步

ceph物件儲存RADOSGW安裝與使用

輸入一下資訊,點選下一步完成。

ceph物件儲存RADOSGW安裝與使用

備註:以上地址為ceph rgw的地址。

我的電腦會出現以下圖示:

ceph物件儲存RADOSGW安裝與使用

接著可以跟操作網路盤一樣,隨意上傳,下載,刪除檔案。

ceph物件儲存RADOSGW安裝與使用