Ceph对象存储安装部署及验证

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

今天来玩下Ceph的对象存储,在开始之前呢,先扯会闲篇,我觉得生活中处处是非结构化数据,最简单的举例,下面两个行业,一个是直播,一个是摄影。

wKioL1lt4DKxx2vuAABjvi0yNDo339.png-wh_50



现在直播行业这么火,不夸张的说甚至每天都会产生一个直播软件。不单单是视频流媒体行业,还有现在非常流行的云摄影,什么是云摄影呢?相信经常参会的朋友应该知道,有些现场拍的照片立马就可以发出来,很是方便,相信以后肯定会火起来。有些细心的朋友应该会看到每张照片都会有水印标示就是V.Photos,这是个什么鬼?


下面简单扒一扒这家公司

V.Photos是一家云摄影服务平台,成立于2015年,主要致力于为B端商业用户提供智能便捷的商业摄影和照片同步归档管理的专业级方案。


八卦到此结束,biabiabiabia…..


除了,流媒体、照片摄影行业之外,还有医疗、银行、卫星等行业,都将产生很多很多的非结构化数据。所以看到了对象存储有如此之大的潜力,促使我们不得不学习下对象存储。所谓活到老学到老,尤其是我们搞IT的,每天都得学习新技术。


下面我们来看看Ceph对象存储如何部署

 

首先呢就是部署一套Ceph环境,这里就不再赘述了,网上好多安装文档,都比较清晰了。

 

重点说下RGW部分

 

安装完集群之后

1
ceph-deploy  install  --rgw devin-ceph1     #因为是测试所以只用一个rgw

然后创建RGW实例

1
ceph-deploy rgw create devin-ceph1

那么这时候就OK了,成功后会提示你访问7480端口

1
http: //10 .0.100.201:7480

你会看到如下内容:

1
2
3
4
5
6
7
<ListAllMyBucketsResult xmlns= "http://s3.amazonaws.com/doc/2006-03-01/" >
<Owner>
<ID>anonymous< /ID >
<DisplayName/>
< /Owner >
<Buckets/>
< /ListAllMyBucketsResult >

由于RGW默认采用的是Civetweb,默认端口是7480那有人会说了,那我可不可以修改RGW端口啊。答案肯定是可以的。

 

修改Ceph配置文件进行修改。下面看看我的配置文件

1
2
3
4
5
6
7
[client.rgw.devin-ceph1]
host = devin-ceph1
rgw_enable_ops_log = true
rgw_frontends = "civetweb port=80"
rgw dns name =  s3.devin.com
rgw socket path = /var/run/ceph-client .radosgw.sock
keyring = /etc/ceph/ceph .client.radosgw.keyring

可以看到我的端口设置成80了。

 

修改完配置文件之后同步到个节点然后重启rgw服务

1
2
3
ceph-deploy --overwrite-conf config push devin-ceph1 devin-ceph2 devin-ceph3
 
systemctl restart ceph-radosgw.target

那么到此RGW安装完成了,那么RGW怎么使用呢?或者说怎么证明我的RGW是好的?


可能会有人说:你笨啊,刚才都能访问页面了,就证明成功了呗。

 

可能又会有人说:光访问个页面管P用啊,要能用才行。

 

别急,下面我们来说下两种方式来玩,一种是S3cmd方式

 

首先安装S3cmd

1
yum –y  install  s3cmd

安装完之后运行s3cmd --configure进行初始化配置(说白了就是生成个配置文件)

 

然后会提示你输入access keysecret key,没玩过ASW相关产品的童鞋可能会说,这俩key是干嘛的。用行话来说呢简称AKSK。所谓key嘛就是用来认证和验证的。我们来看看如何生成。

 

你要用工具连接RGW那么首先得有用户吧,那来创建个用户

1
radosgw-admin user create —uid=devin —display-name=“Devin” —email=devin@example.com

创建完之后会有AKSK的信息,记得复制下待会还要用。

 

那么复制完之后在进行s3cmd –configure配置


配置完之后就可以开始玩了。附赠s3cmd常用命令

1
2
3
4
5
6
7
s3cmd  ls   #查看可用的bucket
s3cmd mb s3: //devin_bucket   #创建bucket,且bucket名字是唯一的,不能重复
s3cmd  ls  s3: //devin_bucket   #列出bucket内容
  
s3cmd put devin.txt s3: //devin_bucket   #上传本地file到指定的bucket
s3cmd put --acl-public devin.txt s3: //devin_bucket   #上传本地file到指定的bucket,并开启file的匿名访问权限
s3cmd get s3: //devin_bucket/devin .txt   #下载file到本地

可能在玩的时候会遇到问题,那么怎么排错呢?

 

可以在s3cmd的命令后面加上-d 也就是开启debug然后排错。

 

遇到最多的问题就是解析问题。那么如何解决解析的问题呢?

 

可以查看下这篇文章《教你如何配置轻量级DNS》

 

然后还有一种方式,就是python-boto方式

 

首先安装python-boto

1
yum  install  python-boto

然后创建个python脚本

1
vi  s3test.py

内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import  boto.s3.connection
  
access_key  =  'Y2S78LKZ1ROD0MGIDUBC'
secret_key  =  'LyGCgoydLI2MGA7C0PtynyfBa3aKODNYQ0sHDMtP'
conn  =  boto.connect_s3(
        aws_access_key_id = access_key,
        aws_secret_access_key = secret_key,
         host = 's3.devin.com' , port = 80 ,
        is_secure = False , calling_format = boto.s3.connection.OrdinaryCallingFormat(),
        )
  
bucket  =  conn.create_bucket( 'devin-bucket' )
for  bucket  in  conn.get_all_buckets():
     print "{name} {created}" . format (
        name = bucket.name,
        created = bucket.creation_date,
)

这里要注意修改的地方就是AKSK还有host域名

 

完事之后就是执行下脚本

1
python s3test.py

脚本大概意思就是说导入boto s3模块然后借用AKSK来进行验证创建一个名为devin-bucketbucket,创建完成之后并打印出来结果。

 


OK,本文Ceph对象存储到此就讲述结束了下篇文章来讲述如何对接OwnCloud网盘应用。


本文由“Ceph中国社区”发布,2017年8月15日


本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1945048


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
11月前
|
存储 对象存储
使用Ceph对象存储的Amazon S3接口(基于nautilus版本)
使用Ceph对象存储的Amazon S3接口(基于nautilus版本)
374 0
|
11月前
|
存储 文件存储 对象存储
带你读《存储漫谈:Ceph原理与实践》——3.2.1 对象存储和 S3
带你读《存储漫谈:Ceph原理与实践》——3.2.1 对象存储和 S3
|
11月前
|
存储 前端开发 对象存储
带你读《存储漫谈:Ceph原理与实践》——3.2.2 RGW 架构
带你读《存储漫谈:Ceph原理与实践》——3.2.2 RGW 架构
|
11月前
|
存储 前端开发 Apache
带你读《存储漫谈:Ceph原理与实践》——3.2.3 I/O 路径
带你读《存储漫谈:Ceph原理与实践》——3.2.3 I/O 路径
|
11月前
|
存储 算法 数据安全/隐私保护
带你读《存储漫谈:Ceph原理与实践》——3.2.4 元数据 / 数据布局
带你读《存储漫谈:Ceph原理与实践》——3.2.4 元数据 / 数据布局
|
11月前
|
存储 负载均衡 数据中心
带你读《存储漫谈:Ceph原理与实践》——3.2.5 元数据 / 数据同步
带你读《存储漫谈:Ceph原理与实践》——3.2.5 元数据 / 数据同步
|
11月前
|
存储 API 对象存储
带你读《存储漫谈:Ceph原理与实践》——3.2.6 未来展望
带你读《存储漫谈:Ceph原理与实践》——3.2.6 未来展望
|
11月前
|
存储 缓存 算法
Ceph对象存储的基本概念,使用以及优点
Ceph对象存储的基本概念,使用以及优点
248 0
|
11月前
|
XML 对象存储 Swift
Ceph对象存储的Amazon S3接口的使用(重点介绍分片上传接口)(基于nautilus版本)
Ceph对象存储的Amazon S3接口的使用(重点介绍分片上传接口)(基于nautilus版本)
525 0
|
11月前
|
存储 算法 关系型数据库
Ceph对象存储的基本概念、使用以及优点(基于nautilus版本)
Ceph对象存储的基本概念、使用以及优点(基于nautilus版本)
525 0