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

今天来玩下Ceph的对象存储,之前一直觉得对象存储对于玩OpenStack的我来说用不到,但随着越来越多的海量文件的需求,不得不促使我们来学习对象存储。所谓活到老学到老,尤其是我们搞IT的,每天都得学习新技术。

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

重点说下RGW部分

安装完集群之后

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

然后创建RGW实例

ceph-deploy rgw create devin-ceph1

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

http://10.0.100.201:7480

你会看到如下内容:

<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>anonymous</ID>
<DisplayName/>
</Owner>
<Buckets/>
</ListAllMyBucketsResult>

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

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

[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服务

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

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 protected]

创建完之后会有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网盘应用。

时间: 2024-10-08 11:32:31

Ceph对象存储安装部署及验证的相关文章

ceph对象存储(rgw)服务、高可用安装配置

ceph对象存储服务.高可用安装配置 简介:    Ceph本质上就是一个rados,利用命令rados就可以访问和使用ceph的对象存储,但作为一个真正产品机的对象存储服务,通常使用的是Restfulapi的方式进行访问和使用.而radosgw其实就是这个作用,安装完radosgw以后,就可以使用api来访问和使用ceph的对象存储服务了.    首先明白一下架构,radosgw其实名副其实,就是rados的一个网关,作用是对外提供对象存储服务.本质上radosgw(其实也是一个命令)和rbd

Ceph对象存储介绍与安装

一:概念介绍 Ceph对象网关是建立在librados之上的对象存储接口,可为应用程序提供通往Ceph存储集群的RESTful网关, Ceph对象存储支持两个接口 1.S3兼容:为对象存储功能提供与Amazon S3 RESTful API的大部分子集兼容的接口2.Swift兼容:为对象存储功能提供与OpenStack Swift Ceph对象存储使用Ceph对象网关守护进程(radosgw),该守护进程是用于与Ceph存储群集进行交互的HTTP服务器,由于它提供与OpenStack Swift

Ceph 对象存储及客户端配置(三)

一.对象存储介绍 作为文件系统的磁盘,操作系统不能直接访问对象存储.相反,它只能通过应用程序级别的API访问.Ceph是一种分布式对象存储系统,通过Ceph对象网关提供对象存储接口,也称为RADOS网关(RGW)接口,它构建在Ceph RADOS层之上. RGW使用librgw (RADOS Gateway Library)和librados,允许应用程序与Ceph对象存储建立连接. RGW为应用程序提供了一个RESTful S3 / swift兼容的API接口,用于在Ceph集群中以对象的形式

基于LAMP php7.1搭建owncloud云盘 与ceph对象存储S3借口整合案例

ownCloud简介:      是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行.     简单来说就是一个基于Php的自建网盘.基本上是私人使用这样,因为直到现在开发版本也没有暴露注册功能.我这里采用基于php7.1的LAMP环境搭建这个owncloud 下一篇将介绍和ceph对象存储整合案例 一.环境准备,这里的owncloud是10版本,所以需要php5.6以上的LAMP环境,否则会

Ceph对象存储RGW对接企业级网盘OwnCloud三步走

上篇文章我们把Ceph对象存储搭建成功了,但是成功了之后我们怎么用呢?下面我们本文就来讲下Ceph对象存储对接企业私有云网盘OwnCloud. OwnCloud分为企业版和社区版,我们只说社区版,在这里我就不多赘述了. 那么Ceph对接OwnCloud分三步走. 第一:安装Ceph配置RGW对象存储 第二:安装OwnCloud 第三:对接 第一步在上个文章里面已经做了,那么第二步是安装OwnCloud,可以看下我之前的文章进行安装. 如何搭建OwnCloud网盘 主要讲下第三步 要点:网盘节点D

Ceph对象存储网关安装配置

引言 基于已部署好的Ceph集群,部署一个网关服务器,进行对象存储服务.操作系统CentOS6.5 CEPH0.94.3其实基于librados可以直接进行访问,但是我看了百度,UCLOUD的对象存储,用户在网页上进行文件的上传.下载时,都通过web服务器间接和存储集群打交道,进行了一层隔离,而不是直接和集群进行通信操作.我得理解是便于访问控制以及隔离. 1.依赖包安装 Ceph rados-gateway依赖Apache和FastCGI, 用户的请求先到web服务器,再走rados-gatew

基于redhat7.3 ceph对象存储集群搭建+owncloud S3接口整合生产实践

一.环境准备 安装redhat7.3虚拟机四台 在四台装好的虚拟机上分别加一块100G的硬盘.如图所示: 3.在每个节点上配置主机名 4.集群配置信息如下 admin-node node1 node2 node3 192.168.42.110 192.168.42.111 192.168.42.112 192.168.42.113 deploy.osd*1 mon*1.osd*1. rgw*1.mds*1 mon*1.osd*1 mon*1.osd*1 5.各节点配置yum源 #需要在每个主机上

ceph 对象存储s3

ceph s3cmd的命令 问题: 1. 使用access_key和secret_key获取的对象url,会缓存在浏览器disk cache中,导致每次第二次访问资源的时候,会报no-cors的错误 2. 浏览器获取数据时,会显示(from disk cache) 针对问题2,调研强缓存 强缓存 强缓存:不会向服务器发送请求,直接从缓存中读取资源,在 chrome 控制台的 Network 选项中可以看到该请求返回 200 的状态码,并且 Size 显示 from disk cache 或 fr

LinuxMint下Docker的安装部署和验证

通过lsb_release命令查看以下我的LinuxMint发行版, 查看以下我的Linux内核版本, Docker要求Linux内核版本必须在要在3.10以上,显然我们的系统是满足的. 1. Docker安装 操作系统默认的apt源有docker包,我们可以直接使用下面的apt-get命令安装docker, $ sudo apt-get install -y docker.io 不过其安装的版本比较老.我们采用下面两种方式进行安装,个人比较推荐第二种,第二种方式安装的是最新的. 1.1 从Do