這篇文章主要介紹“Ceph對象存儲網(wǎng)關(guān)的安裝配置”,在日常操作中,相信很多人在Ceph對象存儲網(wǎng)關(guān)的安裝配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Ceph對象存儲網(wǎng)關(guān)的安裝配置”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司專注于祁門網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供祁門營銷型網(wǎng)站建設(shè),祁門網(wǎng)站制作、祁門網(wǎng)頁設(shè)計(jì)、祁門網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造祁門網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供祁門網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
基于已部署好的Ceph集群,部署一個(gè)網(wǎng)關(guān)服務(wù)器,進(jìn)行對象存儲服務(wù)。操作系統(tǒng)CentOS6.5 CEPH0.94.3其實(shí)基于librados可以直接進(jìn)行訪問,但是我看了百度,UCLOUD的對象存儲,用戶在網(wǎng)頁上進(jìn)行文件的上傳、下載時(shí),都通過web服務(wù)器間接和存儲集群打交道,進(jìn)行了一層隔離,而不是直接和集群進(jìn)行通信操作。我得理解是便于訪問控制以及隔離。
Ceph rados-gateway依賴Apache和FastCGI, 用戶的請求先到web服務(wù)器,再走rados-gateway進(jìn)入集群之中。
sudo yum install httpd Package httpd-2.2.15-47.el6.centos.x86_64 already installed and latest version
sudo vim /etc/httpd/conf/httpd.conf
將ServerName的注釋號去掉,添加上自己網(wǎng)關(guān)服務(wù)器的IP地址
272 # If your host doesn't have a registered DNS name, enter its IP address here. 273 # You will have to access it by its address anyway, and this will make 274 # redirections work in a sensible way. 275 # 276 ServerName 101.67.163.34:80
在配置中增加如下信息,加載mod_proxy_fcgi
<IfModule !proxy_fcgi_module> LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so </IfModule>
此處需注意,需要將該段內(nèi)容加載LoadModule系列的后面,否則會報(bào)如下錯(cuò)誤:
sudo service httpd start Starting httpd: httpd: Syntax error on line 129 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_proxy_fcgi.so into server: /etc/httpd/modules/mod_proxy_fcgi.so: undefined symbol: ap_proxy_release_connection
修改配置中的LISTEN字段,將網(wǎng)關(guān)所在主機(jī)的IP地址添加進(jìn)去
# Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # Listen 101.67.163.34:80 #Listen 80
秘鑰文件生成
sudo yum install mod_ssl openssl openssl genrsa -out ca.key 2048 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
文件目錄放置sudo cp ca.crt /etc/pki/tls/certs
sudo cp ca.key /etc/pki/tls/private/ca.key sudo cp ca.csr /etc/pki/tls/private/ca.csr
配置文件修改/etc/httpd/conf.d/ssl.conf.
SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key
重啟httpd服務(wù)sudo service httpd restart
sudo yum install ceph-radosgw
至此,相關(guān)依賴包安裝完畢
ceph網(wǎng)關(guān)其實(shí)是ceph集群的一個(gè)客戶端,用戶通過這個(gè)網(wǎng)關(guān)間接訪問ceph集群,作為客戶端,它需要準(zhǔn)備如下內(nèi)容:
網(wǎng)關(guān)名稱,此處用gateway稱呼
一個(gè)可以訪問存儲集群的用戶以及對應(yīng)的KEYRING
數(shù)據(jù)資源池,這個(gè)由ceph集群提供
為網(wǎng)關(guān)服務(wù)示例準(zhǔn)備一個(gè)數(shù)據(jù)存放空間
在ceph.conf配置文件中設(shè)置gateway信息
創(chuàng)建gateway keyring,一開始該文件為空
sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring sudo chmod +r /etc/ceph/ceph.client.radosgw.keyring
創(chuàng)建網(wǎng)關(guān)用戶名以及key 此處名字為 client.radosgw.gateway
sudo ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key
為KEYRING添加權(quán)限
sudo ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring
將key添加到集群中
sudo ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/ceph.client.radosgw.keyring
將相關(guān)的KEYRING文件拷貝到rados-gateway所在的主機(jī) /etc/ceph/目錄下
.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
[root@gnop029-ct-zhejiang_wenzhou-16-34 conf]# ceph osd lspools 4 rbd,6 pool-1,7 pool-2,8 .rgw,9 .rgw.root,10 .rgw.control,11 .rgw.gc,12 .rgw.buckets,13 .rgw.buckets.index,14 .log,15 .intent-log,16 .usage,17 .users,18 .users.email,19 .users.swift,20 .users.uid
[client.radosgw.gateway] host=ceph-24 keyring=/etc/ceph/ceph.client.radosgw.keyring rgw socket path=/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock log file=/var/log/radosgw/client.radosgw.gateway.log rgw frontends=fastcgi socket_port=9000 socket_host=0.0.0.0 rgw print continue=false
創(chuàng)建數(shù)據(jù)目錄
sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway 調(diào)整apache運(yùn)行權(quán)限 sudo chown apache:apache /var/run/ceph
調(diào)整日志權(quán)限
sudo chown apache:apache /var/log/radosgw/client.radosgw.gateway.log
啟動網(wǎng)關(guān)服務(wù)sudo /etc/init.d/ceph-radosgw start
一個(gè)配置文件,用于web server和FastCGI之間的交互
sudo vi /etc/httpd/conf.d/rgw.conf
<VirtualHost *:80>
ServerName 101.67.163.34
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/rgw_error.log
CustomLog /var/log/httpd/rgw_access.log combined
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
SetEnv proxy-nokeepalive 1
ProxyPass / fcgi://101.67.163.34:9000/
</VirtualHost>其中標(biāo)紅的地方是要根據(jù)實(shí)際情況填寫
radosgw-admin user create --uid=xuwenping --display-name="ceph xuwenping" --email=xuwenping@d***n.com
{
"user_id": "xuwenping",
"display_name": "ceph xuwenping",
"email": "xuwenping@dnion.com",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "xuwenping",
"access_key": "4J3GD7GJIJKSDCVS1I9T",
"secret_key": "yfmxvzQdWT4EmVDijOFp6oNt4kZ25y9wRVARas4I"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}創(chuàng)建SWIFT類型USER
sudo radosgw-admin subuser create --uid=xuwenping --subuser=xuwenping :swift --access=full
2015-10-10 14:19:19.854951 7f402eadc8a0 0 max_buckets=1000 specified=0
{
"user_id": "xuwenping",
"display_name": "ceph xuwenping",
"email": "xuwenping@dnion.com",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [
{
"id": "xuwenping:swift",
"permissions": "full-control"
}
],
"keys": [
{
"user": "xuwenping",
"access_key": "4J3GD7GJIJKSDCVS1I9T",
"secret_key": "yfmxvzQdWT4EmVDijOFp6oNt4kZ25y9wRVARas4I"
},
{
"user": "xuwenping:swift",
"access_key": "PEIT99BBWMZP31BD6S3I",
"secret_key": ""
}
],
"swift_keys": [
{
"user": "xuwenping:swift",
"secret_key": "qWHPhvUy4md1XSa2PSbcxUyMU5YXodlqxt0ZC2hn"
}
],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}編寫了一段python代碼,用于訪問網(wǎng)關(guān),并創(chuàng)建bucket,并通過list方法羅列出當(dāng)前所有的bucket (官方示例)
依賴庫安裝
sudo yum install python-boto
import boto
import boto.s3.connection
access_key = '4J3GD7GJIJKSDCVS1I9T'
secret_key = 'yfmxvzQdWT4EmVDijOFp6oNt4kZ25y9wRVARas4I'
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host = '101.67.163.34',
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('my-new-bucket')
for bucket in conn.get_all_buckets():
print "{name}\t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)運(yùn)行結(jié)果
[root@gnop029-ct-zhejiang_wenzhou-16-34 ceph-rados]# python s3test.py my-new-bucket 2015-10-10T06:23:48.000Z
至此,Ceph集群的對象存儲網(wǎng)關(guān)安裝設(shè)置完畢
附:
有時(shí)候通過yum安裝軟件是報(bào)如下錯(cuò)誤:
Downloading Packages: warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
在執(zhí)行 安裝命令時(shí)帶上如下參數(shù)即可:
yum install mod_proxy_fcgi --nogpgcheck
到此,關(guān)于“Ceph對象存儲網(wǎng)關(guān)的安裝配置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
本文標(biāo)題:Ceph對象存儲網(wǎng)關(guān)的安裝配置
網(wǎng)頁地址:http://chinadenli.net/article6/gdgpog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、微信小程序、Google、網(wǎng)站導(dǎo)航、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)