電子技術論壇_中國專業的電子工程師學習交流社區-中電網技術論壇's Archiver

look_w 發表于 2019-5-18 10:30

使用ceph的對象存儲(1)

Ceph 對象存儲

Ceph 對象存儲使用 Ceph 對象網關守護進程( radosgw ),它是個與 Ceph 存儲集群交互的 FastCGI 模塊。因為它提供了與 OpenStack Swift 和 Amazon S3 兼容的接口, RADOS 要有它自己的用戶管理。 Ceph 對象網關可與 Ceph FS 客戶端或 Ceph 塊設備客戶端共用一個存儲集群。 S3 和 Swift 接口共用一個通用命名空間,所以你可以用一個接口寫如數據、然后用另一個接口取出數據。

Ceph 對象網關是一個構建在 librados 之上的對象存儲接口,它為應用程序訪問Ceph 存儲集群提供了一個 RESTful 風格的網關 。 Ceph 對象存儲支持 2 種接口:

兼容S3: 提供了對象存儲接口,兼容 亞馬遜S3 RESTful 接口的一個大子集。
兼容Swift: 提供了對象存儲接口,兼容 Openstack Swift 接口的一個大子集。

更多信息
http://docs.ceph.org.cn/radosgw/
安裝Ceph對象網關

Ceph 對象存儲使用 Ceph 對象網關守護進程( radosgw ),所以在使用對象存儲之前,我們需要先安裝配置好對象網關RGW。

Ceph RGW的FastCGI支持多種Web服務器作為前端,例如Nginx、Apache2等。 從Ceph Hammer版本開始,使用ceph-deploy部署時將會默認使用內置的civetweb作為前端,區別在于配置的方式不同,我們這里采用默認civetweb方式安裝配置RGW。

Ceph 從 v0.80 開始,使用內嵌 Civetweb 作為 Web Server,無需額外安裝 web 服務器或配置 FastCGI,其默認端口為 7480。在 admi管理節點目錄通過 ceph-deploy 安裝 Ceph RGW。這里我們還是使用admin節點做測試。

使用nginx方式可參考鏈接 [url]https://blog.frognew.com/2017/02/ceph-rgw.html[/url]。

使用apache方式可參考官網鏈接:
http://docs.ceph.org.cn/radosgw/config/

在規劃的作為網關的服務器中,使用命令運行安裝網關服務

sudo yum install -y ceph-radosgw


創建RGW用戶和keyring

在規劃的作為網關的服務器上創建keyring:

sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring
sudo chmod +r /etc/ceph/ceph.client.radosgw.keyring



生成ceph-radosgw服務對應的用戶和key:

sudo ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key


為用戶添加訪問權限:

sudo ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring


導入keyring到集群配置文件中:

sudo ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/ceph.client.radosgw.keyring



把集群配置文件推送到其他機子

需要兩邊的機子都安裝有scp服務
使用命令

sudo yum install openssh-clients



推送key使用命令

sudo scp /etc/ceph/ceph.client.radosgw.keyring  ceph1:/etc/ceph
sudo ssh ceph1
chmod 777   /etc/ceph/ceph.client.radosgw.keyring
exit
sudo scp /etc/ceph/ceph.client.radosgw.keyring  ceph2:/etc/ceph
sudo ssh ceph2
chmod 777   /etc/ceph/ceph.client.radosgw.keyring
exit
sudo scp /etc/ceph/ceph.client.radosgw.keyring  ceph3:/etc/ceph
sudo ssh ceph3
chmod 777   /etc/ceph/ceph.client.radosgw.keyring
exit
sudo scp /etc/ceph/ceph.client.radosgw.keyring  ceph4:/etc/ceph
sudo ssh ceph4
chmod 777   /etc/ceph/ceph.client.radosgw.keyring
exit



創建資源池

由于RGW要求專門的pool存儲數據,這里手動創建這些Pool,在任意ceph節點上執行:

ceph osd pool create .rgw 128 128
ceph osd pool create .rgw.root 128 128
ceph osd pool create .rgw.control 128 128
ceph osd pool create .rgw.gc 128 128
ceph osd pool create .rgw.buckets 128 128
ceph osd pool create .rgw.buckets.index 128 128
ceph osd pool create .rgw.buckets.extra 128 128
ceph osd pool create .log 128 128
ceph osd pool create .intent-log 128 128
ceph osd pool create .usage 128 128
ceph osd pool create .users 128 128
ceph osd pool create .users.email 128 128
ceph osd pool create .users.swift 128 128
ceph osd pool create .users.uid 128 128



列出pool信息確認全部成功創建:

rados lspools



輸出如下:

.rgw
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.rgw.buckets.extra
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid

頁: [1]

Powered by eccn 7.0.0  © 2001-2009 Eccn Inc.

成茄子视频人app污下载-茄子视频ios下载安装-茄子视频懂你更多qz8app懂你更多