重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天来玩下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你会看到如下内容:
由于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 key和secret key,没玩过ASW相关产品的童鞋可能会说,这俩key是干嘛的。用行话来说呢简称AK和SK。所谓key嘛就是用来认证和验证的。我们来看看如何生成。
你要用工具连接RGW那么首先得有用户吧,那来创建个用户
radosgw-admin user create —uid=devin —display-name=“Devin” —email=devin@example.com创建完之后会有AK和SK的信息,记得复制下待会还要用。
那么复制完之后在进行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, )这里要注意修改的地方就是AK和SK还有host域名
完事之后就是执行下脚本
python s3test.py脚本大概意思就是说导入boto s3模块然后借用AK、SK来进行验证创建一个名为devin-bucket的bucket,创建完成之后并打印出来结果。
OK,本文Ceph对象存储到此就讲述结束了下篇文章来讲述如何对接OwnCloud网盘应用。
【本文由“Ceph中国社区”发布,2017年8月15日】
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。