Ceph对象存储安装部署及验证
admin
2023-03-18 05:41:08
0

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

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



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


下面简单扒一扒这家公司

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


八卦到此结束,biabiabiabia…..


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


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

 

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

 

重点说下RGW部分

 

安装完集群之后

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

然后创建RGW实例

ceph-deploy rgw create devin-ceph2

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

http://10.0.100.201:7480

你会看到如下内容:



anonymous



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

 

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

[client.rgw.devin-ceph2]
host = devin-ceph2
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服务

ceph-deploy --overwrite-conf config push devin-ceph2 devin-ceph3 devin-ceph4

systemctl restart ceph-radosgw.target

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


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

 

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

 

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

 

首先安装S3cmd

yum –y install s3cmd

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

 

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

 

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

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

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

 

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


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

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

yum install python-boto

然后创建个python脚本

vi s3test.py

内容如下:

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域名

 

完事之后就是执行下脚本

python s3test.py

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

 


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


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

相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...