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 <gateway-node1> [<gateway-node2> ...]
ceph-common 包是它的一個依賴性,所以 ceph-deploy 也將安裝這個包。 ceph 的命令行工具就會為管理員准備好。為了讓你的 Ceph 對象網關節點成為管理節點,可以在管理節點的工作目錄下執行以下命令:ceph-deploy admin <node-name>
步驟如下:
1 在你的管理節點的工作目錄下,使用命令在 Ceph 對象網關節點上新建一個 Ceph對象網關實例。
ceph-deploy rgw create ceph1
2 在網關服務成功運行后,你可以使用未經授權的請求來訪問端口 7480 ,就像這樣:
[root@ceph1 ceph-install]# curl http://ceph1:7480
<?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID><DisplayName></DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>
備注: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
在storage server選擇:Amazon S3 Compatible storage
 
接着點擊下一步
輸入一下信息,點擊下一步完成。
備注:以上地址為ceph rgw的地址。
我的電腦會出現以下圖標:
接着可以跟操作網絡盤一樣,隨意上傳,下載,刪除文件。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM