久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Ceph對象存儲的示例分析

172次閱讀
沒有評論

共計 4518 個字符,預計需要花費 12 分鐘才能閱讀完成。

這篇文章主要介紹 Ceph 對象存儲的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

先說說環境部署吧,我之前已經部署好了 ceph 環境就是沒部署網關服務器。所以這里就從部署 gateway 開始

按照官方文檔一步一步來(默認都是用 root 賬戶):

安裝 apache,radosgw,這里就不贅述了,只是在加載 proxy_fcgi_module 的時候,如果按照官網的步驟出現了目錄錯誤相關的問題。所以后面我直接在 /etc/httpd/conf/httpd.conf 文件中直接加載,沒有用判斷相關,不過注意順序要放在對應的 proxy 那一段的最后。

LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so

配置:

一. 創建一個用戶和 keyring,在 ceph 的 admin 機器上(mon)執行以下命令

1. 創建 keyring

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

2. 創建 gateway user(client.radosgw) 并生成 key

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

3.Add capabilities to the key

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

4. 添加生成的 key 到 ceph 集群(這里比較奇怪的是在 ceph.client.admin.keyring 文件中看不到 client.radosgw)

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

5, 拷貝 keyring 到 gateway 服務器(deploy)

scp /etc/ceph/ceph.client.radosgw.keyring deploy:/etc/ceph/ceph.client.radosgw.keyring

二. 創建 gateway 需要的池,這一步我省略了,因為測試就用默認的配置,具體的 pg 該怎么設置還沒有研究。到時候會自動生成

三. 添加網關配置到 ceph.conf,(完了這一步之后,重啟 ceph 集群)

在 admin 節點上的 /etc/ceph/ceph.conf 文件中添加

[client.radosgw.gateway]
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw socket path =  
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

2. 分發新的 ceph.conf 文件到所有機器中

ceph-deploy --overwrite-conf config push

3. 拷貝 ceph.client.admin.keyring 文件到網關服務器

scp /etc/ceph/ceph.client.admin.keyring deploy:/etc/ceph/

四. 啟動 RADOSGW 服務

在網關服務器(deploy)創建目錄

mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway

2. 修改相關權限

chown apache:apache /var/run/ceph
chown apache:apache /var/log/radosgw/client.radosgw.gateway.log

3. 啟動服務

/etc/init.d/ceph-radosgw start

五. 創建網關配置文件(apache 相關)

vi /etc/httpd/conf.d/rgw.conf
VirtualHost *:80 
ServerName localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/rgw_error.log
CustomLog /var/log/httpd/rgw_access.log combined
# LogLevel debug
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
SetEnv proxy-nokeepalive 1
ProxyPass / fcgi://localhost:9000/
 /VirtualHost

之后重啟 apache 服務

sudo service httpd restart

六. 創建 radosgw 用戶

radosgw-admin user create --uid= testuser  --display-name= First User 
radosgw-admin subuser create --uid=testuser --subuser=testuser:swift --access=full
radosgw-admin key create --subuser=testuser:swift --key-type=swift --gen-secret

終端會生成如下的信息,記錄了訪問網關的需要的 key,secret 等相關信息。

{
  user_id :  testuser ,
  display_name :  First User ,
  email :  ,
  suspended : 0,
  max_buckets : 1000,
  auid : 0,
  subusers : [
 {
  id :  testuser:swift ,
  permissions :  full-control 
 }
 ],
  keys : [
 {
  user :  testuser:swift ,
  access_key :  CGZCR5W392RCBMY0DSCY ,
  secret_key :  
 },
 {
  user :  testuser ,
  access_key :  G54W4H94RYL2GGZ96PHF ,
  secret_key :  kyMAW8A9MmysFz7XgUFHuAFtYcNGGQci9DCfNU1V 
 }
 ],
  swift_keys : [
 {
  user :  testuser:swift ,
  secret_key :  5SnFvgi3VGgcuODSSez92ruB1Qx7vc8oL4GLVFas 
 }
 ],
  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 : []}

到此就算配置完成了。接下是測試訪問了:

一,S3 訪問:

安裝 python-boto

yum install python-boto
vi s3test.py
import boto
import boto.s3.connection
access_key =  I0PJDPCIYZ665MW88W9R 
secret_key =  dxaXZ8U90SXydYzyS5ivamEP20hkLSUViiaR+ZDA 
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host =  deploy ,
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,)

注意根據自己的實際情況修改 access_key,secret_key,host

運行后就會產生一個.rgw.buckets.index 池,在池下有一個叫對應 my-new-bucket 的對象(名字不一樣)。可通過以下命令查看

rados lspools
rados ls -p .rgw.buckets.index

2.swift 訪問

安裝:

yum install python-setuptools
easy_install pip
pip install --upgrade setuptools
pip install --upgrade python-swiftclient
swift -A http://10.19.143.116/auth/1.0 -U testuser:swift -K ‘244+fz2gSqoHwR3lYtSbIyomyPHf3i7rgSJrF/IA’ list

注意 ip 要換成網關服務器 ip,后面的 key 也要根據自己的情況換掉。成功之后應該可以看到之前產生的 bucket

my-new-bucket

以上是“Ceph 對象存儲的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計4518字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 新丰县| 新闻| 阜平县| 玛沁县| 泌阳县| 邯郸县| 桑植县| 两当县| 溆浦县| 新丰县| 门源| 明光市| 高雄县| 汤原县| 安远县| 苏尼特左旗| 广东省| 卓尼县| 历史| 石河子市| 松潘县| 老河口市| 徐水县| 隆林| 炎陵县| 平度市| 白朗县| 万宁市| 海伦市| 格尔木市| 南丹县| 鸡泽县| 灵璧县| 苍南县| 竹溪县| 奈曼旗| 德安县| 安溪县| 开化县| 门源| 徐汇区|